Kontaktformular mit PHP

Meshiska
Super Tut nur kommt bei mir immer derselbe fehler:

Warning: mail() expects at least 3 parameters, 2 given in /var/www/web514/html/4Gezeiten/action_formular.php on line 25
Deine E-Mail wurde erfolgreich verschickt.

die formular.htm datei
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Anmeldung</title>
      <!--
     link zu einer externen CSS-Dateiin die Datei eingebundene CSS-Eigenschaftenetc.
      -->
  </head>
   <body bgcolor="#23520F">
    <p align="center">
    </p>
    <p align="center"><font size="6" color="#C0B880">Anmeldung</font></p>
<p align="center"><!--
Evtl einleitender Text zum Formular
    -->
    </p>
<form action="action_formular.php" method="POST">
<div align="center">
<table><tr><th><font color="#C0B880">Name</font></th><td><input type="text" name="name"></td></tr>
<tr><th><font color="#C0B880">E-Mail</font></th><td><input type="text" name="email"></td></tr>
<tr><th><input type="submit" value="Abschicken"></th><th><input type="reset" value="Zurücksetzen"></th></tr>
</table>
</div>
</form>
</body>
</html>&nbsp


und die action_formular.php datei:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>SEITENTITEL</title>
      <!--
     link zu einer externen CSS-Datei, in die Datei eingebundene CSS-Eigenschaften, etc.
      -->
  </head>
   <body>
  <?php
// Mit diesen Codes "holt" man sich jetzt die Angaben, die im Formular gemacht wurden:
  $name = ($_POST['name']);
  $email = ($_POST['email']);


// Um zu überprüfen, ob auch wirklich alle Angaben gemacht wurden, folgt jetzt eine if-Abfrage:

if ( ($name == "") OR ($email == "")  )
{
echo "Du hast nicht alle Angaben gemacht! Gehe zurück und korrigiere dies!";
}
// Das heißt: wenn (if) eine der Angaben nicht gemacht werden, erscheint der Text vom echo()-Befehl. Ansonsten (else) wird die e-Mail verschickt:
else
{
mail("meshiska@hotmail.com","From: $name <$email>");
echo "Deine E-Mail wurde erfolgreich verschickt.";
}
?>
</body>
</html>


Kann mir bitte wer helfen?
Meshiska
Oh gibts dann was wo man nur die 2 Felder haben kann weil ich brauch nichts anderes und möchte nur die 2 Felder haben?
Meshiska
Es soll rein die Anmeldung sein und da brauch ich nur Namen und deren Mail adresse mehr brauch ich fürn Anfang nicht. smile


Ach kann ich das denn eh so einfach da irgendwas reinschreiben ohne nen zusätzliches Formularfeld bei der Eingabe???
if(mail("meshiska@hotmail.com","Neue Email!","Hi Du\nDu hast ein schönes Emailpostfach...\nSexxyyy")) {
echo "Deine Email wurde versandt!";
}
else
{
echo "Es ist ein Fehler aufgetreten.";
}
Meshiska
Jaaaaaaa mensch danke dir. Stand ich wohl grad auf der Leitung großes Grinsen DANKE!!!
Melli
Das hilft mir jetzt aber nich weiter. Kann ich in das Formular nich noch was reinmachn?
[Elite-|-Killer]
-
Melli
traurig Ich raff sowas nich. Welches Schema? Hab meinen Code auf Seite 3 gepostet - erklär mir das ma genauer bitte xDD
Melli
Ich lieeeebe dich :-*

Danke <3
Susanne
hey klasse, es funktioniert großes Grinsen

hab noch ein paar kleine Fragen...
Wenn ich mein Formular abschicke, erhalte ich diese Nachricht:
"); echo "Vielen Dank für deine Nachricht, wir werden uns so schnell wie möglich bei dir melden!
Klicke


1.: Warum steht da "); echo ? und
2. nach dem 'Klicke' kommt eigentlich noch 'hier, um zurück zum Formular zu kommen' und das 'hier' ist ein Link zurück zum Formular.
Warum will er das nicht? ^^

Das sind meine Codes:

formular.html:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Kontakt</title>
     
  </head>
