php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Kontaktformular Fehler


 
mt0672
13-03-2006, 21:20 
 
Hallo zusammen,

kann mir vielleicht jemand helfen ?

Ich weiss nicht woran es liegt. Habe Apache und php4 installiert und in der apache conf den smtp server und den port 25 angegeben.

Nun habe ich das Problem das ich in meiner Website ein Kontaktformular eingebunden habe und dieses automatisch eine Mail über den SMTP abschickt sobald die Kontaktformularseite aufgerufen wird.

Also im Klartext das Formular wartet nicht auf eingaben und den submit button sondern schickt sofort eine leere mail los sobald die seite aufgerufen wird.

hier der code meiner post.php datei !

<?php
$recipient="user@provider.de";
$subject="Email von der Homepage";
$header="From: " . $email . "\n";
$mail_body ="Das Anfrage-Formular wurde am " . date("d.m.Y.")
. " um " . date("H:i") . "h ausgeführt.\n";
$mail_body.="Folgende Werte wurde eingetragen;\n\n";
$mail_body.="Name: " . $name . "\n";
$mail_body.="email: " . $email . "\n\n";
$mail_body.="Text:\n";
$mail_body.=$anfrage . "\n\n ----- Ende der automatsich generierten Mail ----";
mail($recipient,$subject,$mail_body,$header);
?>

und hier der eingebette code im kontaktformular:

form action="mail.php" method="post">
<br>
<div align="center">Bitte füllen Sie folgendes Formular aus:<br><br></div>
Name:<br>
<input type=text name=name size=30>
<br><br>
E-Mail:<br>
<input type=text name=email size=30>
<br><br>
Ihre Nachricht: <br>
<textarea rows="5" cols=50 name=anfrage></textarea><br><br>
<input type=submit value="Senden" name=abschicken>
</form>

 
onemorenerd
13-03-2006, 21:30 
 
Original geschrieben von mt0672
... in der apache conf den smtp server und den port 25 angegeben.Du meinst die php.ini!
das Formular wartet nicht auf eingaben und den submit button sondern schickt sofort eine leere mail los sobald die seite aufgerufen wird.
Immer wenn du die Formularseite öffnest, wird der PHP-Code darin ausgeführt und somit auch die mail()-Funktion. Bevor ich dir jetzt empfehle, einfach mal ein if(isset(...)) davorzusetzen, rate ich dir lieber, dir jemanden zu suchen, der sich damit auskennt.

Ein unqualifiziertes Mailformular kann von Spammern mißbraucht werden und ruckzuck findest du dich auf diversen Blacklists wieder!

 
mt0672
13-03-2006, 21:45 
 
ööööööhhhhhhhhhhh lol.


ja klar meinte ich die php.ini.

bin schon völlig gagga. :rocks:

und was heisst "jemanden der sich damit auskennt ?" tztz bin gerade dabei das alles zu lernen php mäßig. ist ja nioch keine meister vom himmel gefallen. und was die spammer bestrifft. die seite ist ja noch gar nicht online mit formular. das läuft ja nur auf meinem webserver hier.

greets..

 
icecream
14-03-2006, 15:02 
 
Original geschrieben von mt0672
<?php
$recipient="user@provider.de";
$subject="Email von der Homepage";
$header="From: " . $email . "\n";
$mail_body ="Das Anfrage-Formular wurde am " . date("d.m.Y.")
. " um " . date("H:i") . "h ausgeführt.\n";
$mail_body.="Folgende Werte wurde eingetragen;\n\n";
$mail_body.="Name: " . $name . "\n";
$mail_body.="email: " . $email . "\n\n";
$mail_body.="Text:\n";
$mail_body.=$anfrage . "\n\n ----- Ende der automatsich generierten Mail ----";
mail($recipient,$subject,$mail_body,$header);
?>

und hier der eingebette code im kontaktformular:

form action="mail.php" method="post">
<br>
<div align="center">Bitte füllen Sie folgendes Formular aus:<br><br></div>
Name:<br>
<input type=text name=name size=30>
<br><br>
E-Mail:<br>
<input type=text name=email size=30>
<br><br>
Ihre Nachricht: <br>
<textarea rows="5" cols=50 name=anfrage></textarea><br><br>
<input type=submit value="Senden" name=abschicken>
</form>

Stehen die beiden Codes in derselben Datei??
Beachte bitte, dass du das '<' bei <form action=...> vergessen hast.
Außerdem sendest du die Daten an eine "mail.php"... Das Snippet zur Mailversendung steht aber nach deinen Angaben in einer "post.php"....

Gruß
icecream

 
mt0672
14-03-2006, 16:15 
 
Hallo erstmal,

nein die Codes stehen in 2 Dateien.

Habe auch schon mal versucht den Code in einer Datei zu schreiben. Gleiches Ergebnis.

Wenn ich den Tip mit if(isset) programmiere wartet er auf den Submit button.

Jedoch sendet er dann die Daten aus den Feldern nicht mit. In meinem tollen Buch steht das man ein Mail Formular nur testen kann wenn man es zum Provider hochlädt oder einen Mailserver aufsetzt.
Die Sache mit dem Mailsserver vergesse ich schnell mal denn davon hab ich keine Ahnung.

Dann muss ich mir wohl oder übel Webspace mieten irgendwwo und die ganze Schose hochladen zum testen.
Hab mir nur noch keine Domain überlegt lol :rolleyes:

P.S. Das mit dem < muss ich vergessen haben mit zu kopieren steht aber drin. :rocks:

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:29 Uhr.