Hallo,
ich habe ein kleines Problem mit meinem Onlineshop und den Sessions.
Ich habe hier bei mir einen Apacheserver mit PHP 4.1.2 laufen und auf der Kiste von 1und1 läuft 4.2.3.
Da ich mein komplettes Script bis jetz nur Offline getestet hatte habe ich die letzen Tage verzweifelt versucht das Problem zu lösen:
Ich habe ein kleines Beispielscript geschrieben was den "Fehler" zeigt:
Unter 4.1.2 funktioniert dieses Script Problemlos.
Ich gebe bei Schritt 1 einen Wert an Schritt 2 weiter.
Wenn ich nun bei Schritt 2 einen Wert angebe und zu Schritt 1 zurück gehe sind beide $_SESSION Variablen noch mit den richtigen Werten gefüllt.
Bei 4.2.3 allerdings behält die $_SESSION sich nur einen Schritt lang den Wert.
Anzuschauen unter www.rainbow-werbung.net/admin/steptest.php
Wenn ich die session konfiguration über phpinfo() vergleiche kann ich auch keine Unterschiede erkennen.
Oder mache ich bei der $_SESSION-Variablendeklaration etwas verkehrt?
mfg
Patrick Hau
ich habe ein kleines Problem mit meinem Onlineshop und den Sessions.
Ich habe hier bei mir einen Apacheserver mit PHP 4.1.2 laufen und auf der Kiste von 1und1 läuft 4.2.3.
Da ich mein komplettes Script bis jetz nur Offline getestet hatte habe ich die letzen Tage verzweifelt versucht das Problem zu lösen:
Ich habe ein kleines Beispielscript geschrieben was den "Fehler" zeigt:
PHP:
<?
session_start();
if(!isset($_GET['step'])) $_GET['step'] = 1;
function fillSession($_POST) {
global $_SESSION;
foreach($_POST as $index=>$value) {
echo "\$_SESSION[".$index."] = ".$value."<br>";
$_SESSION[$index] = $value;
}
}
fillSession($_POST);
if(isset($_POST['submitbackstep2'])) $_GET['step'] = 1;
switch($_GET['step']) {
case "1";
echo "<br>";
echo $_SESSION['step1text']." Schritt 1<br>";
echo $_SESSION['step2text']." Schritt 2<br>";
?>
<form action="<? echo $_SERVER['PHP_SELF'];?>?step=2" method="post">
<input type="text" name="step1text">
<input type="submit" name="submitstep1" value="send">
</form>
<?
break;
case "2";
echo $_SESSION['step1text']." Schritt 1<br>";
echo $_SESSION['step2text']." Schritt 2<br>";
?>
<form action="<? echo $_SERVER['PHP_SELF'];?>?step=3" method="post">
<input type="text" name="step2text">
<input type="submit" name="submitbackstep2" value="back">
</form>
<?
break;
}
?>
Unter 4.1.2 funktioniert dieses Script Problemlos.
Ich gebe bei Schritt 1 einen Wert an Schritt 2 weiter.
Wenn ich nun bei Schritt 2 einen Wert angebe und zu Schritt 1 zurück gehe sind beide $_SESSION Variablen noch mit den richtigen Werten gefüllt.
Bei 4.2.3 allerdings behält die $_SESSION sich nur einen Schritt lang den Wert.
Anzuschauen unter www.rainbow-werbung.net/admin/steptest.php
Wenn ich die session konfiguration über phpinfo() vergleiche kann ich auch keine Unterschiede erkennen.
Oder mache ich bei der $_SESSION-Variablendeklaration etwas verkehrt?
mfg
Patrick Hau
Zuletzt bearbeitet: