tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
334
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    PHP-Code:
    if ($_GET['action'] == "senden") {
        if ((
    $_POST['Name'] == "") OR ($_POST['E-mail'] == "") OR        ($_POST['Betreff'] == "") OR ($_POST['Nachricht'] == "")) {
        echo 
    "<script language='JavaScript'>alert('Fülle alle Felder aus!');</script>\n";
    }
     

               
    $Mitteilung "Absender: ".$_POST['Name']."\n".
                                    
    "E-mail: ".$_POST['E-mail']."\n\n".
                                     
    $_POST['Nachricht'];
                
    mail ("icebaby@inode.at"$_POST['Betreff'], $Mitteilung
                        
    "From:".$_POST['Name']." <".$_POST['E-mail'].">");
                echo 
    "<p align='center'>Deine E-mail wurde erfolgreich versandt!</p>";
                
    $Gesendet 1;
          }
     
     
     
     
    if (
    $_GET['action'] == "senden") {
        
    // Verschicke eMail 
       
    $Gesendet 1
    }
    if (
    $Gesendet != 1) {
        
    // Zeige das Formular an
         
    echo "<form action='index.php?cat=email_senden' method='POST'>";
    echo 
    "<b>Betreff:</b> <input type='text' name='Betreff' size='50'><br>
    <b>Name:</b> <input type='text' name='Name' size='50'><br>
    <b>E-Mail:</b> <input type='text' name='Mail' size='50'><br>
    <textarea name='Nachricht' cols='45' rows='15'></textarea><br><br>
    <input type='submit' name='Abschicken' value='Abschicken'>"
    ;
      
    echo 
    "</form>";

    Das ist der Code meines Formulars. Klappt prima, ich möchte jetzt aber, dass der User alle Felder ausfüllen muss, und wenn er das nicht macht, dass dann eine Fehlermeldung kommt. Wie mache ich das?
     

  2. #2
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    bist doch fast selber auf die Lösung gekommen ...

    PHP-Code:
    if ($_GET['action'] == "senden") {
        
    $error =  0;

        if (empty(
    $_POST['Name'] )){
          
    $error 1;
          
    $msg "Bitte Name eintragen!";
        }
        if(empty(
    $_POST['E-mail'])) {
          
    $error 1;
          
    $msg .= "Bitte Email eintragen!";
        }
        if(empty(
    $_POST['Betreff'])) {
          
    $error 1;
          
    $msg .= "Bitte Betreff eintragen!";
        }
        if(empty(
    $_POST['Nachricht'] )){
          
    $error 1;
          
    $msg .= "Bitte Nachricht eintragen!";
        }
        if(
    $error == 0) {
          .
          ... 
    Code für Email senden
          
    .
        }


       ... 
    und einfach für die Fehlerausgabe ...
       echo 
    $msg;



    ... nicht gerad die schönste Lösung, aber es funktioniert.

    Gruß soyo
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Prüfe einfach, welche Felder alles ausgefüllt wurden und handle entsprechend.
     
    Markus Wulftange

  4. #4
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    die Funktion mir OR bei der if-Abfrage ist ja nicht nötig, wie schaut denn mein Code ohne dem aus?
     

  5. #5
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    dann wäre nocht wichtig, dass wenn nicht alle Felder leer sind eine Fehlermeldung erscheint
     

  6. #6
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    ich versteh jetzt deine Frage irgendwie nicht ganz ... aber warum sollte eine Fehlermedlung ausgegeben werden, wenn nicht alle Felder leer sind?
     

  7. #7
    venyl venyl ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    71
    Vllt so
    PHP-Code:
    <?php
    if(isset($_POST['submit'])) {
        
    $error ""// Leere Fehlermeldung
        
    if(empty($_POST['name'])) $error .= "<li>Sie haben keinen Namen angegeben.</li>"// Wenn Feld "Name" leer ist, bekommt leere Fehlermeldung den Inhalt
        
    if(empty($_POST['mail'])) $error .= "<li>Sie haben kein Passwort angegeben.</li>"// Wenn Feld "Passwort" leer ist, bekommt leere Fehlermeldung den Inhalt
        
    if(empty($error)) { // Wenn $error immer noch leer ist dann gehen wird weiter mit abschicken

    ....}
    ?>
    ist nur ein Beispiel...
     
    ich rage heraus und gehe in die tiefe.....wenn ich PHP kann :P

  8. #8
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    @ven

    ja genau sowas hab ich gemeint.
    @soyo, weil ich will, dass alle Felder ausgefüllt werden, sonst wird das Formular nicht gesendet und bei mir ist das egal, ich könnte also 100 leere antworten kriegen,
     

  9. #9
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    PHP-Code:
    if (($_POST['Name'] == "") OR ($_POST['E-mail'] == "") OR        ($_POST['Betreff'

    Hier wurde alles mit OR gemacht, aber es sollte auch ohne dem Funktionieren, nur habe ich keine Ahnung wie das noch ausschauen könnte, vl weiß es ja jemand zufällig, sonst ist es auch egal...
     

  10. #10
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Ich habe in einem anderen Thema mal eine etwas komplexere aber auch einfachere Wertevalidierung veröffentlicht. Vielleicht hilft sie dir ja weiter.
     
    Markus Wulftange

  11. #11
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    super danke
     

  12. #12
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    huhu ... fast das gleiche hab ich doch schon geschrieben? ... schau ma 2. antwort
     

  13. #13
    IceBaby IceBaby ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    22
    ich weiß , ich hab deins genommen,
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 27.05.09, 12:45
  2. Antworten: 9
    Letzter Beitrag: 21.06.05, 17:10
  3. PHP Formular durch ein anderes Formular ersetzen ?!
    Von NetPerformance im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.08.04, 04:22
  4. Formular mit "Schrift" statt Formular Button
    Von Flash MX im Forum HTML & XHTML
    Antworten: 5
    Letzter Beitrag: 15.07.04, 17:24
  5. Antworten: 2
    Letzter Beitrag: 18.11.03, 08:39