auf anhieb folgendes ..
du verwendest variablen in deinen funktionen die du nicht übergeben / nicht mit global hereingeholt hast .. sollstest machen sonst gibts null-werte
session_save_path("./sessions");
solltest du nicht machen .. dadurch wären die sessions alle nach aussen hin lesbar ( .. ausser du schützt es durch .htaccess)
auf seite0.php verwendest du alles variablen die in der session gespeichert sind (nehm ich zumindest mal an)
.. sollte also unbedingt $_SESSION[] her !
das gleiche mit den formulardaten .. die erreichst du alle über $_POST[]
woher nimmst du $resAbgeschickt ? prüfe hier lieber auf $_POST['next1/next2'] (wenn der abschicken button da ist, ist das formular abgeschickt)
brauche unbedingt Hilfe bei Sessions :-(
Einklappen
X
-
hab was vergessen
Hallo!
VIelen Dank für die Antwort...
hab wohl vergessen zu sagen, dass ich dazu nicht die URL verwenden
*darf* :-?
Einen Kommentar schreiben:
-
ja, je nach fall
PHP-Code:header("location: yourfile.php?param=value¶m2=value2...")
beebob
Einen Kommentar schreiben:
-
brauche unbedingt Hilfe bei Sessions :-(
Ich verzweifle an dem Problem Sessions :-(
Kann mir bitte jemand weiterhelfen?
der Code sieht vielleicht etwas lang aus ... ich hoffe mir kann trotzdem
jemand weiterhelfen?
Kurze Beschreibung:
es sind 3 Seite: seite0.php, seite1.php und seite2.php
Ziel ist es, dass
- alle Variablen richtig mitgeschleift werden auf den nachfolgenden Seiten
- die Eingabe überprüft wird; und nur wenn sie richtig ist (hier also nicht leer ist) soll auf die nächste Seite weitergesprungen werden
Ist die Eingabe falsch, so wird zur ursprünglichen Seite zurückgesprungen
Bsp:
-auf Seite0.php wird eine Eingabe im Feld Fld1 gemacht, aber in Fld2 nicht
-Es wird beim Abschicken zu Seite1.php gesprungen
-dort wird festgestellt, dass ein Feld nicht ausgefüllt wurde und es soll nun wieder auf Seite0.php gesprungen werden, damit der User dieses Feld auch ausfüllt
Vielen, vielen Dank für eure Hilfe :-?
PHP-Code:// seite0.php -------------------------------------------------------------------------------------------------------------------------
<?php
session_save_path("./sessions");
session_start();
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="seite1.php">
<?php
if ($resFld1 == 1) {
echo "Bitte geben Sie einen korrekten Wert für das Fld1-Feld ein.";
}
?>
<p>seite0.php</p>
<p>Fld1:
<input type="text" name="Fld1" value="<?php echo $Fld1; ?>">
</p>
<?php
if ($resFld2 == 1) {
echo "Bitte geben Sie einen korrekten Wert für das Fld2-Feld ein.";
}
?>
<p>Fld2:
<input type="text" name="Fld2" value="<?php echo $Fld2; ?>">
</p>
<p>
<input type="submit" name="next1" value="Abschicken">
</p>
</form>
</body>
</html>
// seite1.php -------------------------------------------------------------------------------------------------------------------------
<?php
session_save_path("./sessions");
session_start();
function generateFld3Options () {
echo ' <select name="Fld3"> ';
for ($i=1;$i<=10;$i++) {
echo " <option> Option ".$i." </option> ";
}
} // function
function send_setted_sessions () {
$_SESSION['Fld1'] = $Fld1;
$_SESSION['Fld2'] = $Fld2;
$_SESSION['resFld1'] = $resFld1;
$_SESSION['resFld2'] = $resFld2;
header ("Location: seite0.php");
} // function
$doIt = false;
if ($resAbgeschickt==true) {$doIt = true;}
if (isset ($next1)) {$doIt = true;}
if ($doIt==true) {
$resFld2 = empty($Fld2);
$resFld1 = empty($Fld1);
if (!(($resFld1 == 0) && ($resFld2 == 0))) {
// es wurde nicht alles richtig ausgefuellt
if (!($resAbgeschickt==true)) {
send_setted_sessions();
}
}
} else {
echo "ILLEGAL CALL on seite1.php!<br>";
echo "next2: ".$next2;
exit();
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="seite2.php">
<p>seite1.php</p>
<p>Fld1:
<input type="text" name="Fld1" value="<?php echo $Fld1; ?>">
</p>
<p>Fld2:
<input type="text" name="Fld2" value="<?php echo $Fld2; ?>">
</p>
<p>Fld3:
<?php
generateFld3Options();
?>
</p>
<p>
<input type="submit" name="next2" value="Abschicken">
</p>
</form>
</body>
</html>
// seite2.php -------------------------------------------------------------------------------------------------------------------------
<?php
//ob_start();
session_save_path("./sessions");
session_start();
function send_setted_sessions () {
$_SESSION['Fld1'] = $Fld1;
$_SESSION['Fld2'] = $Fld2;
$_SESSION['Fld3'] = $Fld3;
$_SESSION['resFld1'] = $resFld1;
$_SESSION['resFld2'] = $resFld2;
$_SESSION['resFld3'] = $resFld3;
$_SESSION['resAbgeschickt'] = $resAbgeschickt;
header ("Location: seite1.php");
} // function
if (isset ($next2)) {
$resFld2 = empty($Fld2);
$resFld1 = empty($Fld1);
$resFld3 = empty($Fld3);
$resAbgeschickt = true;
if ($Fld1 == "now") {
echo "auf seite2.php: "."<br>";
echo "Fld2: ".$Fld2."<br>";
echo "next2: ".$next2."<br>";
exit;
}
if (!(($resFld1 == 0) && ($resFld2 == 0) && ($resFld3 == 0))) {
// es wurde nicht alles richtig ausgefuellt
send_setted_sessions();
}
} else {
echo "ILLEGAL CALL on seite2.php! <br>";
exit();
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="seite2.php">
<p>seite2.php</p>
<p>Fld1:
<input type="text" name="Fld1" value="<?php echo $Fld1; ?>">
</p>
<p>Fld2:
<input type="text" name="Fld2" value="<?php echo $Fld2; ?>">
</p>
<p>Fld3:
<?php
echo $Fld3;
?>
</p>
<p> </p>
<p> </p>
</form>
</body>
</html>Stichworte: -
Einen Kommentar schreiben: