Mailinglisten-Archive |
Hallo Ulf,
erst einmal vielen Dank für Deinen Tip. Du hast mich da auf eine Idee
gebracht ...
> > Habe ich in meinem "Warenkorb" zu viele Einträge, bekomme ich einen
> >
> > Parse error: parse error in session.inc on line 392
> [...]
> > 389: while ( $this->db->next_record() ) {
> > 390: # printf("Eval: %s<br>\n", $this->db->f("val"));
> > 391: eval("; ".stripslashes($this->db->f("val")));
> > 392: }
> Was auch immer Du da (als Sessiondaten) aus der Datenbank rausholst,
es
> kann nicht direkt in einem eval() verarbeitet werden. eval() spuckt
den
> parse error. Nimm mal das Kommentarzeichen vor dem printf() raus und
> beobachte welchen Wert Du im eval() verarbeiten willst.
Ich habe die Sache mal weiter analysiert und bin auf folgendes
gestoßen (Spalte "var" aus der Tabelle active_sessions):
...
= array(); $GLOBALS[\"hacart\"]->item[\"14\"][\"art\"] = \"51461\";
$GLOBALS[\"hacart\"]->item[\"14\"][\"num\"] = \"1\";
$GLOBALS[\"hacart\"]->item[\"14\"][\"sess\"] =
\"f51449551545e62acd4b3b1e05cc5986\";
$GLOBALS[\"hacart\"]->item[\"15\"]
= array(); $GLOBALS[\"hacart\"]->item[\"15\"][\"art\"] = \"44528\";
$GLOBALS[\"hacart\"]->item[\"15\"][\"num\"] = \"1\";
$GLOBALS[\"hacart\"]->item[\"15\"][\"sess\"] =
\"f51449551545e62acd4b3b1e05cc5986\";
$GLOBALS[\"hacart\"]->item[\"16\"]
= array(); $GLOBALS[\"hacart\"]->item[\"16\"][\"art\"] = \"17322\";
$GLOBALS[\"hacart\"]->item[\"16\"][\"num\"] = \"1\";
$GLOBALS[\"hacart\"]->item[\"16\"][\"sess\"] =
\"f51449551545e62acd4b3b1e05cc5986\";
$GLOBALS[\"hacart\"]->item[\"17\"]
= array(); $GLOBALS[\"hacart\"]->item[\"17\"][\"art\"] = \"34065\";
$GLOBALS[\"hacart\"]->item[\"17\"
man beachte die letzte Zeile: so endet der Eintrag. Es ist also schon
logisch, daß eval() hier einen "parse error" bringt. Nun stellt sich
die Frage, wie es zu diesem Fehlerhaften Eintrag kommt.
Kann es an der Datenbank Adabas liegen? Oder hat jemand eine andere
Idee?
Bye,
Heiko
php::bar PHP Wiki - Listenarchive