HILFE ! SESSION / Step1, Step2, Step3

Status
Nicht offen für weitere Antworten.

Spacedoener

Gesperrt
Hi,

habe ein Problem und zwar habe ich ein Script geschrieben, wo sich mehrere
Formulare durch switch unterscheidung weitere Formular aufrufe...

Mein Problem ist, dass ich die Variablen von dem Textfeldern und Comboboxen
nicht abspeichern kann. Ansonsten Funktioniert das Script sehr gut...

Habe es mit Session versucht und das klappt ohne switch, aber mit switch klappt es leider nicht :(
Und ich brauche den switch dafür, z.b. wenn ich im Formular 1 bin und auf weiter klicke, dann ruft
er Formular 2 auf und dann 3 usw. und wenn ich auf "zurück" klicke dann ruft er mir den vorherigen Formular auf...

Mein Ziel ist es, dass wenn ich auch auf Zurück geklickt habe, dass er den Inhalt der Textfelder
wieder Anzeigt, was ich vorher angegeben habe.

Mein bisherige (noch) funktionierende Script ist dies hier:

PHP:
<?php
if (isset($_POST["action"]))
{
    if ($_POST["action"] == "Zurück") $page = $_POST["page"] - 1;
    elseif ($_POST["action"] == "Weiter") $page = $_POST["page"] + 1;
    elseif($_POST["action"] == "Ja / Fertig stellen")
    {
        // ======== AUFBAU DER DATENBANKVERBINGUN ========
        $connID = DBconnect($db, $host, $user, $pass);

        // hier werden die ganzen Daten in die Datenbank aufgenommen
    }

    if($page <= 1) $page = 1;
    if($page >= 3) $page = 3;

    switch($page)
    {
        case 1: echo $ueberschrift;
                ?>
                <form action='<?php echo $PHP_SELF; ?>' method='POST'>
                <fieldset style=" width:600px; PADDING-BOTTOM:00px; PADDING-LEFT:00px; PADDING-RIGHT:00px; PADDING-TOP:00px;">
                <legend align=left style="COLOR: #0000FF">Personaldaten</legend>
                <table cellspacing='0' cellpadding='0' width='550px' border='0' bordercolor='#F66A53'>
                    <tr>
                        <td class='rahmen' colspan='3' width='100px' align='left' valign='top'>
                            <br><img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Anrede:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <br>
                            <select class='button' name='Anrede' size='1' tabindex='1' style='width:255'>
                                <option value='wahl'>>>Bitte wählen Sie!<<</option>
                                <option value='-1'>-------------------------------</option>
                                <option value='Frau'>Frau</option>
                                <option value='Herr'>Herr</option>
                                <option value='Firma'>Firma</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Nachname:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Nachname' size='39' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Vorname:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Vorname' size='39' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Strasse:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Strasse' size='39' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            PLZ/Ort:
                        </td>
                        <td class='rahmen' width='260px' colspan='2'>
                            <input class='typetext' type='Text' name='PLZ' size='5' maxlength='5'>
                            <input class='typetext' type='Text' name='Ort' style='width:200' size='30' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Geburtsdatum<img src="images/smilies/frown.gif" border="0" alt="">TT.MM.JJJJ)
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php
                                $_monat = array("Januar","Februar","März","Abril","Mai"," Juni","Juli","August","September","Oktober",
                                                               "No vember","Dezember");

                                echo "<select class='button' tabindex='1' name='Geb_tag' size='1'>".
                                "<option value='Tag'>Tag</option>".
                                "<option value='-1'>-----</option>";
                                
                                for($tag=1; $tag<=31; $tag++)
                                {
                                    echo "<option value='".$tag."'>".$tag."</option>";
                                }
                                echo "</select>";

                                echo " / <select class='button' tabindex='1' name='Geb_mon' size='1'>".
                                "<option value='Monat'>Monat</option>".
                                "<option value='-1'>--------------</option>";

                                for($mon=0; $mon<count($_monat); $mon++)
                                {
                                    echo "<option value='".$_monat[$mon]."'>".$_monat[$mon]."</option>";
                                }
                                echo "</select>";
                            ?>
                            / <input class='typetext' type='Text' name='Geb_jahr' style='width:94' maxlength='4'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Telefon:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Telefon' size='39' maxlength='12'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Mobil:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Mobil' size='39' maxlength='12'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Land:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Land' value='Deutschland' size='39' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td align='left' height='50px'>
                            <input class='button' type='Submit' name='action' value='Zurück'>
                        </td>
                        <td class='rahmen' colspan='3'>
                            <input class='button' type='reset' value='Datenfelder leeren'>
                        </td>
                        <td align='right'>
                            <input class='button' type='Submit' name='action' value='Weiter'>
                        </td>
                    </tr>
                </table>
                
                <p class='pflicht'>
                    Die mit einem
                    <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                    markierten Felder sind Pflichtfelder.
                </p>
                </fieldset>
                
                <input name='page' type='hidden' value='<? echo $page; ?>'>
                </form>
                <font color='#0000FF'>schritt 1 von 3</font>
                <?php
                break;
Fortsetzung folgt !
 
Zuletzt bearbeitet:
Fortsetzung folgt !
PHP:
<?php
         case 2: echo $ueberschrift;
                ?>
                <form action='<?php echo $PHP_SELF; ?>' method='POST'>
                <fieldset style=" width:600px; PADDING-BOTTOM:00px; PADDING-LEFT:00px; PADDING-RIGHT:00px; PADDING-TOP:00px;">
                <legend align=left style="COLOR: #0000FF"><b>Registrierungsdaten</b></legend>
                <table cellspacing='0' cellpadding='0' width='550px' border='0' bordercolor='#F66A53'>
                    <tr>
                        <td class='rahmen' colspan='3' width='120px' align='left' valign='top'>
                            <br><img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Benutzername:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <br><input class='typetext' type='Text' name='Benutzername' size='30' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Passwort:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Password' name='Passwort1' size='30' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            Passwort wiederholen:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Password' name='Passwort2' size='30' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                            E-Mail Adresse:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <input class='typetext' type='Text' name='Email' size='30' maxlength='30'>
                        </td>
                    </tr>
                    <tr>
                        <td align='left' height='50px'>
                            <input class='button' type='Submit' name='action' value='Zurück'>
                        </td>
                        <td class='rahmen' colspan='3'>
                            <input class='button' type='reset' value='Datenfelder leeren'>
                        </td>
                        <td align='right'>
                            <input class='button' type='Submit' name='action' value='Weiter'>
                        </td>
                    </tr>
                </table>
                <p class='pflicht'>
                    Die mit einem
                    <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                    markierten Felder sind Pflichtfelder.
                </p>
                </fieldset>
                <input name='page' type='hidden' value='<? echo $page; ?>'>
                </form>
                <font color='#0000FF'>schritt 2 von 3</font>
                <?php
                break;

        case 3: ?>
                <table>
                    <tr>
                        <td align='center'>
                        <pre class='uberschrift_out'>Willkommen bei <?php echo $db; ?>!</pre>
                            <h5>
                                <b>
                                Zu Ihrer Übersicht zeigen wir Ihnen hier die von Ihnen eingegebenen Daten aus der 
Registrierung in einer Übersicht an.
                                Bitte überprüfen Sie, ob wir Ihre Daten richtig übernommen haben.
                                </b>
                            </h5>
                        </td>
                    </tr>
                </table>
                
                <form action='<?php echo $PHP_SELF; ?>' method='POST'>
                <fieldset style=" width:600px; PADDING-BOTTOM:00px; PADDING-LEFT:00px; PADDING-RIGHT:00px; PADDING-TOP:00px;">
                <legend align=left style="COLOR: #0000FF"><b>Bestätigung Ihrer Daten</b></legend>
                <table cellspacing='0' cellpadding='0' width='550px' border='0' bordercolor='#F66A53'>
                    <tr>
                        <td class='rahmen' colspan='3' width='100px' align='left' valign='top'>
                            <br>Anrede:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <br><?php echo $Anrede; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Nachname:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Nachname; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Vorname:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Vorname; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Strasse:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Strasse; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            PLZ/Ort:
                        </td>
                        <td class='rahmen' width='260px' colspan='2'>
                            <?php echo $PLZ; ?>
                            <?php echo $Ort; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Geburtsdatum<img src="images/smilies/frown.gif" border="0" alt="">TT.MM.JJJJ)
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Geb_tag; ?>.<?php echo $Geb_mon; ?>.<?php echo $Geb_jahr; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Telefon:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Telefon; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Mobil:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Mobil; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            Land:
                        </td>
                        <td class='rahmen' colspan='2'>
                            <?php echo $Land; ?>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3' width='120px' align='left' valign='top'>
                            <b>Benutzername:</b>
                        </td>
                        <td class='rahmen' colspan='2'>
                            <b><?php echo $Benutzername; ?></b>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='3'>
                            <b>E-Mail Adresse:</b>
                        </td>
                        <td class='rahmen' colspan='2'>
                            <b><?php echo $Email; ?></b>
                        </td>
                    </tr>
                    <tr>
                        <td class='rahmen' colspan='5' align='center'>
                            <br><b>Sind Ihre Angaben korrekt?</b>
                        </td>
                    </tr>
                    <tr>
                        <td align='left' height='50px'>
                            <input class='button' type='Submit' name='action' value='Zurück'>
                        </td>
                        <td class='rahmen' colspan='3'>
                            <input class='button' type='reset' value='Datenfelder leeren'>
                        </td>
                        <td align='right'>
                            <input class='button' type='Submit' name='action' value='Ja / Fertig stellen'>
                        </td>
                    </tr>
                </table>
                </fieldset>
                <input name='page' type='hidden' value='<? echo $page; ?>'>
                </form>
                <font size='2'><b>Tipp: Drucken Sie sich diese Seite aus und bewahren Sie den Ausdruck mit 
Ihren Angaben gut auf!</b></font>
                <br>
                <font color='#0000FF'>schritt 3 von 3</font>
                <?php
                break;

        default: echo "Ein Fehler ist aufgeträten, bitte Aktualizieren Sie die Seite neu!";
                 break;
    }