<body style="background-image: url(http://pshohenwart.ps.funpic.de/grafiken/hintergrund_main.jpg); background-attachment: fixed;" bgproperties="fixed" hlink="#B5B066" alink="#b5b066" link="#b5b066" vlink="#b5b066">
<font face="Verdana" size="2" color="#B5B066"><div align="center">
Dies ist der einfachste Weg, mit uns Kontakt aufzunehmen. Bitte fülle alle Felder aus, wir werden uns dann so schnell wie möglich mit dir in Verbindung setzen!
<p>
<form action="action_formular.php" method="POST">
<table><tr><th><font face="verdana" color="#B5B066" size="2">Name</th><td><input type="text" name="name"></td></tr>
<tr><th><font face="verdana" color="#B5B066" size="2">E-Mail</th><td><input type="text" name="email"></td></tr>
<tr><th><font face="verdana" color="#B5B066" size="2">Betreff</th><td><input type="text" name="betreff"></td></tr>

<tr><th><font face="verdana" color="#B5B066" size="2">Nachricht</th><td><textarea name="nachricht"></textarea></td></tr>
<tr><th><input type="submit" color="#B5B066" value="Abschicken"></th><th><input type="reset" value="Zurücksetzen"></th></tr>
</table>
</form>
</body>
</html>


action_formular.php:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Kontakt</title>
  </head>
 <body
 style="background-image: url(http://pshohenwart.ps.funpic.de/grafiken/hintergrund_main.jpg); background-attachment: fixed;"
 bgproperties="fixed" hlink="#B5B066" alink="#b5b066"
 link="#b5b066" vlink="#b5b066">
<font face="verdana" size="2" color="#B5B066"><div align="center">
  <?php
// Mit diesen Codes "holt" man sich jetzt die Angaben, die im Formular gemacht wurden:
  $name = ($_POST['name']);
  $email = ($_POST['email']);
  $betreff = ($_POST['betreff']);
  $nachricht = ($_POST['nachricht']);

// Um zu überprüfen, ob auch wirklich alle Angaben gemacht wurden, folgt jetzt eine if-Abfrage:

if ( ($name == "") OR ($email == "") OR ($betreff == "") OR ($nachricht == "") )
{
echo "Du hast nicht alle Angaben gemacht! Gehe zurück und korrigiere dies!";
}
// Das heißt: wenn (if) eine der Angaben nicht gemacht werden, erscheint der Text vom echo()-Befehl. Ansonsten (else) wird die e-Mail verschickt:
else
{
mail("pshohenwart@yahoo.de",$betreff,$nachricht,"From: $name <$email>");
echo "Vielen Dank für deine Nachricht, wir werden uns so schnell wie möglich bei dir melden!<br>
Klicke <a href="http://pshohenwart.ps.funpic.de/formular.html>hier</a>, um zurück zum Formular zu gelangen.";
}
?>
</body>
</html>
[Elite-|-Killer]
_________________
Susanne
das war jetzt aber nicht an mich gerichtet, oder? o.o
xD
Susanne
hm... dann kommt die Fehlermeldung:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /usr/export/www/vhosts/funnetwork/hosting/pshohenwart/seiten/action_formula
r.php on line 29

Mach ich die " ganz weg, kommt die Seite zwar, aber der Link funktioniert nicht...
*Sassy*
ich hätte mal eine andere Frage

und zwar wenn ich die Email bekomme, was kann ich dann machen, dass, wenn ich antworte, die Antwort direkt an die Email des Absenders geschickt wird?

Bei mir steht bisher immer dran:
Von: www-data

und wenn ich auf Antworten klicke:
www-data <report_spam_to_abuse@funpic.de>

würd mich freuen wenn mir da jemand helfen könnte Augenzwinkern
LG
Susanne
danke... aber das funktioniert auch nicht ^^
Dann findet er die Seite einfach nicht... in den Eigenschaften steht aber die richtige Adresse ^^
Mah wie ich das hasse wenns an so was doofem hängt ^^

--> http://pshohenwart.ps.funpic.de/seiten/formular.html
Nanni
Geht das auch, dass nur ein Teil der Seite das Formular ist?
http://kronenhof.bbping.de/Mitglieder/spiele.html
Könntest du mir vielleicht helfen, wie das dann ausschauen muss?
Ich kann dir auch den HTML-Teil reinstellen, da denk ich, der stimmt, aber beim PHP-Teil steh ich irgendwie an..

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
  <?php
  $name = ($_POST['name']);
  $nachricht = ($_POST['nachricht']);

