Einzelnen Beitrag anzeigen
  #8  
Alt 28.02.2002, 23:42:32
septicus septicus ist offline
Anfänger
 
Registriert seit: Feb 2002
Beiträge: 31
Hi Thomas,

ich versuche mal mein spärliches Wissen in Sachen PHP und Session zur Lösung deiner Probleme beizutragen:

---------------------------------------------------------------------------
Ich habe nun das Script ein wenig verändert. Ich habe auf der zweiten Seite folgendes gemacht....

(...)
if(!session_is_registered('zaehler')){
session_register('zaehler');
$zaehler = 33; //anstatt 1 => 33
(...)

Ich interpretiere es so, dass wenn session_register('zaehler') noch nicht ausgeführt wurde, wird es auf der zweiten Seite noch gemacht. Nun habe ich es aber auf der ersten Seite schon ausgeführt. Wieso setzt er mir es auf der zweiten Seite nochmals neu? (Ich erhalte bei der Ausgabe von zaehler den Wert 33).
-------------------------------------------------------------

Wenn ich das richtig mitbekommen habe, fehlt in dem Skript die Auflösung der Variablen mittels session_decode(), um an den bereits gespeicherten Wert zu kommen:

Datei 2:
<?PHP

session_start();

if(!session_is_registered('zaehler')){
session_register('zaehler');
$zaehler = 1;
}
else{
session_decode();
$zaehler++;
}

echo 'Aktueller Counterstand: ' . $zaehler;
?>
<br><br>
<a href="index.php?<?=SID?>">Seite 1</a> ?>

##################################

Antwort auf nächsten Beitrag:

Zitat:
-------------------------------------------------------------------------
Immer wenn ich etwas mit Session mache, erscheint eine Fehlermeldung, die ich mir nicht erklären kann. Ich denke, es muss an meine Einstellungen liegen, denn ich habe das obige Script 1:1 übernommen.

Die Fehlermeldung:
Warning: open(/tmpsess_9b598a19093714a5c3d47518d6818f3f, O_RDWR) failed: m (2) in c:foxservwwwindex.php on line 3
--------------------------------------------------------------------------
Zitat Ende

Der in deiner php.ini angegebene Pfad zur Speicherung der Sessions auf dem Server existiert nicht.
Schau mal in deiner php.ini nach, welcher Pfad hinter

session.save_path =

steht. Dieser muss existieren, und die Rechte müssen auf Schreibrechte gesetzt sein.

##################################

Antwort auf nächsten Beitrag:

Zitat:
--------------------------------------------------------------------------
Ich habe mal dein Script ausprobiert. Nun ist mir aufgefallen, dass in der URL die SessionID zwei mal vorkommt (ich habe Cookie ausgeschaltet, um es so zu testen).

Hier mein Link:

http://localhost/seite2.php?PHPSESSI...d47518d6818f3f

Ist das normal?
--------------------------------------------------------------------------
Zitat Ende

wenn das in der php.ini so eingestellt ist, dann werden lokale Links auf den Seiten (also links ohne "http://" am Anfang) automatisch mit der SessionID ergänzt. Wenn du nun das noch von Hand anhängst (bspw: seite2?SID ) dann schreibt der Server da erstens die von dir von Hand erzwungene SessionID rein und dann hängt er sie noch automatisch an.

Abhilfe: einfach nicht von Hand anhängen :-)

######################

Ich hoffe, meine Antworten sind nicht ganz falsch. Ich hatte in den letzten Tagen die gleichen Probs und hab sie durch dieses Forum und aufmerksamem Studium verschiedener Quellen lösen können und mir wie oben beschrieben erklären können.

Good Luck!
Mit Zitat antworten