Fortsetzung folgt !
 
Zuletzt bearbeitet:
Fortsetzung folgt !
PHP:
<?php
 }
else
{
    echo $ueberschrift;
    ?>
    <form action='<?php echo $PHP_SELF; ?>' method='POST'>
    <fieldset style=" width:600px; PADDING-BOTTOM:00px; PADDING-LEFT:00px; PADDING-RIGHT:00px; PADDING-TOP:00px;">
    <legend align=left style="COLOR: #0000FF">Personaldaten</legend>
    <table cellspacing='0' cellpadding='0' width='550px' border='0' bordercolor='#F66A53'>
        <tr>
            <td class='rahmen' colspan='3' width='100px' align='left' valign='top'>
                <br><img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Anrede:
            </td>
            <td class='rahmen' colspan='2'>
                <br>
                <select class='button' name='Anrede' size='1' tabindex='1' style='width:255'>
                    <option value='wahl'>>>Bitte wählen Sie!<<</option>
                    <option value='-1'>-------------------------------</option>
                    <option value='Frau'>Frau</option>
                    <option value='Herr'>Herr</option>
                    <option value='Firma'>Firma</option>
                </select>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Nachname:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Nachname' size='39' maxlength='30'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Vorname:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Vorname' size='39' maxlength='30'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Strasse:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Strasse' size='39' maxlength='30'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                PLZ/Ort:
            </td>
            <td class='rahmen' width='260px' colspan='2'>
                <input class='typetext' type='Text' name='PLZ' size='5' maxlength='5'>
                <input class='typetext' type='Text' name='Ort' style='width:200' size='30' maxlength='30'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Geburtsdatum<img src="images/smilies/frown.gif" border="0" alt="">TT.MM.JJJJ)
            </td>
            <td class='rahmen' colspan='2'>
            <?php
                $_monat = array("Januar","Februar","März","Abril","Mai"," Juni","Juli","August","September","Oktober",
"No vember","Dezember");

                echo "<select class='button' tabindex='1' name='Geb_tag' size='1'>".
                "<option value='Tag'>Tag</option>".
                "<option value='-1'>-----</option>";

                for($tag=1; $tag<=31; $tag++)
                {
                    echo "<option value='".$tag."'>".$tag."</option>";
                }
                echo "</select>";

                echo " / <select class='button' tabindex='1' name='Geb_mon' size='1'>".
                "<option value='Monat'>Monat</option>".
                "<option value='-1'>--------------</option>";

                for($mon=0; $mon<count($_monat); $mon++)
                {
                    echo "<option value='".$_monat[$mon]."'>".$_monat[$mon]."</option>";
                }
                echo "</select>";
            ?>
            / <input class='typetext' type='Text' name='Geb_jahr' style='width:94' maxlength='4'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'><img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
                Telefon:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Telefon' size='39' maxlength='12'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                Mobil:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Mobil' size='39' maxlength='12'>
            </td>
        </tr>
        <tr>
            <td class='rahmen' colspan='3'>
                Land:
            </td>
            <td class='rahmen' colspan='2'>
                <input class='typetext' type='Text' name='Land' value='Deutschland' size='39' maxlength='30'>
            </td>
        </tr>
        <tr>
            <td align='left' height='50px'>
                <input class='button' type='Submit' name='action' value='Zurück'>
            </td>
            <td class='rahmen' colspan='3'>
                <input class='button' type='reset' value='Datenfelder leeren'>
            </td>
            <td align='right'>
                <input class='button' type='Submit' name='action' value='Weiter'>
            </td>
        </tr>
    </table>
    
    <p class='pflicht'>
        Die mit einem
        <img src="image/a_blin01.gif" width="12" height="12" border="0" alt="Pflichtfelder">
        markierten Felder sind Pflichtfelder.
    </p>
    
    </fieldset>
    <input name='page' type='hidden' value='
    <?
        $_POST["page"] != "" ? print $_POST["page"] : print 1;
    ?>'>
    </form>
    <font color='#0000FF'>schritt 1 von 3</font>
