Formular will nicht so wie ich will...

Status
Nicht offen für weitere Antworten.

renard

Erfahrenes Mitglied
Hallo!

Ich hab für einen Freund eine Webseite entworfen. Das Formular dabei macht mir ziemliche Schwierigkeiten.
http://www.reinart.at/kontakt.htm
Wenn der User auf "Nachricht absenden" geht, öffnet sich Outlook (eh mit allen Eingaben), aber das Formular wird nicht von der Seite aus vselbst ersendet.

Könnt ihr mir bitte erklären, was ich falsch gemacht habe?
 
Ja, das kapiere ich. Der Server, auf dem die Seite draufsteht, ist PHP-kompatibel.
Es müsste nur php-Code her, der das Formular umschliesst, oder?
 
Du musst im action-Attribut die URL des php-Dokuments angeben, das die Daten verarbeitet.
Das kann auch das aktuelle Dokument sein, dass den php-Code enthält, muss dann aber auch referenziert werden.
Für Code-Beispiele einfach mal :google: aktivieren ...
Der erste Treffer sieht schon mal ganz gut aus: http://www.infos24.de/phpe/handbuch/23_php_mail.htm
Gruß marfirk
 
Zuletzt bearbeitet:
Es funktioniert doch nicht... Und ich weiss nicht, worans liegt. Danke, falls ihr mir helfen koennt.

Mein Formular in kontak.htm:
HTML:
<form name="kontaktformular" action="mailit.php" method="post">
    <p><label for="nachname">Nachname</label><br/>
    <input type="text" name="nachname" id="nachname" size="20" /></p>
    <p>    <label for="vorname">Vorname</label><br/>
    <input type="text" name="vorname" id="vorname" size="20" /></p>
    <p><label for="email">* Email</label><br/>
    <input type="text" name="email" id="email" size="20" /></p>
    <p><label for="nachricht">* Nachricht</label><br/>
    <textarea name="nachricht" id="nachricht" rows="10" cols="50"></textarea>
    <button type="submit"> Nachricht senden</button></p>
    </form>

Meine mailit.php Datei:
PHP:
<?php
$rein = "info@reinart.at";
$sender = $_POST['name'];
$email = $_POST['email'];
$nachricht = $_POST['nachricht'];
?>

<?php
function mail_senden($email, $nachricht) {
     $header = "From: $sender <$email>" ;
     mail($rein, "Frage Feedback reinart", $nachricht, $header) ; ?>

    <h1>Die E-Mail wurde erfolgreich verschickt.</h1><br />
    <p><a href="kontakt.htm">Zur&uuml;ck zum Formular</a></p>
       <?php    } ?>
<?php function fehler() { ?>
    <h1>Fehlende Eingabe!</h1>
         <p><a href="kontakt.htm">Zur&uuml;ck zum Formular</a></p>

     <?php    }
?>


<?php
if ( empty($email) || empty($nachricht) )
    {
     fehler() ;
    }
else {
     mail_senden($email, $nachricht) ;
    }

?>
 
Du musst mal deine Variablen überprüfen...
wenn mit dem E-Mail-Empfänger $email gemeint ist, muss die Empfängeradresse im Formular eingegeben werden. Ansonsten solltest du $rein verwenden, wie du sie im php-Dokument definiert hast...
Auch bei $name hast du dich vertan, im kontakt.htm steht <name=nachname>.....:rolleyes:
Sollte das nicht helfen wäre eine Beschreibung, was genau nicht klappt, hilfreich...
Gruß marfirk

// EDIT

... also an den variablen lags glaub ich doch net..... den fehler hab ich jetzt net gesehen aber damit sollte es klappen:

PHP:
<?php
$rein = "info@reinart.at";
$sender = $_POST['nachname'];
$email = $_POST['email'];
$nachricht = $_POST['nachricht'];
$header = "From: $sender <$email>" ;


if ( empty($email) || empty($nachricht) )
    {
      echo'<h1>Fehlende Eingabe!</h1><p><a href="kontakt.htm">Zur&uuml;ck zum Formular</a></p>';
    }
else {
     mail($rein, "Frage Feedback reinart", $nachricht, $header);
     echo'hat funktioniert!';
    }
?>

Gruß marfirk
 
Um mal nicht die Eiegenprogramierung außer acht zu lassen, aber für die jenigen die es nicht können wäre die Software von DA-Software sehr gut eingach mal googln.

Lg Remme
 
Status
Nicht offen für weitere Antworten.
Zurück