Ankündigung

Einklappen
Keine Ankündigung bisher.

Formulardaten prüfen und darauf reagieren

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formulardaten prüfen und darauf reagieren

    Hallo zusammen,

    ich habe ien kleines Script gebaut, um ein Login solange zu durchlaufen, bis die korrekte Eingabe erfolgt ist.

    Wer kann mir sagen, warum dieses Script nicht in einen neuen Screen schreibt sonder nur einfügt bzw. warun ab der zweiten Eingabe nicht mehr?

    Anscheinend sehe ich es einfach nicht.

    Danke.

    <?php
    $run_around =1;
    while( $run_around ){
    if(isset($_POST['stage']) && ('init' == $_POST['stage'])) {
    if($_POST['login_name']=='Hallo'){
    print($_POST['login_name']." - ".$_POST['stage']);
    $run_around=0;}
    else {
    $run_around=1;
    unset($_POST['stage']);
    login_screen();
    }
    }
    else {
    // Ausgabe des Login Screens
    $run_around=0;
    login_screen();
    }
    } // while

    function login_screen(){
    echo <<<EINGABE
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Login Test</title>
    <link rel="Stylesheet" media="all" type="text/css" href="./css/style.css">
    </head>
    <body bgcolor="#ffffff">
    <h4>Login Test</h4>
    <br>
    <p>
    <form action="$_POST[PHP_SELF]" method="post" target="_self">
    <table width="350px" border="0">
    <tr>
    <td width="110px">Benutzer:<input type ="hidden" name="stage" value="init"></td>
    <td width="240px"><input type="text" size="30" name="login_name" maxlength="60"></td>
    </tr>
    <tr>
    <td width="110px" align="left"><input type="submit" value="Anmelden"></td>
    <td width="240px">&nbsp;</td>
    </tr>
    </p>
    </table></form>
    </body>
    </html>
    EINGABE;
    $run_around=1;
    }
    ?>


  • #2
    PHP-Code:
    <?php
    $a 
    4;
    echo 
    '<html><body>xyz</body></html>';
    ?>
    Sobald PHP die echo Zeile ausgegeben hat, ist das Skript beendet und alle Variablen und Resourcen werden weggeworfen.
    Genauso bei Deinem Skript. Die HTML Seite mit dem Formular wird an den Browser geschickt. PHP ist fertig und schmeisst alles weg. Der Browser stellt die HTML Seite dar, der Benutzer gibt etwas ein und schickt das Formular ab. Der Browser schickt die Werte des Formulars an den Webserver, der Webserver startet PHP und das Skript wird wieder von Anfang an ausgeführt.
    $run_around wird nicht zwischen den Aufrufen gespeichert.

    Kommentar


    • #3
      Danke. Dann muss ich einen anderen Weg gehen.

      Kommentar

      Lädt...
      X