Newbie Frage zu Variablen



  • Also!
    Ich will eine Art Assistant machen (wie bei windoof).
    So.
    Meine erste Datei Hat ein Form, dass das Textfeld "username" beinhaltet sowie den button "weiter >", der ja auf die nächste seite geht.
    Das geht immer so weiter.
    Es werden also inhalte von variablen gesammelt.
    Am Ende will ich die nochmal alle anzeigen, aber bis dahin sind die weg.
    Tja und verschicken bzw. speichern wollte ich die ja auch noch, aber ist ja essig.
    Wie kann ich die variablen denn nun beibehalten oder zumindest immer an das nächste dokument weitergeben, bis ich sie aufrufe, oder speichern will?

    Danke!



  • Mit PHP lautet die Antwort SESSIONS: http://www.dclp-faq.de/ch/ch-version4_session.html



  • hmm aber wie läuft das bei dem inhalt von formularen?
    Ich habe ja keine vriable vordifiniert.



  • Hm ? Das Formular wird abschickt, die Session-Variable wird initalisiert und der Wert gespeichert, dann ab zur nächsten Seite und dort dann wieder der selbe Spaß. Am Ende dann alles ausgeben und bestätigen lassen, kein Problem IMO.



  • Wie schon erwähnt ist hier glaube ich 'ne Session das beste. Alternativ könntest du auch in den folgenden Formularen hidden-Felder unterbringen und Ihnen die Werte der Variablen der vorangehenden Scripte übergeben.... geht auch... ist nur bei vielen Variablen unübersichtlich und unschön....
    MfG

    Tobsen



  • Sorry, aber aus der seite werde ich nicht wirklich schlau!
    Könnt ihr mir mit einem stück code ein stück weit helfen? *gg*

    Danke



  • Hm, dann solltest du dich vielleicht erst ein wenig in PHP einarbeiten. So schwer zu verstehen ist das ja nicht:

    Seite 1:

    // Session starten
    session_start();
    // Variablen einfügen
    $_SESSION["var1"] = "blabla";
    $_SESSION["var2"] = "blabla";
    // zur nächsten Seite gehen
    header("Location: seite2.php");
    

    Seite 2:

    // Session aufrufen
    session_start();
    // Sessionvariablen sind verfügbar
    echo ("Variable 1:" . $_SESSION["var1"] . "<br>");
    


  • _SESSION["var2"] = "blabla"; da hast du ja aber schon bestimmt, dass blabla die session ["var2"] ist ich brauch den inhalt für _SESSION["meinevar"] aber aus einem formular.
    hab schon versucht das ganze einfach zu ziehen:
    $_SESSION["var2"] = $form_inhalt;



  • hmm genau dieses Problem hab ich auch!!

    Es gibt aber auch noch eine andere Variante:
    Alle Werte in eine Datei schreiben lassen, am ende wieder aus der Datei auslesen und verschicken oder speichern.

    Nach diesem Vorgang den Dateiinhalt wieder löschen lassen!



  • hmmm neeee das ja zu umständlich...
    dann lieber einen komischen code einfügen 😉



  • Ok kann mir jemand den code sagen, mit dem ich das machen:

    step1.php:

    <html>
    <head>
    <title>Registration</title>
    </head>
    
    <body bgcolor="#FFFFFF">
    
    <table border="0" cellspacing="0" width="100%" cellpadding="0" id="AutoNumber1">
      <tr>
        <td width="100%">
        <h1 align="center">Registration</h1>
        </td>
      </tr>
    </table>
    
    <table border="0" cellspacing="0" width="100%" cellpadding="0" id="AutoNumber2">
      <tr>
        <td width="50%">
        <h3 align="center"> Schritt:  1  | 
        <font color="#C0C0C0">2</font>  |  <font color="#C0C0C0">3</font>  
        |  <font color="#C0C0C0">4</font>  |  <font color="#C0C0C0">5</font>  
        |  <font color="#C0C0C0">6</font></h3>
        </td>
      </tr>
    </table>
    
    <table border="0" cellspacing="0" width="100%" cellpadding="0" id="AutoNumber3">
      <tr>
        <td width="100%"> </td>
      </tr>
    </table>
    <form method="GET" action="step2.php">
    <table border="0" cellspacing="0" width="100%" cellpadding="0" id="AutoNumber4" height="207">
      <tr>
        <td width="100%" height="207">
        <table border="0" cellspacing="0" width="100%" cellpadding="0" id="AutoNumber5">
          <tr>
            <td width="1%"> </td>
            <td width="44%">
      <center>
      <input type="text" name="username" size="20" style="border: 1px solid #000000; background-color: #FFFFFF" value="Username"></center></td>
            <td width="95%"> </td>
          </tr>
            <tr>
        <td width="28%"> </td>
      </tr>
          <tr>
            <td width="1%"><center>
            <input type="submit" value="< zurück" name="back1" style="color: #000000; border: 1px solid #000000; background-color: #FFFFFF"></center></td>
            <td width="44%">
            <center>
            <input type="reset" value="löschen" name="reset1" style="color: #000000; border: 1px solid #000000; background-color: #FFFFFF"></center></td>
            <td width="95%">
            <center>
            <input type="submit" value="weiter >" name="next1" style="color: #000000; border: 1px solid #000000; background-color: #FFFFFF"></center></td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </form>
    </body>
    
    </html>
    

    So und dann Seite 2

    step2.php:
    [..]

    step3.php:
    [..]
    und resultat.php:
    alle inhalte aus dem Formular werden nochmal gezeigt

    Name:      Test
    Passwort:  pwd
    email:     Mail@provider.com
    

    und dann mit [SUBMIT]
    in die Datenbank verschickt.

    [ Dieser Beitrag wurde am 12.06.2003 um 13:57 Uhr von Wubbel editiert. ]

    [ Dieser Beitrag wurde am 12.06.2003 um 13:58 Uhr von Wubbel editiert. ]



  • keiner? 😞 😕



  • Manoman, bist ja wirklich noch nicht alzu fit in PHP 😉
    Also oberhalb von step2.php schreibst du einfach einen kleinen PHP-Code:

    <?
    if($username != "")
    {
    // Username vorhanden
    session_start();
    // Session initalisieren
    $_SESSION["username"] = $username;
    // Session-Variable initalisieren und mit entsprechendem Wert füllen
    }
    else
    {
    die("Keinen Namen angegeben !");
    }
    ?>
    <html>
    <head></head>
    <body>
    // Hier kommt dann das nächste Formular
    ...
    Username: <? echo $_SESSION["username"]; ?>
    ...
    

    Und das dann immer so weiter, bis du bei Result.php dann eben alle Werte ausgibts und dann beim Bestätigen in die DB einträgst. Übrigens empfehle ich POST anstatt GET zu verwenden.


Anmelden zum Antworten