Hey, ich habe eben ein kontaktformular für meine seite geschrieben. aber das will net richtig.(guckt auf http://xyz-47.redio.de/kontakt.htm)
hier ist mal der code:
<html><head>
<title>Kontakt</title></head></body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?> method="post">
Name:<br>
<input type="text" name="name" value="<?php htmlentities($_POST['name']);?>" size="20"><br>
E-Mail:<br>
<input type="text" name="email" value="<?php htmlentities($_POST['email']);?>" size="27"><br>
Betreff:<br>
<input type="text" name="betreff" value="<?php htmlentities($_POST['betreff']);?>" size="33"><br>
Nachricht:<br>
<textarea cols="45" rows="15" name="nachricht" value="<?php htmlentities($_POST['nachricht']);?>"></textarea><br><br>
<input type="submit" value="abschicken">
</form>
<?php
if (!$_POST['name'])//fehlermeldungen
{
echo "Bitte gib deinen Namen ein!";
}
if (!$_POST['email'])
{
echo "E-Mail Adresse fehlt!";
}
if (!$_POST['betreff'])
{
echo "Gib bitte noch einen Betreff an!";
}
if (!$_POST['nachricht'])
{
echo "Bitte hinterlasse eine Nachricht!";
}
if ($_POST['name'] AND $_POST['email'] AND $_POST['betreff'] AND $_POST['nachricht'])//testen ob alles ausgefüllt wurde
{
$message = "<html><body>";
$message .= "<p>Name:";
$message .= "$_POST['name']";
$message .= "<br>E-Mail:";
$message .= "$_POST['email']";
$message .= "<br>Betreff:";
$message .= "$_POST['betreff']";
$message .= "<br>Nachricht:";
$message .= "$_POST['nachricht']";
$message .= "</p></body></html>";
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$empfaenger = 'meine@emailadresse.de';
$betreff = 'E-Mail von meiner Website';
if (mail($empfaenger, $betreff, $message, $header)
{
echo "Die E-Mail wurde erfolgreich versendet!";
}
else
{
echo "Es ist ein Fehler aufgetreten! Bitte versuche es nochmal!";
}
?>
</body></html>
wisst ihr, was falsch ist?
--.htm ??
mach ---.php
Quote
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www-data/htdocs/xyz-47/kontakt.php on line 52
aber linie 52 ist:
$message .= "$_POST['name']";
ich finde da keinen fehler
???
Quote
Original von xyz-47
aber linie 52 ist:
$message .= "$_POST['name']";
ich finde da keinen fehler
???
ich schon:
$message .= $_POST['name'];
$message .= $_POST['name'];
Du brauchst das nicht in nen String zu tun!
EDIT: Ach zu spät!
die sache hat sich erledigt
es tut es
so n kumpel hat das für mich mal durchgeguckt und verbessert :D
guckt http://xyz-47.redio.de/kontakt.php
soll ich euch nochmal das script zeigen ?
was war den Falsch, nur das was wir gesagt haben oder auch andere Sachen, aber zeig mal her!
<html><head><title>Kontakt</title></head><body><form name="kontakt" method="POST">
Name:<br>
<input type="text" name="name" size="20"><br>
E-Mail:<br>
<input type="text" name="email" size="27"><br>
Betreff:<br>
<input type="text" name="betreff" size="33"><br>
Nachricht:<br>
<textarea cols="40" rows="10" name="nachricht" value=""></textarea><br><br>
<input type="submit" name="submit" value="Abschicken">
</form>
<?php
if ($_POST['submit'] == "Abschicken"){
//fehlermeldungen
if ($_POST['name'] == "")
{
echo "<br>Bitte gib deinen Namen ein!<br>";
}
if ($_POST['email'] == "")
{
echo "<br>E-Mail Adresse fehlt!<br>";
}
if ($_POST['betreff'] == "")
{
echo "<br>Gib bitte noch einen Betreff an!<br>";
}
if ($_POST['nachricht'] == "")
{
echo "<br>Bitte hinterlasse eine Nachricht!<br>";
}
//testen ob alles ausgefüllt wurde
if (($_POST['name'] != "") AND ($_POST['email'] != "") AND ($_POST['betreff']!= "") AND ($_POST['nachricht']!= ""))
{
$message = "
Name:".$_POST['name']."
E-Mail:".$_POST['email']."
Betreff:".$_POST['betreff']."
Nachricht:".$_POST['nachricht']."";
$empfaenger = 'email@adresse.de';
$betreff = 'E-Mail von meiner Website';
if (mail($empfaenger, $betreff, $message))
{
echo "Die E-Mail wurde erfolgreich versendet!";
}
else
{
echo "Es ist ein Fehler aufgetreten! Bitte versuche es nochmal!";
}}}
?>
</body></html>
der hat gesagt da wären so um die 80 fehler drin gewesen
80!! Soviele Zeilen hast du ja noch nichtmal, mein Rekord war 10!!
Frag ihn nochmal 80 Fehler, das ist so gut wie unmöglich!
ich glaube aber der hat übertrieben :D