<?php
}
?>

So das ist das ganze, sieht zwar sehr viel aus aber das ganze besteht so gesehen aus 4 Formularen
(die letzte und "case 1:" sind die gleichen Formulare )

Würde mich auf jedenfall sehr freuen, wenn ihr mir dabei Helfen könnt...
Bitte bitte, brauche dringend Hilfe....

MfG
Spacedoener
 
Zuletzt bearbeitet:
Habe es mit Session versucht und das klappt ohne switch, aber mit switch klappt es leider nicht

was heisst denn ohne switch? mit if, elseif, else oder wie?
muss das switch den unbedingt sein, wenns den schon ohne siwtch geklappt hat?
 
Aber hallo! Du kannst uns doch nicht allen Ernstes 510(!) Zeilen Quellcode vorsetzen und sagen "macht mal".

Um Dir die Formulardaten des Vorgängerformulares zu merken, rufst Du zu Beginn des Scriptes session_start(); auf. Dann musst Du prüfen, auf welcher Seite man sich gerade befindet und schreibst die Formulardaten des Vorgänger-Formulares in das superglobale Session-Array ($_SESSION). Wählt der Benutzer den Zurück-Button liest Du die Daten aus dem Session-Array aus und schreibst diese als Voreinstellung in das HTML-Formular.

