Anzeige

kontaktformular

kontaktformular | PSD-Tutorials.de

Erstellt von Mexx77, 11.10.2008.

  1. Mexx77

    Mexx77 Noch nicht viel geschrieben

    Dabei seit:
    11.07.2008
    Beiträge:
    11
    Geschlecht:
    männlich
    kontaktformular
    Hallo, ich habe ein Kontaktformular welches die Datei mailer.php per "action" anspricht. Diese soll dann die daten übermitteln. Bei dem check, ob der besucher alles ausgefüllt hat, habe ich ein problem. Ich kriege die Meldung "Vergewissern Sie sich, dass alles ausgefüllt ist!" auch wenn ich in alle drei Felder (Name, E-Mail, Message) was eingetragen habe.

    Könnt ihr mir helfen?

    HTML:
    Code (Text):
    1.  
    2. <form id="Kontaktformular" name="Kontaktformular" method="post" action="php/mailer.php">
    3. <input class="text_input" type="text" name="name">
    4. <input class="text_input" type="text" name="email">
    5. <textarea class="text_input" name="message"></textarea>
    6. <input id="submitbotton" type="submit" value="senden" name="submit">
    7.  
    PHP (mailer.php):
    Code (Text):
    1.  
    2. <?php
    3.    
    4.     if(isset($_POST['submit'])) {
    5.  
    6.         $to = "max@web.de";
    7.         $subject = "Kontaktaufnahme";
    8.         $name_field = $_POST['name'];
    9.         $mail_field = $_POST['email'];
    10.         $message = $_POST['message'];
    11.  
    12.         $body = "Eine neue Nachricht wurde uber das Kontaktformular ubermittel:\n \n Name des Absenders: $name_field\n E-Mail-Adresse von $name_field: $email_field\n \n Nachricht:\n $message";
    13.  
    14.         if (empty($name_field) OR empty($email_field) OR empty($message)) {
    15.             echo '<script language="javascript">confirm("Vergewissern Sie sich, dass alles ausgefüllt ist!")</script>';
    16.             echo '<script language="javascript">window.location = "http://www.***********.de/kontakt.html"</script>';
    17.         }
    18.         else {
    19.             mail($to, $subject, $body, "From:info@web.de<Kontaktbereich>" );
    20.             echo "Das ausgefüllte Formular wurde an $to! gesendet. Vielen Dank für Ihre Kontaktaufnahme";
    21.         }
    22.  
    23.        
    24.     }
    25.        
    26.     else {
    27.  
    28.         echo "Diese Datei darf nicht direkt aufgerufen werden";
    29.     }
    30. ?>
    31.  

    Bitte helft mir!
     
    #1      
  2. toxictoon

    toxictoon Pixelpatriot

    Dabei seit:
    27.05.2007
    Beiträge:
    633
    Geschlecht:
    männlich
    Ort:
    Augsburg
    Software:
    Adobe CC
    Kameratyp:
    Eos 400 d
    kontaktformular
    AW: kontaktformular

    $email_field

    heisst doch oben nur mail!
     
    #2      
  3. Mexx77

    Mexx77 Noch nicht viel geschrieben

    Dabei seit:
    11.07.2008
    Beiträge:
    11
    Geschlecht:
    männlich
    kontaktformular
    AW: kontaktformular

    danke für die schnelle antwort! ich glaub das war das problem!
     
    #3      
  4. Mexx77

    Mexx77 Noch nicht viel geschrieben

    Dabei seit:
    11.07.2008
    Beiträge:
    11
    Geschlecht:
    männlich
    kontaktformular
    AW: kontaktformular

    Ich habe das jetzt noch mal überarbeitet. Aber die Email Validierung geht nicht. Selbst wenn eine korrekte email angegeben wurde. Kann mir jemand helfen?

    Code (Text):
    1.  
    2. <?php
    3.    
    4.     if(isset($_POST['submit'])) {
    5.  
    6.         $to = "max@web.de";
    7.         $subject = "Kontaktaufnahme";
    8.         $name_field = $_POST['name'];
    9.         $mail_field = $_POST['email'];
    10.         $message = $_POST['message'];
    11.  
    12.         $body = "Eine neue Nachricht wurde über das Kontaktformular übermittel:\n \n Name des Absenders: $name_field\n E-Mail-Adresse von $name_field: $mail_field\n \n $name_field's Nachricht:\n $message";
    13.        
    14.         function checkEmail($mail_field) {
    15.             $result = TRUE;
    16.  
    17.             if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $mail_field)) {
    18.                 $result = FALSE;
    19.             }
    20.             return $result;
    21.         }
    22.        
    23.         if (empty($name_field)) {
    24.             echo '<script language="javascript">confirm("Bitte geben Sie Ihren Namen an!")</script>';
    25.             echo '<script language="javascript">window.location = "http://www.*******/kontakt.html"</script>';
    26.         }
    27.         else if( checkEmail($result) == FALSE) {
    28.             echo '<script language="javascript">confirm("Bitte geben Sie eine gültige E-Mail-Adresse an!")</script>';
    29.             echo '<script language="javascript">window.location = "http://www.*******/kontakt.html"</script>';
    30.         }
    31.    
    32.         else if (empty($message)) {
    33.             echo '<script language="javascript">confirm("Bitte tragen Sie im Feld "Nachricht" Ihre Mitteilung ein!")</script>';
    34.             echo '<script language="javascript">window.location = "http://www.*******/kontakt.html"</script>';
    35.         }  
    36.         else {
    37.             mail($to, $subject, $body, "From:info@web.de<Kontaktbereich>" );
    38.             echo '<script language="javascript">confirm("Das ausgefüllte Formular wurde an uns gesendet. Vielen Dank für Ihre Kontaktaufnahme")</script>';
    39.             echo '<script language="javascript">window.location = "http://www.*******/kontakt.html"</script>';
    40.         }
    41.  
    42.        
    43.     }
    44.        
    45.     else {
    46.  
    47.         echo "Diese Datei darf nicht direkt aufgerufen werden";
    48.     }
    49. ?>
    50.  
     
    #4      
  5. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    kontaktformular
    AW: kontaktformular

    Seh mal unter Tutorials hier bei PSD nach, da gibt es ein Kontaktformular ;)
     
    #5      
  6. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    kontaktformular
    AW: kontaktformular

    Wenn du PHP5 hast, geht es auch einfacher:
    PHP:
    1.  
    2. if( @filter_var($mail_field, FILTER_VALIDATE_EMAIL) === FALSE) {
    3.      echo $mail_field.' ist nicht korrekt';
    4. } else {
    5.      echo $mail_field.' ist korrekt';
    6. }
    7.  
    Ansonsten ereg() und eregi() vergessen und preg_match() benutzen.
     
    #6      
  7. Mexx77

    Mexx77 Noch nicht viel geschrieben

    Dabei seit:
    11.07.2008
    Beiträge:
    11
    Geschlecht:
    männlich
    kontaktformular
    AW: kontaktformular



    SUPER!!!!!!!! Vielen Dank! Mit diesem Tipp zu PHP5 habe ich's hinbekommen.
     
    #7      
x
×
×
teststefan