Frage zur Formulareingabenüberprüfung

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

  • Frage zur Formulareingabenüberprüfung

    Ich hab eine Skript zur Eingabenüberprüfung für ein Formular geschrieben. Das geht soweit. Jedoch will ich, dass wenn ein Fehler auftritt, z.b. falsche Email, dass diese Meldung direkt im Formularfeld mit Variablennamen $email steht.
    Wie muss ich das Anstellen.

    Hier Das Skript, noch unbearbeitet:


    PHP-Code:
    <?php

    $mailbody 
    ="Von: $name\n Email-Adresse: $email\n Betreff: $betreff\n Nachricht: $nachricht\n";

    $check=0;

    if (
    strlen($name)<1){
        
    header("Location: http://www.haraldw.de/kontakt.htm");//Hier geht er wieder auf die ursprüngliche Seite mit dem Formular
        
    echo "Kein Name";//Hier das Problem. Soll kein String sein, sondern die Meldung soll direkt im Formularfeld angezeigt werden
        
    $check++;
        }

    if (
    strlen($betreff)<1){
        
    header("Location: http://www.haraldw.de/kontakt.htm");//Hier geht er wieder auf die ursprüngliche Seite mit dem Formular
        
    echo "Kein Betreff";//Hier das Problem. Soll kein String sein, sondern die Meldung soll direkt im Formularfeld angezeigt werden
        
    $check++;
        }

    if (
    strlen($nachricht)<1){
        
    header("Location: http://www.haraldw.de/kontakt.htm");//Hier geht er wieder auf die ursprüngliche Seite mit dem Formular
        
    echo "Keine Nachricht";//Hier das Problem. Soll kein String sein, sondern die Meldung soll direkt im Formularfeld angezeigt werden
        
    $check++;
        }

    if (
    strstr($email,"@") && strstr($email,".")){
        }else{
        
    header("Location: http://www.haraldw.de/kontakt.htm");//Hier geht er wieder auf die ursprüngliche Seite mit dem Formular
        
    echo "Falsche Email";//Hier das Problem. Soll kein String sein, sondern die Meldung soll direkt im Formularfeld angezeigt werden
        
    $check++;
        }

    if (
    $check>0){
        }else{
        
    mail ("kontakt@haraldw.de""Formular_HTMLVersion"$mailbody);
        
    header("Location: http://www.haraldw.de/kontakt.htm");//Hier geht er wieder auf die ursprüngliche Seite mit dem Formular
        
    echo "Ihre Angaben werden überarbeitet"//Hier das Problem. Soll kein String sein, sondern die Meldung soll direkt im Formularfeld angezeigt werden

    ?>
    Zuletzt geändert von Eraser; 03.08.2003, 20:32.
    --------------------------------------------
    Mfg
    Harald Walter

    E-Mail: kontakt@haraldw.de
    ICQ: 155069479
    Url: http://www.haraldw.de

    /////
    ( o o )
    --oOO-(_)-OOo--
    Have Fun

    --------------------------------------------

  • #2
    speichere die werte in sessionvars ab und füge diese dann in die felder als value ein

    PHP-Code:
    session_start();

    if (
    strlen($_POST['email']) <= 0) {

      
    // eventueller weiterer Code
     
    $_SESSION['email'] = "Keine Email angegeben";

    in der anderen datei (in der das forumalar enthalten ist

    PHP-Code:
    session_start();

    // ...

    echo "<input type=\"text\" name=\"email\" value=\"".$_SESSION['email']."\">";

    // ... 
    (ungetestet)

    cya CrazyPip

    Kommentar


    • #3
      Habs fast kapiert.
      für was steht $_Post und was genau ist eine sessionvars.
      Vor die Variablenname z.b email muss aber schon noch ein "$". War das nur ein kleiner Fehler oder bewusst?
      --------------------------------------------
      Mfg
      Harald Walter

      E-Mail: kontakt@haraldw.de
      ICQ: 155069479
      Url: http://www.haraldw.de

      /////
      ( o o )
      --oOO-(_)-OOo--
      Have Fun

      --------------------------------------------

      Kommentar


      • #4
        Ab einer bestimmten PHP-Version (ab ich glaub 4.0.2 oder so) wird bei deinem Hoster in der php.ini die register_globals=off stehen, dass heisst zum Beispiel, dass du wenn du Variablen von einem formular übergibst, dass du dann je nach method $_POST['name_des_feldes'] oder $_GET anstatt der $name_des_feldes angeben musst, da dein script nicht funktionieren wird.

        Les dir mal den thread
        http://www.php-resource.de/forum/sho...threadid=21589
        im Offtopic dazu durch - wird dir sicher helfen.

        Das mit der session findest du hier in der suche oder auf php.net
        http://www.php.net/manual/de/ref.session.php

        Vor die Variablenname z.b email muss aber schon noch ein "$". War das nur ein kleiner Fehler oder bewusst?
        siehe oben und links

        cya CrazyPip

        Kommentar

        Lädt...
        X