Hallo zusammen.
Ich verzweifle hier gerade an einem Formular indem Variablen über Session übergeben werden sollen.
Zum Aufbau der Seite ist nur schnell gesagt, dass immer wieder eine index.php aufgerufen wird. Die einzelnen Inhalte, Seiten werden immer mit Hilfe einer Variable in der Seite aufgerufen.
Jetzt aber zu dem Problemformular. Das Formular erstreckt sich über mehrere Seiten und es werden auch mitunter sehr viele Variablen übergeben. Also wollte ich gerne mit Session arbeiten. (Ist mein erstes mal und ich muss sagen, es ist gar nicht so einfach).
Eine extra Datei, welche in der index.php included ist, ruft jedes mal die Session mit session_start() auf.
Das Formular ist komplett mit php generiert. Es prüft die Eingabe des Users. Sind alle Eingaben in Ordnung werden von der selben Datei alle Werte angezeigt und der User kann entweder ins nächste Formular wechseln oder die Eingabe nochmal ändern. Da liegt auch das Problem. Bei der Übergabe ins nächste Formular habe ich keine Probleme. Die kommen einwandfrei an. Aber wenn der User auf Eingabe ändern klickt, wird nichts mehr angezeigt. Ich habe nur leider keine Ahnung, wieso?
Kann mir das vielleicht mal jemand verraten und sich mein Wirrwarformular anschauen. Das wäre super gierig.
Es sieht so aus, als ob ich ein Verständnisproblem habe. Bitte helt mir!
Ich habe schon am Anfang der Datei session_unregister für beide Variablen benutzt, aber leider hat dies keinen Effekt.
Hier das Formular:
Gruß
erik
Ich verzweifle hier gerade an einem Formular indem Variablen über Session übergeben werden sollen.
Zum Aufbau der Seite ist nur schnell gesagt, dass immer wieder eine index.php aufgerufen wird. Die einzelnen Inhalte, Seiten werden immer mit Hilfe einer Variable in der Seite aufgerufen.
Jetzt aber zu dem Problemformular. Das Formular erstreckt sich über mehrere Seiten und es werden auch mitunter sehr viele Variablen übergeben. Also wollte ich gerne mit Session arbeiten. (Ist mein erstes mal und ich muss sagen, es ist gar nicht so einfach).
Eine extra Datei, welche in der index.php included ist, ruft jedes mal die Session mit session_start() auf.
Das Formular ist komplett mit php generiert. Es prüft die Eingabe des Users. Sind alle Eingaben in Ordnung werden von der selben Datei alle Werte angezeigt und der User kann entweder ins nächste Formular wechseln oder die Eingabe nochmal ändern. Da liegt auch das Problem. Bei der Übergabe ins nächste Formular habe ich keine Probleme. Die kommen einwandfrei an. Aber wenn der User auf Eingabe ändern klickt, wird nichts mehr angezeigt. Ich habe nur leider keine Ahnung, wieso?
Kann mir das vielleicht mal jemand verraten und sich mein Wirrwarformular anschauen. Das wäre super gierig.
Es sieht so aus, als ob ich ein Verständnisproblem habe. Bitte helt mir!
Ich habe schon am Anfang der Datei session_unregister für beide Variablen benutzt, aber leider hat dies keinen Effekt.
Hier das Formular:
PHP-Code:
// Die Variable reset prüft, ob der User die Eingabe ändern will.
// Die Variablen Pressed werden geleert.
if ($reset=='reset') {
$pressed='';
}
// Überprüfung, ob der User zum ersten mal die Seite betritt
if ($pressed==FALSE) {
echo "<td class='inhalt2' style='border:1px
#718BA4 solid' colspan='2'>";
echo "<form action='$PHP_SELF?
action=2' method='post'>";
echo "<table class='inhalt2'>";
echo "<tr>
<td style='height:20pt;' valign='top'><strong>Schritt
1:</strong></td></tr>";
echo "<tr><td>Bitte geben Sie den Namen der Tippgemeinschaft
ein:<sup>*</sup></td><td colspan='3'><input type='text' name='tg'
value='$tg' size='10' maxlength='50' input style='width:220pt;
height:15pt;' tabindex='1'></td></tr>";
echo "<tr><td>Die Anzahl der
Mitspieler:<sup>*</sup></td><td><input type='Text'
name='anzahl_mitspieler' value='$anzahl_mitspieler' maxlength='3' input
style='width:20pt; height:15pt;' tabindex='2'></td><td
align='right'><input class='text' input style='width:47pt; height:15pt;'
type='submit' name='weiter' value='weiter' tabindex='3'><input
type='hidden' name='pressed' value='TRUE'></td></tr>";
echo "<tr><td><sub>* Pflichtfelder sind mit einem Sternchen
markiert.</sub></td></tr>";
echo "</table>";
echo "</form>";
echo "</td>";
}
// Überprüfung, ob der User den Button Weiter gedrückt hat.
if (isset($pressed)) {
// Überprüfung ob Anzahl Mispieler einen
Buchstaben enthält...größer nicht größer als 100 und auch nicht null ist
if(eregi("^[a-zA-Z]+$",$anzahl_mitspieler) ||
$anzahl_mitspieler > 100 || $anzahl_mitspieler == '0') {
echo "<td class='inhalt2'
style='border:1px #718BA4 solid' colspan='2'>";
echo "<form
action='$PHP_SELF?action=2' method='post'>";
echo "<table
class='inhalt2'>";
echo "<tr><td style='height:20pt;' valign='top'><strong>Schritt
1:</strong></td></tr>";
echo "<tr><td class='inhalt_alert'
colspan='3'><strong>ACHTUNG: $anzahl_mitspieler</strong> ist keine
gültige Ziffer. Die maximale Anzahl der Mitspielern ist auf
<strong>100</strong> begrenzt.</td></tr>";
echo "<tr><td>Bitte geben Sie den Namen der Tippgemeinschaft
ein:<sup>*</sup></td><td colspan='3'><input type='text' name='tg'
value='$tg' size='10' maxlength='50' input style='width:220pt;
height:15pt;' tabindex='1'></td></tr>";
echo "<tr><td>Die Anzahl der Mitspieler:<sup>*</sup></td><td><input type='Text'
name='anzahl_mitspieler' value='' maxlength='3' input style='width:20pt;
height:15pt;' tabindex='2'></td><td align='right'><input class='text' input
style='width:47pt; height:15pt;' type='submit' name='weiter'
value='weiter' tabindex='3'><input type='hidden' name='pressed'
value='TRUE'></td></tr>";
echo "<tr><td><sub>* Pflichtfelder sind mit einem Sternchen
markiert.</sub></td></tr>";
echo "</table>";
echo "</form>";
echo "</td>";
} else {
// Überprüfung, ob der User beide
Felder Tippgemeinschaftsname und Anzahl der Spieler ausgefüllt hat.
if ($tg=='' ||
$anzahl_mitspieler=='') {
echo "<td
class='inhalt2' style='border:1px #718BA4 solid' colspan='2'>";
echo "<form action='$PHP_SELF?action=2' method='post'>";
echo "<table class='inhalt2'>";
echo "<tr><td style='height:20pt;'
valign='top'><strong>Schritt 1:</strong></td></tr>";
echo "<tr><td class='inhalt_alert' colspan='3'>Sie
müssen beide Felder <strong>Name der Tippgemeinschaft</strong> und
<strong>Anzahl der Mitspieler</strong> ausfüllen.</td></tr>";
echo "<tr><td>Bitte geben Sie den Namen der
Tippgemeinschaft ein:<sup>*</sup></td><td colspan='3'><input
type='text' name='tg' value='$tg' size='10' maxlength='50' input
style='width:220pt; height:15pt;' tabindex='1'></td></tr>";
echo "<tr><td>Die Anzahl der
Mitspieler:<sup>*</sup></td><td><input type='Text'
name='anzahl_mitspieler' value='$anzahl_mitspieler' maxlength='3' input
style='width:20pt; height:15pt;' tabindex='2'></td><td
align='right'><input class='text' input style='width:47pt; height:15pt;'
type='submit' name='weiter' value='weiter' tabindex='3'><input type='hidden' name='pressed' value='TRUE'></td></tr>";
echo "<tr><td><sub>* Pflichtfelder sind mit einem
Sternchen markiert.</sub></td></tr>";
echo "</table>";
echo "</form>";
echo "</td>";
}
// Beide Felder wurden
ausgefüllt...Überprüfung, ob eine Tippgemeinschaft mit dem selben Namen
schon existiert...Ansonsten Eingabe der Mitspieler
if ($tg!='' && $anzahl_mitspieler!='' && $anzahl_mitspieler<=100) {
$db->query
("SELECT * FROM tgs WHERE tg_name LIKE '".$tg."' ");
list($Anzahl)
= $db->data();
if
($Anzahl==1) {
echo "<td class='inhalt2' style='border:1px #718BA4 solid'
colspan='2'>";
echo "<form action='$PHP_SELF?action=2' method='post'>";
echo "<table class='inhalt2'>";
echo "<tr><td style='height:20pt;' valign='top'><strong>Schritt 1:</strong></td></tr>";
echo "<tr><td class='inhalt_alert'
colspan='2'>Es existiert schon eine Tippgemeinschaft mit dem Namen
<strong>$tg</strong>.</td></tr>";
echo "<tr><td>Bitte geben sie einen
anderen Namen als <strong>$tg</strong> für Ihre Tippgemeinschaft
ein:<sup>*</sup></td><td colspan='2'><input type='text' name='tg'
value='$tg' size='10' maxlength='50' input style='width:220pt;
height:15pt;' tabindex='1'></td></tr>";
echo "<tr><td>Die Anzahl der
Mitspieler:<sup>*</sup></td><td><input type='Text'
name='anzahl_mitspieler' value='$anzahl_mitspieler' maxlength='3' input
style='width:20pt; height:15pt;' tabindex='2'></td><td
align='right'><input class='text' input style='width:47pt; height:15pt;'
type='submit' name='weiter' value='weiter' tabindex='3'><input type='hidden' name='pressed' value='TRUE'></td></tr>";
echo "<tr><td><sub>* Pflichtfelder sind mit
einem Sternchen markiert.</sub></td></tr>";
echo "</table>";
echo "</form>";
echo "</td>";
echo "</tr>";
} else {
// Alle Felder wurden korrekt ausgefüllt...Daten werden angezeigt
echo "<td class='anmeldung_ok' style='border:1px #718BA4
solid'>";
echo "<table class='anmeldung_ok' width='100%' cellspacing='0' cellpadding='2'>";
echo "<tr><td style='height:20pt;' valign='top'
colspan='4'><strong>Schritt 1 abgeschlossen</strong></td></tr>";
echo "<tr><td width='25%'>Name der
Tippgemeinschaft:</td><td align='left'
colspan='3'><strong>$tg</strong></td></tr>";
echo "<tr><td>Anzahl der Mitspieler:</td><td
align='left'><strong>$anzahl_mitspieler</strong></td><td rowspan='4'
colspan='2' valign='bottom'><img
src='http://localhost/tippgemeinschaft/images/hacken.jpg' alt='OK'
name='OK' width='40' height='40' border='0' align='right'></td></tr>";
echo "</table>";
echo "</td>";
echo "</tr>";
echo "<tr>";
// User kann Daten zurücksetzen oder Weiter zum nächsten Formular
echo "<td class='inhalt2' style='border:1px #718BA4 solid'
valign='middle'>";
echo "<table class='inhalt2' width='100%' cellspacing='0'
cellpadding='2'>";
echo "<form action='$PHP_SELF' method='post'>";
echo "<tr><td valign='top'>Bitte überprüfen
Sie Ihre Daten.</td><td align='right' valign='bottom'><form
action='$PHP_SELF?action=2?step=1' method='post'><input class='text'
type='submit' name='reset' input style='width:80pt; height:15pt;'
value='Eingabe ändern' tabindex='1'></form>$reset</td>";
echo "<td align='right'
valign='middle'><form action='$PHP_SELF' method='post'><input
type='hidden' name='step' value='2'><input class='text' input
style='width:47pt; height:15pt;' type='submit' name='weiter2'
value='weiter' tabindex='2'><input type='hidden' name='tg' value='$tg'><input type='hidden' name='anzahl_mitspieler'
value='$anzahl_mitspieler'>";
session_register ("TG");
session_register ("anzahl_mitspieler");
echo "</form></td></tr>";
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
}
}
}
}
erik
Kommentar