[GastForen Programmierung/Entwicklung PHP und MySQL Probleme mit Script und session_start();

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Probleme mit Script und session_start();

oBi
Beiträge gesamt: 15

26. Mai 2005, 19:09
Beitrag # 1 von 8
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,

ich stehe vor einem Rätsel.
Ich habe ein funktionierendes Script. Nun habe ich für eine Language-Weiterleitung ein >>session_start();<< reingeschrieben.
Nun muckt das Script, indem eine Weiterverarbeitung und Ausgabe von "SID" be- bzw. verhindert wird.

Hat jemand ein Erklärung bzw. Lösung für mich?

Mit vielen Grüssen
oBi
X

Probleme mit Script und session_start();

Intermedia
Beiträge gesamt: 1287

26. Mai 2005, 19:38
Beitrag # 2 von 8
Beitrag ID: #168022
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

was bedeutet "Nun muckt das Script" ? Hast du eine Fehlermeldung?
Wenn ja wie lautet diese? Was macht das Script? Leider ist die Glaskugel heute sehr dunkel.;-)

Eine gute Fehlerbeschreibung erspart das Rätselraten.

Eventuell noch nen Tip, sessen_start() sollte am Anfang des Scripts stehen.

Gruß Sven


als Antwort auf: [#168018]

Probleme mit Script und session_start();

oBi
Beiträge gesamt: 15

26. Mai 2005, 20:12
Beitrag # 3 von 8
Beitrag ID: #168029
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

Also die session_start(); steht am Anfang des Scripts in einem require '../languages/functions.inc.php');.
Habe aber rausgefunden, das der Fehler durch Session_start(); ausgelöst wird.
Ich habe error_reporting(E_ALL); drinn, zeigt aber keinen error an.
Zum Fehler im Script.
Es ist ein multiligual Linkscript, welches auch normal funktionierte, bis ich mir sagte "warum im Script die Sprache erst wählen, wenn ich es auch direkt durch meine Seite vorgeben kann".
Gesagt, getan (alle anderen Seiten funkionieren in 4 Sprachen ohne Probleme) aber das Script verarbeitet "SID" nicht mehr und folglich ist das sichtbare Ergebnis im Browser anders als vorher. Es wird z.B. kein Link-Titel mehr angezeigt, obwohl er unter der entsprechenden "SID" in der Datenbank steht.
Wenn es von Nutzen sein sollte, kann ich das Script auch noch posten. Laß es mich wissen.

Viele Grüsse
oBi


als Antwort auf: [#168018]

Probleme mit Script und session_start();

Intermedia
Beiträge gesamt: 1287

26. Mai 2005, 20:26
Beitrag # 4 von 8
Beitrag ID: #168031
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo oBi,

glaub ich steh auf dem Schlauch und versteh noch nicht richtig was du meinst, kann an mir liegen. ;-)

Wäre nicht schlecht wenn du einen Link hast um sich das Verhalten mal anzusehen und auch etwas Quellcode.

Könnte es eventuell sein, das die Sprachwahl aus der DB anhand der SID irgendwie zu einem Zeitpunkt erfolgt an dem die Seite schon generiert wurde?

Gruß Sven


als Antwort auf: [#168018]

Probleme mit Script und session_start();

oBi
Beiträge gesamt: 15

26. Mai 2005, 20:58
Beitrag # 5 von 8
Beitrag ID: #168037
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

nein, nein es geht ja auch mit der Sprachwahl über Sessions aber es erscheint nicht mehr alles bzw. es wird nicht mehr alles verarbeitet.
Für mich nicht nachvollziehbar.
Ich habe leider noch keinen Link, da ich noch lokal arbeite.
Hier das Script aus dem Linkprogramm, index.php
<?php

//=====================================
// LINKER Category Engine
//=====================================
// Filename : index.php
// Path : Main directory
// last update : 2002/09/01
// Desc : View Main Page
//=====================================

//=====================================
// File include part
//=====================================
error_reporting(E_ALL);
require('../languages/functions.inc.php'); ## nur für "sprache" => Zeile 32-33

echo "Session lang1: ".$_SESSION['lang']."<br>";
echo sprache;

$time1 = microtime();
include ("./function/base_info.php");
include ("./function/main_func.php");
include ("./function/$Sdb_type.php");
include ("./function/template.php");
include ("./function/userfield_info.php");
//include ("../1ht/index_de-dateien/layer.php");
include ("lang/de/m_common.php");
include ("lang/de/u_common.php");

$lan_dir = $_COOKIE[cook_lan];
if (".sprache." && file_exists("./lang/".sprache."/u_common.php"))
include ("./lang/".sprache."/u_common.php");
else include ("./lang/en/u_common.php");
/* ALTE VERSION
$lan_dir = $HTTP_COOKIE_VARS[cook_lan];
if ($lan_dir && file_exists("./$lan_dir/u_common.php"))
include ("./$lan_dir/u_common.php");
else include ("./$Slang/u_common.php");
*/

//=====================================
// Prepare progrom
//=====================================

isset($_GET) ? extract($_GET) : extract($HTTP_GET_VARS) ;
isset($_POST) ? extract($_POST) : extract($HTTP_POST_VARS) ;

$db = new DB_Sql($Sdb_host,$Sdb_user,$Sdb_pass,$Sselect_db);
$tpl = new Stemplate($Stemplate);

//=====================================

if (!$cat) {
$tpl->define(array( mpage => "main.html", mcol => "main_col.html" ));
$cat = 0;
$cols = $Smain_col;
}
else {
$tpl->define(array( mpage => "submain.html", mcol => "sub_col.html" ));
$cols = $Ssub_col;
}

$tpl->dyn_define ( "tdcol", "mpage" );


//=====================================
// Get this Category config Data
//=====================================

$db->query("update {$Stb_name}_CAT set count = count+1 where sid = '$cat'");
$db->query("select * from {$Stb_name}_CAT where sid = '$cat'");

if (!$db->numrow) errmsg($l_error_nocat);
$cat_row = $db->nrecord();

//=====================================
// Main page head
//=====================================

$col_width = ceil(100 / $cols) . "%";

$tpl->assign(array(
DOMAIN => $Sdomain,
TEMPLATE => $Stemplate,
CHARSET => $Scharset,
BGCOLOR => $Sbgcolor,
MWIDTH => $Smain_width,
ALIGN => $Salign,
SID => $cat,
CWIDTH => $col_width
));

//====================================
// Sub category data
//====================================

// parent = $cat
$db->query("select * from {$Stb_name}_CAT where parent = '$cat' order by title");
$total_row = $db->numrow;

for ($i = 0; $i <$total_row ;$i++) {
$row[$i] = $db->nrecord();
$temp_ar[$row[$i]["0"]] = $i;
}

// pparent = $cat
if ($cat_row[c_sub] == 2)
{
$db->query("select sid,parent,title,relate from {$Stb_name}_CAT where pparent='$cat' order by parent,title");
while ($prow = $db->nrecord())
{
$tsid = $temp_ar[$prow["parent"]];
if ($row[$tsid]["subnum"] < $Smain_sub_num)
{
$row[$tsid]["subnum"]++;
$cat_sid = ($prow[relate]) ? $prow["relate"] : $prow["sid"];
$subsm[$tsid][] = "<a href='index.php?cat=$cat_sid'><font color=blue class=smallfont>$prow[title]</font></a>";
}
}
}

//=====================================
// Category Loop
//=====================================

$now_time = time(); // now timestamp for directory new mark

for ($col=0; $col<$cols ; $col++)
{

$prev_col = ceil(count($row) * ($col / $cols ));
$next_col = ceil(count($row) * (($col+1) / $cols ));

for ($i = $prev_col; $i < $next_col; $i++ )
{

// for directory new mark

unset($dmark,$interval);
if ($row[$i][bingo1])
{
$interval = ceil( ($now_time - $row[$i][bingo1])/86400 );

if ($interval <=1) $dmark="<img src='$Sdomain/$Stemplate/image/new_1.gif'>";
elseif ($interval<=3) $dmark="<img src='$Sdomain/$Stemplate/image/new_3.gif'>";
elseif ($interval<=7) $dmark="<img src='$Sdomain/$Stemplate/image/new_7.gif'>";
else $dmark = "";
}

// end directory new makr

switch ($cat_row[c_sub])
{
case 2 : $sm = @implode(",&nbsp;" ,$subsm[$i]);break;
case 1 : $sm = $row[$i]["descript"]; break;
default: $sm = "";
}

if ($Smain_sub_num < $row[$i]["sub_cat"] && $cat_row["c_sub"]==2)
$sm .="...";

if ($row[$i][relate]>0 ) {
$row[$i]["title"] = "".stripslashes($row[$i]["title"]);
$row[$i]["0"] = $row[$i]["relate"];
}


$tpl->assign( array(
CAT => $row[$i]["0"],
TITLE => stripslashes($row[$i]["title"]),
DNEW => $dmark,
SUBCAT => $row[$i]["sub_cat"],
SUBLINK => $row[$i]["sub_link"],
SM => $sm
));

$tpl->parse("DROW",".mcol");
}


$tpl->parse("TDCOL", ".tdcol");
$tpl->clear("DROW");
}

//====================================
// LINK output part
//====================================

if ($cat) {

$tpl->define( array( link_row => "link.html"));

$db->query("select count(*) as TotalLink from {$Stb_name}_LINK where parent='$cat'");
if ($db->numrow) $Trow = $db->nrecord();

$TotalLink = $Trow["TotalLink"];
$page_num = ceil($TotalLink / $Spagecut);


$page = ($page) ? $page : 1;
$vstart = $Spagecut * ($page-1);

if ($Sorderpick) $pick_add = "c_pick desc,";
if (!$u_sort) $u_sort = $Ssort;
if (!$u_order) $u_order = $Sorder;

if ($Sordernew)
{
$newlink_time = time() - ( 7 * 86400 );
$new_add1 = ", uptime >= $newlink_time as newlink ";
$new_add2 = " newlink desc,";
}

$db->query("select sid,parent,pathtxt,title,url,name,email,scont,lcont,uptime,passwd,"
."c_new,c_pick,count,visit,comment,upfile,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,"
."user1,user2,user3,user4,user5 $new_add1 from {$Stb_name}_LINK where "
."parent = '$cat' order by $new_add2 $pick_add $u_sort $u_order limit $vstart,$Spagecut") ;


//============================
// Make Directbar button
//============================

$page_start = floor(($page-1)/ $Sdirectcut ) * $Sdirectcut ;
$page_end = $page_start + $Sdirectcut;

for ($p=$page_start+1 ; ($p <= $page_end) && ($p <= $page_num) ; $p++ )
{

if ($page == $p) $direct_bar .= "[<b>$p</b>]";
else $direct_bar .= "[<a href='index.php?page=$p&cat=$cat&u_sort=$u_sort&u_order=$u_order'><font class=midsmall>$p</font></a>]";
}


if ($TotalLink > $vstart+$Spagecut ) { // Next button
$next_p=$page+1;
$next_list = "<a href='index.php?page=$next_p&cat=$cat&u_sort=$u_sort&u_order=$u_order'><img src='$Stemplate/image/next.gif' border=0 valign=middle></a>&nbsp;\n";
}


if ($page>1) { // Prev button
$prev_p=$page-1;
$prev_list="<a href='index.php?page=$prev_p&cat=$cat&u_sort=$u_sort&u_order=$u_order'><img src='$Stemplate/image/prev.gif' border=0 valign=middle></a>&nbsp;\n";
}

//============================
// Link assign and make
//============================

link_assign();
while ($row = $db->nrecord()) {
$link .= view_link($row);
}

} // if ($cat)

//============================
// end if ($cat)
//============================

else
{
$db->query("select count(*) as total from {$Stb_name}_CAT");
$t_catrow = $db->nrecord();
$db->query("select count(*) as total from {$Stb_name}_LINK");
$t_linkrow = $db->nrecord();
}
//====================================
// Output Main page
//====================================


show_menu($cat);
show_here($cat_row["path"],$cat_row["pathtxt"]);

// search bar
$cat_count = $cat_row["count"];
$cat_path = $cat_row["path"];


if ($cat) {
$total_cat = $total_row;
$total_link = $TotalLink;
show_search(1,1);
show_linkbar();

$tpl->assign(array (
LINK => $link,
PREV => $prev_list,
DIRECT => $direct_bar,
NEXT => $next_list ));
$pagetitle = $cat_row["title"];

}

else
{
$total_cat = $t_catrow["total"];
$total_link = $t_linkrow["total"];
show_search(1);
if ($Stkword) show_tkword(5);
// if ($Sfmaillist) show_mailling();
$pagetitle = $Ssite_name;
}

if (!$cat_row["meta_key"]) $cat_row["meta_key"] = $cat_row["title"] ;

$tpl->assign(array(
SNAME => $pagetitle,
CAT_HEADER => $cat_row["header"],
CAT_FOOTER => $cat_row["footer"],
META => $cat_row["meta_key"],
PAGE_HEADER => implode("",file("$Stemplate/header.html")),
PAGE_FOOTER => implode("",file("$Stemplate/footer_2.php"))
));

// index Language
$tpl->assign(array(
L_NOKWORD => $l_error_nokword,
L_NOADDR => $l_noaddr
));

$tpl->parse("MAIN","mpage");
$tpl->simprint("MAIN");

//====================================
// Eastablish Time
//====================================

if ($Stime == "Y") check_time($time1);

?>

Die functions.inc.php sieht folgendermaßen aus:
<?php
//========================
// functions.inc.php
//========================
session_start();
if ($_GET["change"] == 1) $_SESSION["lang"] = (isset($_GET["lang"]))?$_GET["lang"]:"de";
switch ($_SESSION["lang"]) {
case "de": include("languages/de/langDE.inc.php");
break;
case "en": include("languages/en/langEN.inc.php");
break;
case "es": include("languages/es/langES.inc.php");
break;
case "fr": include("languages/fr/langFR.inc.php");
break;
default: include("languages/de/langDE.inc.php");
break;
}
?>

Das Problem müsste sich meiner Meinung nach im oberen Bereich der index.php bis Zeile 40 abspielen. Aber vielleicht hast Du ja auch eine andere Idee.

Bis dann
oBi


als Antwort auf: [#168018]
(Dieser Beitrag wurde von oBi am 26. Mai 2005, 21:01 geändert)

Probleme mit Script und session_start();

Intermedia
Beiträge gesamt: 1287

26. Mai 2005, 21:32
Beitrag # 6 von 8
Beitrag ID: #168043
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi oBi,

was mich etwas irritiert ist das hier:

$lan_dir = $_COOKIE[cook_lan];
if (".sprache." && file_exists("./lang/".sprache."/u_common.php"))
include ("./lang/".sprache."/u_common.php");
else include ("./lang/en/u_common.php");

ich kann mit ".sprache." nicht viel anfangen.

Ist wohl besser wenn ich es mir morgen nochmal in Ruhe ansehe , hab etwas Zeit.

Du kannst mich auch gerne anrufen Tel. ist im Profil oder über Skype: sven_ibg

Schönen Abend noch.

Gruß Sven


als Antwort auf: [#168018]

Probleme mit Script und session_start();

oBi
Beiträge gesamt: 15

26. Mai 2005, 21:54
Beitrag # 7 von 8
Beitrag ID: #168046
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

"sprache" habe ich in den einzelnen Languages-Dateien als Konstante definiert, z.B. für deutsch ==> define("sprache","de");

Bis morgen
oBi


als Antwort auf: [#168018]

Probleme mit Script und session_start();

oBi
Beiträge gesamt: 15

26. Mai 2005, 22:31
Beitrag # 8 von 8
Beitrag ID: #168050
Bewertung:
(1961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
P.S.
Ich werde Dir 2 Sreenshots mit einwenig Erklärung an "s.boettcher@intermedia-bg.de" schicken. Dann wird hoffentlich mehr Licht ins Dunkle kommen.

Mit freundlichen Grüssen aus Frankreich
oBi (eigentlich Erwin)


als Antwort auf: [#168018]
X