phpbar.de logo

Mailinglisten-Archive

[php] phplib + session-id

[php] phplib + session-id

Heiko Schubert h.schubert_(at)_ghost.tmt.de
Thu, 08 Mar 2001 11:28:49 GMT


Hallo Mitleser,

ich arbeite gerade an einem framelosen (!) Webprojekt auf einem 
LAMP-Server (php 4.04pl1, Apache 1.3.17, MySQL 3.23.33) und habe eine 
einfache HTML-Seite mit ein paar Zeilen text. Die Session-Verwaltung 
übernimmt die phplib bei mir:

--- Auszug-Begin aus index.php ---
require("../include/ENV.INC");
$env_local  = new env;
require($env_local->PHPLIB_DIR  . "prepend.php3");
require($env_local->PHPLIB_DIR  . "template.inc");

page_open( array( "sess" => "Example_Session"));
...
page_close();

--- Auszug-Ende aus index.php ---

Wenn ich nun öfter (ganz schnell hintereinander) bei meinem Browser auf 
"Reload" klicke (mehrmals hintereinander), dann erscheint:

Database error: Invalid SQL: insert into active_sessions ( sid, name, 
val, changed ) values ('33e031e3ea294c007e140c7ad45d4bda', 'sid', 
'c2lkOiR0aGlzLT5pbiA9ICcnOyAkdGhpcy0+cHQgPSBhcnJheSgpOyA=', '20010308122153')
MySQL Error: 1062 (Duplicate entry 'sid-33e031e3ea294c007e140c7ad45d4bda' 
for key 1)
Session halted.

Nach einem weiterem Reload ist wieder alles "ok".

Das Problem kenne ich, wenn man mit Frames arbeitet und bei allen Frames 
ein close_page() einfügt. Bei meinem Bsp. Muß ich aber die Session der 
Seite speichern, da es sich um die "Eingangsseite" des ganzen Projektes 
handelt. 

Aus Verzweiflung habe ich vor dem "page_close()" ein "sleep(1)" 
eingefügt. Damit trat der Fehler seltener ein, aber er kam nach einer 
Weile trotzdem.

Hat jemand eine Idee, woran das liegen könnte?

Danke schon einmal!

Bye,
	Heiko


php::bar PHP Wiki   -   Listenarchive