• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Form und PHP

reverseit

Neues Mitglied
Hey,

ich habe ein kleines Kontaktformular, welches Daten aufnehmen soll und via eines PHP-Scripts diese Daten per Mail weiterversenden soll.

Das HTML und der Seitenaufbau steht, das Kontaktformular auch, das PHP funktioniert eigentlich auch (also Mails werden jedenfalls versendet), aber ich bekomme keine Daten mit der Mail mitverschickt?!

Ich verstehe nicht so ganz wieso, habe die Variablen via POST aus dem Formular geladen, aber anscheinend doch nicht :/

Hier meine HTML:
<!DOCTYPE html>
<html>
<head>
<title>Kontaktformular</title>
<meta charset="utf-8">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css"
type="text/css" media="all" />

<script src="./assets/datepicker/jquery-datepicker-de.js" type="text/javascript"></script>

<link rel="stylesheet" type="text/css" href="./assets/datepicker/datepicker.css">


<body>
<br>
<p><img class="Logo" src="title.jpg"></p>
<p><img class="Verlauf" src="Verlauf5.png"></p><br>
<form action="mail.php" method="post">
<fieldset>
<legend>Video Anfrage</legend>
<legend1>schnell & unverbindlich</legend1>
<ol class="clearfix">
<label>Name</label>
<input type="text" name="name" required />


<label>Was?</label>
<input type="text" name="was" required />

<label>Wann?</label>
<script type="text/javascript">
$(function() {$("#datepicker").datepicker();});
</script>
<input id="datepicker" type="text" name="wann" required/>

<label>Wo?</label>
<input type="text" name="wo" required />

<label>Anmerkungen</label>
<textarea name="anmerkungen" cols="28" rows="5"
maxlength="10000" wrap="soft"></textarea>

<label>E-Mail</label>
<input type="email" name="e-mail" required /><br>

<label>Telefon (optional)</label>
<input type="char" name="telefon" />

<li class="last">
<label>
<input type="submit" name="submit" id="submit" value="Abschicken" class="button" /><br>
</label></li>
</ol>
</fieldset>
</form>
<link href="design.css" type="text/css" rel="stylesheet">
</body>
</head>
</html>

und meine PHP:
<?php
$name = $_POST['name'];
$was = $_POST['was'];
$wo = $_POST['wo'];
$wann = $_POST['wann'];
$anmerkungen = $_POST['anmerkungen'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$response=file_get_contents("reply.html");

$an = "[email protected]";
$betreff1 = "Kontaktformularnachricht | $name";
$betreff2 = "Ihre Anfrage bei Gotya Videos";
$text1 = "$name \n \n $was \n $wo \n $wann \n $anmerkungen \n $email \n $telefon";
$text2 = "Vielen Dank für ihre Anfrage! \n In den nächsten Stunden wird sich ein
Mitarbeiter bei ihnen melden! \n \n Mit freundlichen Grüßen, \n Ihr Gotya-Team";
mail($an, $betreff1, $text1,"from:$email");
mail($email, $betreff2, $text2, "from:$an");
echo $response;
?>

Wäre euch sehr verbunden, wenn ihr mir helfen könnt, komme da wirklich nicht weiter :s
 
Werbung:
Richtig debuggen

1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Im Endeffekt tut es ja das was es soll, Mails erhalte ich ja, der Inhalt ist nur nicht der, den ich mir erhofft habe.
Meine Variablendeklaration ist doch richtig oder irre ich mich?
 
Werbung:
Das einzige was ich in den Mails erhalte, ist die Betreffzeile:
Kontakformularnachricht |
Den Rest erhalte ich nicht.
 
Werbung:
Also ich denke du solltest dir mal $_POST ausgeben lassen, würde behaupten, dass bei der email iwas nicht stimmen kann,
dein feld heißt e-mail und du weist $_POST['email'] deiner $email Variable zu.

btw. dein head muss vor dem body zu gehen, body ist ja kein kindelement von head
und dein link zum CSS sollte ebenfalls in den head bereich und nicht in den body
 
Zuletzt bearbeitet:
Zurück
Oben