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