| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Phil1710 Mitglied
|
Mein Kontaktformular funktioniert nicht richtig |
|
|
Hallo habe ein kleines Problem mit meinem Kontaktformular.
Für mein Formular benutze ich 3 Dateien. Zum einen das Formular in html, dann die formular.php datei und eine done.html datei, welche nach Versenden des Formulares angezeigt wird.
Sobald ich jedoch auf "Senden" klicke wird mir die php Datei im gleichen Fenster angezeigt. Die Email wird jedoch nicht versendet
Hier meine Codes
formular.html
<html>
<body>
<title>Kontakt</title>
<form action="formular.php" method="post">
Ihr Name:<br>
<input type="text" size="15" name="name"><br><br>
Ihre E-Mail Adresse:<br>
<input type="text" size="15" name="email"><br><br>
<textarea name="nachricht" cols="50" rows="10"></textarea>
<input type="submit" value="Absenden">
</form>
</body>
</html>
formular.php
<?
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$empfaenger = "Meine Emai Adresse";
$betreff = "Neue Nachricht per Kontaktformular";
if($name != "" && $email != "" && $nachricht != "" && preg_match("/@/", $email) == "1") // hier wird überprüft, ob die Felder nicht leer sind, und ob die eingegebene E-Mail Adresse ein @ enthält
{
mail($empfaenger, $betreff, $nachricht, "From: ".$email."");
header("Location: done.html"); // Weiterleitung auf done.html
exit();
}
else
{
header("Location: formular.html"); /
exit();
}
?>
done.html
<html>
<body>
<title>Kontakt</title>
<h1>Ihre Nachricht wurde versendet.</h1>
</body>
</html>
Ich wäre um rasche Hilfe wirklich dankbar, da ich mit meinem Latein am Ende bin :/
Gruß[/u] |
|
|
|
| 16 Mai 2011 19:32 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
In der PHP-Datei gibt es zwei Dinge zu beachten:
1. Verwende für PHP nicht die Short-Tags <? ... ?>
sondern <?php ... ?>
2. Da dein Script mit Header arbeitet, muss das Script ganz
an den Anfang der Seite, davor darf kein Text stehen auch keine Leerzeichen
sonst funktioniert das nicht.
Mit dem KontaktFormular Generator kannst du schnell und einfach dein
individuelles Formular erstellen. KontaktFormular Generator |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 16 Mai 2011 22:54 |
|
 |
Phil1710 Mitglied
|
 |
|
|
Danke für die Info.
In der php Datei steht nichts weiter ausser das Script. Was meinst du mit ganz nach oben? |
|
|
|
| 17 Mai 2011 08:43 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
| Ganz nach oben => In der ersten Zeile muss das PHP-Script beginnen. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 17 Mai 2011 21:59 |
|
 |
Phil1710 Mitglied
|
 |
|
|
das php script kommt aber auch in die php datei hinein? oder muss auch was in die html seite? - mal ganz blöd gefragt..
also ich habe es jetzt soweit verbessert und das script schaut wie folgt aus beginnend in der ersten Zeile der php datei wie es anbei steht:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$empfaenger = "philip@mail.de"; // hier muss die E-Mail Adresse angegeben werden, an die das Formular geschickt werden soll - MUSS natürlich ersetzt werden, die Anführungszeichen müssen bleiben
$betreff = "A";
if($name != "" && $email != "" && $nachricht != "" && preg_match("/@/", $email) == "1") // hier wird überprüft, ob die Felder nicht leer sind, und ob die eingegebene E-Mail Adresse ein @ enthält
{
mail($empfaenger, $betreff, $nachricht, "From: ".$email."");
header("done.html"); // Weiterleitung auf done.html
exit();
}
else
{
header("Location: muster.html"); // Falls eine der oben geprüften Bedingungen (z.B. wenn ein Feld leer ist und/oder die Adresse kein @ enthält, wird auf das Formular verlinkt und keine Mail verschickt
exit();
}
?>
muss jedoch dazu sagen, dass es immernoch nicht funktioniert. sobald ich auf "senden" klicke wird nicht die "done.html seite angezeit sondern das php script auf der webseite. das sollte eigentlich nciht so sein. habe strato als server - php wird unterstützt - daran sollte es schonmal nicht liegen. |
Zuletzt bearbeitet von Phil1710 am 22 Mai 2011 20:48, insgesamt einmal bearbeitet |
|
|
| 18 Mai 2011 14:21 |
|
 |
MGoldi Mitglied

|
 |
|
|
| Und Du bist Dir sicher, dass die Dateiendung der PHP-Datei auch wirklich .php lautet?? |
_________________ LG MGoldi |
|
|
| 18 Mai 2011 17:55 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
"nichtssagende Blicxke"
Bei 1und1 habe ich auch schon erlebt das die Dateiendungen wenn man PHP5 haben möchte die Dateien
auf ".php5 " umbenannt werden müssen.
Ich habe auch einen Strato- Webserver mit PHP5,
Wichtig ist das man zu "TEST-zwecken" in den PHP-code
folgendes eingeben sollte:
error_reporting(E_ALL);
Dieses zeigt dann die Fehlermeldungen des Webservers an. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 Mai 2011 21:19 |
|
 |
Phil1710 Mitglied
|
 |
|
|
Bekomme neuerdings beim Absenden folgendes angezeigt.. was ist denn nun los???
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, service@webmailer.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log. |
|
|
|
| 18 Mai 2011 21:54 |
|
 |
Phil1710 Mitglied
|
 |
|
|
aaaaaalso.. zu meinem mysteriösen formular...
hab nun festgestellt das ich über das formular emails versenden kann. jedoch an dem punkt wo eigentlich die done.html datei geöffnet werden soll, kommt folgende seite:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, service@webmailer.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log. |
|
|
|
| 19 Mai 2011 11:49 |
|
 |
Phil1710 Mitglied
|
 |
|
|
weiß denn niemand, warum die mail gesendet wird, mit jedoch solch eine nachricht im browser angezeigt wird?  |
|
|
|
| 19 Mai 2011 23:55 |
|
 |
|