if ( ($name == "") )
{
echo "Du hast nicht alles korrekt ausgefüllt!";
}
else
{
mail("kronenhof@gmx.at",$nachricht,"Von: $name");
echo "Deine E-Mail wurde erfolgreich verschickt.";
}
?>
</body>
</html>
*sue
Subba Tut!

ich habs kapiert und werde gleich noch mehr rumbasteln smile

DANGEEE
SUSI

edit: *in die Luft spring*
ich konnte sogar das Formualr umgestalten (Probemitglied anmeldung!)
GENIAL
ich weiss jetzt wenigstens wie DAS geht großes Grinsen
*freu*
Suche nur noch einen guten Tut feur ein Gaestebuch
Farina
Meins sagt hier läge ein Fehler:
mail("Blacky2901@aol.com",$bday,$homepage,$icq,$horse,$aussehen,$age,$gesch
l,$rosse,$charakter,$herd,$extra,$sonstiges"From: $name <$email>");
Farina
Jap. fröhlich

<?php
// Mit diesen Codes "holt" man sich jetzt die Angaben, die im Formular gemacht wurden:
$name = ($_POST['name']);
$email = ($_POST['email']);
$name = ($_POST['bday']);
$name = ($_POST['homepage']);
$name = ($_POST['icq']);

$betreff = ($_POST['horse']);
$name = ($_POST['aussehen']);
$name = ($_POST['age']);
$name = ($_POST['geschl']);
$name = ($_POST['rosse']);
$nachricht = ($_POST['charakter']);
$name = ($_POST['herd']);

$name = ($_POST['extra']);
$nachricht = ($_POST['sonstiges']);

// Um zu überprüfen, ob auch wirklich alle Angaben gemacht wurden, folgt jetzt eine if-Abfrage:

if ( ($name == "") OR ($email == "") OR ($horse == "") OR ($charakter == "") OR ($extra == "") )
{
echo "Du hast nicht alle Angaben gemacht! Gehe zurück und korrigiere dies!";
}
// Das heißt: wenn (if) eine der Angaben nicht gemacht werden, erscheint der Text vom echo()-Befehl. Ansonsten (else) wird die e-Mail verschickt:
else
{
mail("Blacky2901@aol.com",$bday,$homepage,$icq,$horse,$aussehen,$age,$gesch
l,$rosse,$charakter,$herd,$extra,$sonstiges"From: $name <$email>");
echo "Deine Anmeldung wurde erfolgreich verschickt.";
}
?>
Farina
Hilfe =(
Farina
Also ich habs jetzt so geändert:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
<?php
// Mit diesen Codes "holt" man sich jetzt die Angaben, die im Formular gemacht wurden:
$name = ($_POST['name']);
$email = ($_POST['email']);
$bday = ($_POST['bday']);
$homepage = ($_POST['homepage']);
$icq = ($_POST['icq']);

$horse = ($_POST['horse']);
$aussehen = ($_POST['aussehen']);
$age = ($_POST['age']);
$geschl = ($_POST['geschl']);
$rosse = ($_POST['rosse']);
$charakter = ($_POST['charakter']);
$herd = ($_POST['herd']);

$extra = ($_POST['extra']);
$sonstiges = ($_POST['sonstiges']);

// Um zu überprüfen, ob auch wirklich alle Angaben gemacht wurden, folgt jetzt eine if-Abfrage:

if ( ($name == "") OR ($email == "") OR ($horse == "") OR ($charakter == "") OR ($extra == "") OR ($aussehen == "") )
{
echo "Da fehlt was ;) Checke die Felder Name, eMail, Pferdename, Charakter, Extra & Aussehen";
}
// Das heißt: wenn (if) eine der Angaben nicht gemacht werden, erscheint der Text vom echo()-Befehl. Ansonsten (else) wird die e-Mail verschickt:
else
{
mail("Blacky2901@aol.com",$bday,$homepage,$icq,$horse,$aussehen,$age,$geschl,$rosse,$charakter,$herd,$extra,$sonstiges,"From: $name <$email>");
echo "Deine Anmeldung wurde erfolgreich verschickt.";
}
?>



Aber es kommt folgende Meldung beim Abschicken des Formulars:
Parse error: syntax error, unexpected '"' in /usr/export/www/vhosts/funnetwork/hosting/caballosrio/Legendengaerten/actio
n_formular.php on line 29