[PHP] Formular funktioniert nicht mehr

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joachim71, 19. Januar 2010 .

  1. 19. Januar 2010
    Formular funktioniert nicht mehr

    Hallo
    habe auf meiner Internet Seite ein Formular eingefügt aber irgend wie überträgt es die eingegebenen Daten nicht zu E-Mail Adresse die ich da eingegeben habe. Es kommt auch keine Fehler Meldung. Als Webspace benutze ich "Funpic.de" oder geht es da nicht weil da ein Dienst nicht haben oder so und bei "Web.de" ist der E-Mail Anbieter.

    woran kann es liegen


    Code:
    <?php
    // wenn das Formular übermittelt wurde
    if(isset($_POST['abschicken'])){
     while(list($feld,$wert)=each($HTTP_POST_VARS)){
     // übermittelte Inhalte "entschärfen"
     $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
     $$feld=$wert;
     // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
     if($feld!="abschicken"){
     $mailnachricht.=ucfirst($feld).": $wert\n";
     }
     }
     $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
     // Überprüfen ob alle Pflichtfelder gefüllt sind
     empty($Name) ? $err[] = "<p>- Bitte den Namen angeben.</p>" : false;
     empty($Benutzername) ? $err[] = "<p>- Bitte den Benutzernamen angeben.</p>" : false; 
     empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false; 
     empty($Password) ? $err[] = "<p>- Bitte das Password angeben.</p>" : false; 
     // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
     if(!empty($err)) {
     echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
     foreach($err as $fehler){
     echo $fehler;
     } ?>
     <form action="#" method="post">
     <table width="100%" border="0" cellpadding="3" cellspacing="1">
     <tr><td width="140" align="right">*Name<span class="Stil2">:</span></td>
     <td align="left"><input type="text" name="Name" value="<?php echo $Name; ?>" style="width:100%;" /></td></tr>
     <tr>
     <td align="right">*Benutzername (Nickname)</td>
     <td align="left"><input type="text" name="Benutzername" value="<?php echo $Benutzername; ?>" style="width:100%" /></td></tr>
     <tr><td align="right">*Password</td>
     <td align="left"><input type="text" name="Password" value="<?php echo $Password; ?>" style="width:100%" /></td></tr>
     
     
     <tr><td align="right">*E-Mail:</td>
     <td align="left"><input type="text" name="email" value="<?php echo $email; ?>" style="width:100%" /></td></tr>
    
     <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" class="button" value="Formular absenden" style="width:49%" /></td></tr>
     </table>
     </form>
     <p>*Pflichtfelder</p>
    <?php // sind keine Fehler vorhanden, wird die Email versendet
     } else {
     $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
     // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!! 
     if(mail("xxxxxxx@xxx.de", $mailbetreff, $mailnachricht, "From: $email")){
     echo "<p>Vielen Dank für Ihre eMail!</p>";
     } else {
     echo "<p>Ein Fehler ist aufgetreten!</p>";
     }
     }
    // das Formular welches als erstes dem Besucher angezeigt wird
    } else { ?>
     <form action="#" method="post">
     <table width="100%" border="0" cellpadding="3" cellspacing="1">
     <tr><td width="140" align="right"><div align="right">*Name</div></td>
     <td align="left"><input type="text" name="Name" value="" style="width:100%;" /></td></tr>
     <tr><td align="right">*Benutzername (Nickname)</td>
     <td align="left"><input type="text" name="Benutzername" value="" style="width:100%" /></td></tr>
     <tr><td align="right">*Password</td>
     <td align="left"><input type="text" name="Password" value="" style="width:100%" /></td></tr>
     <tr><td align="right">*E-Mail:</td>
     <td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
    
     <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" value="Formular absenden" style="width:49%" /></td></tr>
     </table>
     </form>
     <p>*Pflichtfelder</p>
     <br />
    
    <?php
    }
    ?>
    

    E-Mail Adresse habe ich geändert

    danke
     
  2. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    Code:
    <form action="#" method="post">
    

    ??
     
  3. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    Um den Kommentar von furious1 mal etwas auszuweiten:

    das action-Attribut im form-Tag ist dazu da, das Zieldokument des Formulares anzugeben, an das die eingegebenen Daten beim Drücken vom submit-Button per definierter Methode gesendet werden sollen. In diesem Falle solltest du da also entweder den Namen des Dokuments, in dem du gerade arbeitest angeben oder auf ein neues Dokument verweisen (in diesem Fall ein PHP-Script), in dem du die Verarbeitung der übermittelten Daten vornimmst.
     
  4. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    Oder einfach das action="#" komplett weglassen. Dann zeigt das Formular auf die selbe Seite.
     
  5. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    danke erst mal habe jetzt das action="#" weglassen aber es wird immer noch keine Mail mit den daten an die E-Mail versendet.
     
  6. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    Also ich habe es bei mir gerade getestet und es hat funktioniert.

    Vielleicht hast du nur die Empfänger adresse falsch eingegeben oder der Server von Funpic unterstütz die Funktion nicht.

    Wenns am Server liegt, dann versuchs mal bei Bplaced.net (Freehoster) da sollte die mail funktion funktionieren.
     
  7. 19. Januar 2010
    AW: Formular funktioniert nicht mehr

    Liegt wohl an der Mail Funktion bei Funpic.
    http://www.funpic.de/board/support-f2/probleme-mail-versand-t66205.html
     
  8. 20. Januar 2010
    AW: Formular funktioniert nicht mehr

    ok danke das kann es sein
     
  9. 21. Januar 2010
    AW: Formular funktioniert nicht mehr

    kann man vielleicht das so umbauen das die eingegebenen Daten nicht zur E-Mail geschickt wirt sondern in eine .txt datei auf den Server.
     
  10. 21. Januar 2010
    AW: Formular funktioniert nicht mehr

    ja man kann es so umbauen mit:
    PHP:
    <? php
    $datei 
    'test.txt' ;
    $text  "hier dein text" ;
    file_put_contents ( $datei $text );
    ?>
     
  11. 21. Januar 2010
    AW: Formular funktioniert nicht mehr

    schau die mal den phpmailer an.
    da kannst du die mail via smtp versenden.
     
  12. 21. Januar 2010
    AW: Formular funktioniert nicht mehr

    while(list($feld,$wert)=each($HTTP_POST_VARS)){

    HTTP_POST_VARS hat zurecht ausgedient, wennde schon isset auf das versendet gibst, was schon totaler nonsens ist, behandle $_POST als ARRAY! foreach($_POST as $key => $value)

    Ach und 2010 gibts mittlerweile Techniken überhaupt keine Tabellen in HTML mehr misbrauchen zu müssen.
     
  13. 25. Januar 2010
    AW: Formular funktioniert nicht mehr

    danke den werde ich mal ein bisschen rum probieren
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.