Kontakt Formular
robertternes
- php
0 Rajko0 robertternes0 rajko0 robertternes0 Tom
0 robertternes0 rajko0 robertternes0 rajko
0 Tobias Kloth
Hallo!
In meiner HTML Datei, hab ich irgendwann dieses Formular:
---------------------------------------------------------------------
<form action="mailer.php" method="POST" enctype="text/plain">
<div align="center">
<table border="0" width="90%" cellspacing="0" cellpadding="0" id="table4">
<tr>
<td width="40%" align="right" height="25" valign="top">
<p style="margin-right: 10px">Name:</td>
<td width="60%" height="25" valign="top">
<input type="text" name="name" size="30" style="border: 1px solid #40352B; background-color: #FBFAF9; font-family:Verdana; font-size:8pt"></td>
</tr>
<tr>
<td width="40%" align="right" height="25" valign="top">
<p style="margin-right: 10px">E-Mail:</td>
<td width="60%" height="25" valign="top">
<input type="text" name="email" size="30" style="border: 1px solid #40352B; background-color: #FBFAF9; font-family:Verdana; font-size:8pt"></td>
</tr>
<tr>
<td width="40%" align="right" height="75" valign="top">
<p style="margin-right: 10px">Anschrift:</td>
<td width="60%" height="75" valign="top">
<textarea rows="4" name="adresse" cols="35" style="border: 1px solid #40352B; background-color: #FBFAF9; font-family:Verdana; font-size:8pt"></textarea></td>
</tr>
<tr>
<td width="40%" align="right" valign="top">
<p style="margin-right: 10px">Nachricht:</td>
<td width="60%" valign="top">
<textarea rows="10" name="nachricht" cols="35" style="border: 1px solid #40352B; background-color: #FBFAF9; font-family:Verdana; font-size:8pt"></textarea></td>
</tr>
</table>
<p>
<input type="submit" value="Absenden" name="Abschicken" style="border: 1px solid #40352B; background-color: #DFD6D1">
<input type="reset" value="Zurücksetzen" name="B2" style="border: 1px solid #40352B; background-color: #DFD6D1"></div>
</form>
---------------------------------------------------------------------
Und die mailer.php sieht so aus:
---------------------------------------------------------------------
<html>
<head>
<title>Kontakt-Formular</title>
</head>
<body>
<?php
if($abschicken)
{
if(empty($name) || empty($email) || empty($nachricht)) || empty($adresse)
{
echo "Es wurden nicht alle Felder ordnungsgemäß ausgefüllt. Bitte kehren Sie zurück und vervollständigen Sie Ihre Angaben!";
}
else
{
while(list($feld,$wert)=each($HTTP_POST_VARS))
{
if($feld!="abschicken")
{
$mailnachricht.=ucfirst($feld).": $wert\n";
}
}
$mailnachricht.="\nDatum/Zeit: ";
$mailnachricht.=date("d.m.Y H:i:s");
$mailbetreff="Kontakt: ";
$mailbetreff.=$HTTP_POST_VARS[betreff];
mail("webdesign@pharao-software.de", $mailbetreff, $mailnachricht, "From: $email");
echo "Vielen Dank für Ihre Anfrage!";
}
}
else
{
echo "Ein Fehler ist aufgetreten.";
}
?>
</body>
</html>
---------------------------------------------------------------------
Wenn ich das auf den Server lade und versuche de Mail abzuschicken bekomme ich die Fehlermeldung:
Parse error: parse error in /home/www/web30/html/mailer.php on line 11
Was ist da falsch? Ich kann leider keinen fehler finden. man muss auch sagen, dass dies mein erstes PHP Script ist ;)
Wäre dankbar, wenn mir jemand schnell helfen könnte!
Da fehlt ne Klammer im if
Da fehlt ne Klammer im if
Bei welchem if? Ich sehe da alles richtig.. mhh - kannst du mir die genaue stelle nennen?
Hi,
statt
if(empty($name) || empty($email) || empty($nachricht)) || empty($adresse)
dieses
if(empty($name) || empty($email) || empty($nachricht) || empty($adresse))
dann müßte es gehen
Hallo!
Das habe ich jetzt gemacht, aber der Fehler tritt immer noch auf. Was soll ich tun?
Hello,
Das habe ich jetzt gemacht, aber der Fehler tritt immer noch auf. Was soll ich tun?
PHP lernen, und zwar Schritt für Schritt und nicht gleich alles auf einmal. Drei Monate musst Du dir schon Zeit lassen bis zum Chräck.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo!
Ich hab das Problem mit den Klammern gelöst, aber jetzt kommt ein anderes Problem:
<html>
<head>
<title>Kontakt-Formular</title>
</head>
<body>
<?php
if($Absenden)
{
if (empty($name) || empty($email) || empty($nachricht) || empty($adresse))
{
echo "Es wurden nicht alle Felder ordnungsgemäß ausgefüllt. Bitte kehren Sie zurück und vervollständigen Sie Ihre Angaben!";
}
else
{
while(list($feld,$wert)=each($HTTP_POST_VARS))
{
if($feld!="Absenden")
{
$mailnachricht.=ucfirst($feld).": $wert\n";
}
}
$mailnachricht.="\nDatum/Zeit: ";
$mailnachricht.=date("d.m.Y H:i:s");
$mailbetreff="Kontakt: ";
$mailbetreff.=$HTTP_POST_VARS[betreff];
mail("webdesign@pharao-software.de", $mailbetreff, $mailnachricht, "From: $email");
echo "Vielen Dank für Ihre Anfrage!";
}
}
else
{
echo "Ein Fehler ist aufgetreten.";
}
?>
</body>
</html>
Wenn ich auf Absenden klicke, dann kommt die fehlermeldung "Ein Fehler ist aufgetreten" - wie es im Script steht, falls if($Absenden) nicht stimmt. Aber es müsste stimmen (siehe erster Beitrag Formularcode).
????
die variable $Absenden soll eigentlich der Name des Buttons sein. Der heißt bei Dir aber Abschicken
Gruß Rajko
Habe ich gemacht, aber der Fehler besteht weiterhin.
Lade dir doch bitte die dateien herunter und probiere sie selber aus - ich weiß nicht mehr weiter... ich hab auch schon vieles probiert:
Formular: http://www.pharao-software.de/bestellung.htm
PHP-Mailer: http://www.pharao-software.de/mailer.php
Schonmal vielen Dank für die bisherige und die hoffentlich noch folgende Hilfe!
die variable $Absenden soll eigentlich der Name des Buttons sein. Der heißt bei Dir aber Abschicken
Gruß Rajko
schau mal in deine Mailbox
Gruß Rajko
Hallo robert,
if($Absenden)
du verlässt dich hier drauf, das register_globals auf on steht, was bei dir vermutlich nicht der Fall ist - schreib mal hier $_POST['Absenden'] hin und lies http://www.php.net/language.variables.predefined
if (empty($name) || empty($email) || empty($nachricht) || empty($adresse))
hier das gleiche - das Array $_POST verwenden.
mail("webdesign@pharao-software.de", $mailbetreff,
das ist schonmal gut, dass du die E-Mailadresse fest im Script stehen hast, aber...
$mailnachricht, "From: $email");
... du überprüfst nicht, was in $email (bzw. in $_POST['email']) drinsteht - damit kann dir jemand einen (B)CC-Header unterjubeln, und fröhlich E-Mails verschicken.
Grüße aus Nürnberg
Tobias