[PHP] Script schickt Emails nicht ab!

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Stegaa, 25. September 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 25. September 2009
    Script schickt Emails nicht ab!

    Habe ein kleines Kontaktformular gebastelt und nun soll mein Script die Emails an meine Emailadresse absenden,nur leider kommt immer diese Fehlermeldung: (Habe ich selbst so gecoded) Die Schleife wird also nicht korrekt durchlaufen,obwohl alle Werte eingetragen wurden:

    "Ihre Nachricht konnte nicht versandt werden, weil"

    Hier der Code:

    Zuerst die HTML Datei:
    HTML:
     <form action="auswertung.php" method="post">
     <table><tr>
     <td>Name</td>
     <td><input name="name" size="45" /></td>
     </tr>
     <tr>
     <td>Vorname</td>
     <td><input name="vorname" size="45" /></td>
     </tr>
     <tr>
     <td>Adresse</td>
     <td><input name="adresse" size="45" /></td>
     </tr>
     <tr>
     <td>Postleitzahl</td>
     <td><input name="plz" size="45" /></td>
     </tr>
     <tr>
     <td>Stadt</td>
     <td><input name="stadt" size="45" /></td>
     </tr>
     <tr>
     <td>Telefon</td>
     <td><input name="telefon" size="45" /></td>
     </tr>
     <tr>
     <td>Email</td>
     <td><input name="email" size="45" /></td>
     </tr>
     <tr>
     <td>Betreff</td>
     <td><input name="betreff" size="45" /></td>
     </tr>
     <tr>
     <td>Ihre Nachricht</td>
     <td><textarea cols="40" rows="10" name="nachricht"></textarea></td>
     </tr>
     </table>
     <br />
     <input type="submit" value="abschicken" />
     </form>
    
    

    PHP:
    <?
    $fehler = " " ;
    $nz  chr ( 13 ). chr ( 10 );

    $name  $_POST [ 'name' ];
    $vorname  $_POST [ 'vorname' ];
    $adresse  $_POST [ 'adresse' ];
    $postleitzahl  $_POST [ 'plz' ];
    $stadt  $_POST [ 'stadt' ];
    $telefon  $_POST [ 'telefon' ];
    $email  $_POST [ 'email' ];
    $betreff  $_POST [ 'betreff' ];
    $nachricht  $_POST [ 'nachricht' ];

    if (empty(
    $name ))  $fehler  .=  "<li>Sie haben Ihren Namen nicht angegeben!</li>" ;
    if (empty(
    $vorname ))  $fehler  .=  "<li>Sie haben Ihren Vornamen nicht angegeben!</li>" ;
    if (empty(
    $adresse ))  $fehler  .=  "<li>Bitte geben Sie Ihre Adresse an!</li>" ;
    if (empty(
    $postleitzahl ))  $fehler  .=  "<li>Sie haben Ihre Postleitzahl nicht angegeben!</li>" ;
    if (empty(
    $stadt ))  $fehler  .=  "<li>Sie haben Ihren Wohnort nicht angegeben!</li>" ;
    if (empty(
    $telefon ))  $fehler  .=  "<li>Sie haben keine Telefonnummer angegeben!</li>" ;
    if (empty(
    $email ))  $fehler  .=  "<li>Sie haben keine Emailadresse angegeben!</li>" ;
    if (empty(
    $betreff ))  $fehler  .=  "<li>Bitte geben Sie einen Betreff an!</li>" ;
    if (empty(
    $nachricht ))  $fehler  .=  "<li>Sie haben keine Nachricht hinterlassen!</li>" ;

    if (empty(
    $fehler )) {
    $an  = "stegaa@gmx.de" ;
    $betreff  "Sie haben eine Nachricht via Kontaktformular erhalten" ;
    $datum  "Datum: " . date ( "j.n.Y" ). $nz ;
    $zeit  "Zeit: " . date ( "H:i" ). $nz ;
    $von  "Von:  " . $name . " <" . $email . ">" . $nz ;
    $linie  = "-----------------------------------" . $nz ;
    $text  $datum . $zeit . $von . $linie . $nachricht ;
    $titel  "Ihre Nachricht wurde versand" ;
    mail ( $an , $betreff , $text );
        }
        else 
    $titel  "Es ist ein Fehler aufgetreten" ?>

    Und damit alles als HTML dargestellt wird, habe ich dann noch
    PHP:
       <?
        
    if (empty( $fehler )) {
            
    $text  strip_tags ( $text );
            
    $text  htmlentities ( $text );
            
    $text  str_replace ( $nz , "<br>" , $text );
            echo 
    "<p>Ihre Nachricht wurde erfolgreich abgeschickt.</p>" ;
            echo 
    "<p> $text </p>" ;
        } else {
            echo 
    "<p>Ihre Nachricht konnte nicht versandt werden, weil" ;
            echo 
    "<ul> $fehler </ul>" ;
            echo 
    "</p>" ;
            
            }
            
    ?>
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 25. September 2009
    AW: Script schickt Emails nicht ab!

    Ich vermute mal, da du $fehler auf " " setzt, ist es nicht leer (empty($fehler) liefert immer false.
    Also setz $fehler entweder auf null oder frag korrekt ab (if($fehler == " ")).
     
  4. #3 25. September 2009
    AW: Script schickt Emails nicht ab!

    $fehler=" ";

    if (empty($fehler)) {

    $fehler ist nicht empty

    vorschlage

    if (strlen($fehler) < 2) {

    // edit
    mist war zu langsam.
    oder so wie Hapablap vorschlägt
     
  5. #4 25. September 2009
    AW: Script schickt Emails nicht ab!

    Fehler wurde ja bereits angesprochen.

    Ich löse so etwas oft mit einem Array
    PHP:
    $fehler  = array();
    if (empty(
    $name ))  $fehler [] =  "Sie haben keinen Namen angegeben" ;
    //...
    if ( count ( $fehler )> 0 )
    {
      print 
    "Es gab folgende" .(( count ( $fehler )== 1 )?( "n" ):( "" )). " Fehler:<br />\n" ;
      foreach (
    $fehler  as  $value ) print  "<li>" . $value . "</li>\n" ;
    }
     
  6. #5 25. September 2009
    AW: Script schickt Emails nicht ab!

    Perfomanter und eleganter wäre dann aber die Fehlerausgabe nicht mit einer Schleife, sondern per implode() PHP: implode - Manual
     
  7. #6 25. September 2009
    AW: Script schickt Emails nicht ab!

    Sry Antwort war falsch, verwende das oben genannte ^^
     
  8. #7 27. September 2009
    AW: Script schickt Emails nicht ab!

    Danke Männers, es funktioniert nun ! Hammer!
     

  9. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP Script schickt
  1. Antworten:
    4
    Aufrufe:
    6.417
  2. Antworten:
    6
    Aufrufe:
    3.190
  3. Antworten:
    4
    Aufrufe:
    1.388
  4. [S] PHP Trashmail Script

    Creused , 21. April 2014 , im Forum: Webentwicklung
    Antworten:
    1
    Aufrufe:
    1.720
  5. Antworten:
    2
    Aufrufe:
    1.770
  • Annonce

  • Annonce