PHP und Sessions ?!?
ulimativ
- php
0 ralf0 ulimativ
0 cyquino.com
Ich "experimentiere gerade das erste Mal mit PHP Sessions herum.
Jetzt habe ich folgendes Szenario.
ICh will ein Formular bauen, das über mehrere Seiten geht und es soll möglich sein vor und zurückzublättern.
Deswegen starte ich eine Session und registriere ein Array
<?php
@session_start();
//Session wird gestartet
session_register("required[]",);
?>
<html>
<head>
<title>Title here!</title>
</head>
<body>
<form name="form1" method="post" action="seite2.php">
Ort: <input type="text" name="required[Ort]" value="<?echo($required[Ort]);?>">
So weit so gut....
Auf der seite2.php
<?php @session_start();?>
...
<body>
<?php echo ($required[Ort]); ?>
<a href="seite1.php">test</a>
funktioniert auch alles. so weit so gut, bloss jetzt setze ich den Link zurück auf seite1.php sollte der vorher ausgefüllte Wert erscheinen, weil ja s.o. value="<?echo($required[Ort]);?>"
aber das Formularfeld bleibt leer :-(
Hat jemand ne Idee, wo mein (Denk-)Fehler liegt???
Uli
(sorry für die komplizierte Beschreibung)
hi,
setze session_register("required[]"); an den anfang von seite2.
Dein Formular übergibt mir Post den wert von required[Ort] an seite 2, und da solltest du es dann auch registrieren.
Gruss
ralf
Sorry Jungs, aber ich denke ihr liegt da falsch....
session_register() merkt eine Variable vor (registriert sie), die dann am Ende des Scriptes in die Session(datei) geschrieben wird, und die zwischen dem Registrieren und dem Scriptende verschiedene Werte haben kann. Es wird jeweils der letzte Wert dieser Variablen in den Sessiondaten gespeichert. D.h. Die Werte der registrierten Variablen sind frühestens, nach der Beendigung des aktuellen Scriptes und beim nächsten session_start() wieder verfügbar.
(Quell koentopp)
Na ja vielleicht ist es auch ein Webserver spezifisches Problem... mal die PHP..ini checken :-)
Uli
es liegt am Array...
hat jemand von Euch schon Erfahrungen mit Sessions und Arrays? ICh habe jetzt auch versucht session_register("required[Ort]"); aber das klappt auch nicht. Nur mit Ort funktioniert es.
HAt jemand von Euch Erfahrung mit Sessions und Arrays???
Uli
ich hab die antwort...
session_register(array("required"));
So funzt es :-)
Ach ja und das Komma hast Du hoffentlich mittlerweile auch schon rausgeworfen?
session_register("required[]",);
Guck' nochmal bei Koehntopp. Da steht garantiert auch, dass für Arrays kein [] im session_register-Befehl nötig ist.
Weiterhin sollte es heißen $required["Ort"], da es sich um ein assoziatives Array handelt.
Gruss, Stefan
Hallo!
Zunächst einmal müssen Variablen "nach" der Wertezuweisung in der Session registriert werden, heisst Variablen werden per session_register() mit ihrem aktuellen (in diesem Fall nichts) Wert in der Session hinterlegt.
Hier liegt aber ein ganz anderer Fall vor: Du musst bei einer Formularübergabe nicht mit Sessions arbeiten. Die eingetragenen Werte stehen auf der in action="" eingetragenen Seite als ganz normale Variablen (also $xyz) bereit.
Ich denke Du brauchst auf der 1. Seite kein session_register(), erst auf der 2. bevor du den Link zurück setzt.
Grüsse
cyquino.com