Du musst Dir ohnehin alle eingegeben Daten des Benutzers merken. Dein bisheriger Code hat die Daten des ersten Formulars bereits "vergessen", wenn er im dritten Formular angekommen ist.

~snuu~
 
1) Das Posting ist eine bodenlose Frechheit (!)

2) Ein wenig selbstständiges Debugging sollte jeder beherrschen. Das heisst, an
entsprechenden Stellen echos einbinden, sein umfassendes Modell auf eine
abstrahierte Kompaktversion minimieren und testen, usw. usw.

3) Bitte versuche in Zukunft dein Problem und auch deinen Seitenaufbau abstrakt
in Wörtern zu erklären und nicht Code en Masse zu posten. Hattest du in deinem
Thread zum Login System auch schon gemacht. Ich weiss nicht, was man davon
halten soll, aber es drückt nicht grade die größte Motivation aus.

4) In diesem Sinne Thread: -closed- (Bin gerne bereit wieder zu öffnen,
wenn ich per PN etwas bekomme, das ahnen lässt, dass man sich selbst am
Debugging schon bemüht hat)
 
Zuletzt bearbeitet:
Prinzipiell haben lange Beiträge den Vorteil, dass sie durch Ihre Länge den
Vorteil beinhalten, eine gewisse Länge erreicht zu haben, die man lediglich durch
die Länge des Textes erreichen kann. Durch die hier erzielte Länge wurde in
hervorragender Weise aufgezeigt, wie übersichtlich ein Beitrag wird, wenn er
erst eine gewisse Mindestlänge überschritten hat.

Nee mal ehrlich, man kann es wirklich übertreiben.
 
Status
Nicht offen für weitere Antworten.
Zurück