PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei einem Formmailer


bArToN
2005-07-30, 22:59:03
Ich habe mir mal einen Formularmailer zusammengebastelt. Ich hoffe von der Grundstruktur stimmt das was ich da geschrieben habe.


<?php

// Variablen einführen

$empfaenger="abc@web.de";
$absender=$_POST["email"];
$nachricht=$_POST["nachricht"];
$datum=date("j.n.y");
$zeit=date("H:i:s");
$mailbody="Datum: $datum | Zeit: $zeit | Absender: $absender \n\n Nachricht = $mailbody";

// E-Mail versenden

mail($empfaenger, "Kontakt", $mailbody);

?>


Ich wollte jetzt aber noch überprüfen ob die Felder email und nachricht ausgefüllt sind. Ich bin mir jetzt aber nicht ganz sicher wie ich das machen soll. Ist das mit einer If .... else .... Struktur möglich? Wenn ja, wie genau muss das dann aussehen :confused:

Sephiroth
2005-07-30, 23:21:38
klar geht das mit if else

z.B.
if($nachricht == "") exit

und das versenden eben ganz zum schluß

du kannst auch auf eine korrekte mail adresse per reg. exp. prüfen
function isvalidmail($email) {
$regex = '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{2,})+$';
if (eregi($regex, $email)) return true;
else return false;
}

bArToN
2005-07-31, 14:08:55
Erstmal danke für die Hilfe. Ob die E-Mail korrekt ist, das wollte ich erstmal noch nicht einbauen. Das ist mir alles ein bisschen zu kompliziert. Ich lerne ja noch ;)
Ich hab es jetzt mal so probiert:


<?php

// Variablen einführen

$empfaenger="abc@web.de";
$absender=$_POST["email"];
$nachricht=$_POST["nachricht"];
$datum=date("j.n.y");
$zeit=date("H:i:s");
$mailbody="Datum: $datum | Zeit: $zeit | Absender: $absender \n\n Nachricht = $mailbody";

// E-Mail versenden, wenn die Felder gesetzt sind

if (isset($_POST["email"]) && isset($_POST["nachricht"])); {

mail($empfaenger, "Kontakt", $mailbody);
echo "Danke, ihre E-Mail wurde weitergeleitet";
}
else {
echo "Bitte füllen sie <b>alle</b> Felder aus!";
}

?>


Nur leider bekomme ich eine Fehlermeldung. Kann mir jemand sagen warum ;( ?

Sephiroth
2005-07-31, 14:18:59
if (isset($_POST["email"]) && isset($_POST["nachricht"])); {

da kommt kein ; an das Ende der IF-Bedingung