Kontaktformular mit PHP

1Sm!le
Wo definierst du $betreff und $nachricht?
Friederike
Ähm... das könnte es allerdings sein. xD
Aber da kommt gleich eine nächste Frage auf und zwar habe ich ja gelesen, dass der mail- Befehl nicht verändert werden darf. Die Felder $betreff und $nachricht tauchen in meinem Formular aber gar nicht auf. Muss ich dann da alle anderen Befehle reinschreiben oder wie funktioniert das?
Nanni
Was nicht verändert werden darf, ist die Zeile mit dem mail()
Irgendwo davor kannst du die Texte definieren, zB in Zeile 26 würde es gut dazupassen.

$betreff = "Deckantrag";
$nachricht = "Hallo Friederike!
$name von dem Hof $hof möchte einen Decksprung... und so weiter, text text text";

Du kannst in den $feldern zwischen den "" Angaben, die du darüber definiert hast, einbauen. $name wird in der Nachricht dann als der Name ersetzt, den der User ausgefüllt hat... aber das ist eh klar, oder?

LG Nanni
Friederike
Vielen Dank, ich glaube jetzt hab ich es verstanden. großes Grinsen
Ich werds gleich mal ausprobieren.

EDIT:
+seufz+ Jetzt sagt er mir wieder alles würde verschickt werden, aber es kommt eine E- Mail an. Also wieder am Anfang angekommen. -.-

code:
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:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
<!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']);
  $hp = ($_POST['hp']);
  $adhp = ($_POST['adhp']);
  $ndst = ($_POST['ndst']);
  $radst = ($_POST['radst']);
  $stdst = ($_POST['stdst']);
  $gehe = ($_POST['gehe']);
  $gedeck = ($_POST['gedeck']);
  $gedeckart = ($_POST['gedeckart']);
  $betreff = "Deckauftrag";
  $nachricht = "$name, $email, $hp, $adhp, $ndst, $radst, $stdst, $gehe, $gedeck, $gedeckart";

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

if ( ($name == "") OR ($email == "") OR ($hp == "") OR ($adhp == "") OR ($ndst == "") OR ($radst == "") OR ($stdst == "") OR ($gehe == "") OR ($gedeck == "") )
{
echo "Leider wurden nicht alle notwendigen Angaben gemacht. Ich bitte dies vor erneutem Abschicken zu korrigieren.";
}
// 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("friederike.steinke@gmx.de","$betreff","$nachricht","From: $name <$email>");
echo "Dein Auftrag wurde erfolgreich verschickt.";
}
?>

</body>

</html>
Nanni
Ich weiß jetzt nicht was alles als Fehler wirken kann, aber bei $nachricht und $betreff brauchst/darfst du keine " verwenden.
Bei welchem Anbieter bist du denn?
Friederike
Okay, ich werd das noch mal ändern.
Als Anbieter hab ich piranho.com; mit PHP sollte der eigentlich keine Probleme haben, habe nämlich schon andere PHP- Anwendungen in Gebrauch.
SaraliebtPferde
Unterstützt Piranho die Funktion mail()? Das tun manche Anbieter nämlich nicht Augenzwinkern z.B. habe ich da das Problem immer bei Kilu gehabt . Am besten Mal beim Anbieter nachfragen.
Friederike
Okay, danke. Du hattest recht, piranho unterstützt die mail()- Funktion nicht. ^^
.Maybe
Ich würde erstmal alle Sonderzeichen bei den Variablen weglassen (´, ? usw.) und dann nochmal genau überprüfen, dass die Variablen richtig übergeben werden, schau mal hier, es heißt nicht genau gleich:

<input name="weissdeinehofbesitzerinbescheid"
type="text">

$WeißDeineHofbesitzerinBescheid? = ($_POST['WeißDeineHofbesitzerinBescheid?']);
Knopfloch
Und bzgl. Zeile 31 der PHP-Datei lies dir mal die ersten Seiten dieses Threads durch, Julia93.
Baby cat
HI,
leute ein szper tolles tut, es funktioniert auch alles udn so aber
ich bekomme keien Mail. die ist auch nirgend wo im Spamordner ect.

weiß jemand woran das liegen kann??
Nanni
Bei kilu funktionierts nicht.
Und natürlich kann ein Fehler im Code sein.
Baby cat
Also bei mir ist kein feheler im Code denn
die formulare gehen seit mittwoch schon nciht mehr und
ich bin bei funpic
Black Katrin
funpic hat sehr wahrscheinlich diese funktion abgestellt. und dies zu gutem grunde weil diese funktion oft zu missbrauch führt. da kansnte nix machen

edit: von kilu WEISS ich es das sie die mail() funktion nicht utnerstützen
Baby cat
Zitat:
Original von Black Katrin
funpic hat sehr wahrscheinlich diese funktion abgestellt. und dies zu gutem grunde weil diese funktion oft zu missbrauch führt. da kansnte nix machen

edit: von kilu WEISS ich es das sie die mail() funktion nicht utnerstützen


ohne bescheid zu sagen?? stellt funpic von heut auf morgen so was ab,
finde ihc sehr merkwürdig
Black Katrin
nur weil dus nit mit bekommen hast, heisst es nicht das sie es nicht angekündigt haben. abgsehen daovn sind sie dazu nicht verpflichtet
Baby cat
mh, achso und wie kann cih dem entegegen wirken??

weil ich habe bei Funpic grade heuet einen tread gefunden wo ganz viele beschwerden sind das dies grade alles nihct funktioniert
Nanni
1. Hat das mit dem Tutorial hier wenig zu tun.
2. Wendest du dich da am besten freundlich an funpic. Wenn sie die Funktion wirklich abgestellt haben, entweder Formulare erstellen oder alles in die Datenbank eintragen lassen und statt ins Postfach auf die HP schauen.
Jesssi
es kommt zwar dass die e-mail abgeschickt worden ist, allerdings kommt sie i.wie nie an^^

HTML
code:
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:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
<link rel="stylesheet" href="style.css" type="text/css">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>probeanmeldung</title>
</head>
<body>
<small style="font-family: Verdana;"><small><span
 style="font-weight: bold;">Probeanmeldung</span><br>
<br>
</small></small>
<div style="text-align: center;">
<div style="text-align: left;"><small
 style="font-family: Verdana;"><small>Wir freuen uns
sehr, dass du dich bei uns anmelden m&ouml;chtest. Bevor du
Mitglied werden kannst, musst du allerdings eine kleine Probezeit
bestehen. Mehr dazu unter FAQs.</small></small><br>
</div>
<small style="font-family: Verdana;"><small><br>
<br>
<form action="action_probeanmeldung.php" method="post">
  <center><table>
    <tbody>
      <tr style="font-weight: bold;">
        <td><small><small>Name:</small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small><input name="name"
 type="text"></small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small>Emailadresse:</small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small><input name="email"
 type="text"></small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small>Schulpferd:</small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small><input name="schulpferd"
 type="text"></small></small></td>
      </tr>
      <tr style="font-weight: bold;">
        <td><small><small>Sonstiges</small></small></td>
      </tr>
      <tr>
        <td><textarea name="sonstiges"></textarea></td>
      </tr>
      <tr>
        <td><input value="Absenden" type="submit"><input
 value="Zur&uuml;cksetzen" type="reset"></td>
      </tr>
    </tbody>
  </table></center>
</form>
</small></small></div>
</body>
</html>


PHP
code:
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:
34:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>action_probeanmeldung</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']);
  $schulpferd = ($_POST['schulpferd']);
  $sonstiges = ($_POST['sonstiges']);

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

if ( ($name == "") OR ($email == "") OR ($schulpferd == "") OR ($sonstiges == "") )
{
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("waldenau@gmx.at",$schulpferd,$sonstiges,"From: $name <$email>");
echo "Deine E-Mail wurde erfolgreich verschickt.";
}
?>
</body>
</html>
.chilli
Ist bei mir auch so. Bei mir erscheint aber folgendes: "Warning: mail() expects at most 5 parameters, 12 given in /usr/export/www/vhosts/funnetwork/hosting/dressurpferde/HS/action_deckantra
g.php on line 26
Deine E-Mail wurde erfolgreich verschickt."

deckantrag.htm
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Deckantrag</title>
     <link rel="stylesheet" href="style.css" type="text/css">
  </head>
   <body>
<form action="action_deckantrag.php" method="POST">
<table><tr><th>Name</th><td><input type="text" name="name"></td></tr>
<tr><th>E-Mail</th><td><input type="text" name="email"></td></tr>
<tr><th>Hofname</th><td><input type="text" name="hofname"></td></tr>
<tr><th>Hofaddy</th><td><input type="text" name="hofaddy"></td></tr>
<tr><th>Stute</th><td><input type="text" name="stute"></td></tr>
<tr><th>Steckbrieflink</th><td><input type="text" name="steckilink"></td></tr>
<tr><th>Hengst</th><td><input type="text" name="hengst"></td></tr>
<tr><th>Deckdatum</th><td><input type="text" name="deckdatum"></td></tr>
<tr><th>Abfohldatum</th><td><input type="text" name="abfohldatum"></td></tr>
<tr><th>Platz f&uuml;r eine Nachricht, W&uuml;nsche...</th><td><textarea name="nachricht"></textarea></td></tr>
<tr><th><input type="submit" value="Abschicken"></th><th><input type="reset" value="Zurücksetzen"></th></tr>
</table>
</form>
</body>
</html>


action_deckantrag.php
code:
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:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>SEITENTITEL</title>
     <link rel="stylesheet" href="style.css" type="text/css">
  </head>
   <body>
  <?php
  $name = ($_POST['name']);
  $email = ($_POST['email']);
  $hofname = ($_POST['hofname']);
  $hofaddy = ($_POST['hofaddy']);
  $stute = ($_POST['stute']);
  $steckilink = ($_POST['steckilink']);
  $hengst = ($_POST['hengst']);
  $deckdatum =($_POST['deckdatum']);
  $abfohldatum = ($_POST['abfohldatum']);
  $nachricht = ($_POST['nachricht']);

if ( ($name == "") OR ($email == "") OR ($hofaddy == "") OR ($steckilink == "") )
{
echo "Du hast nicht alle Angaben gemacht! Bitte korrigiere dies!";
}
else
{
mail("dressurpferde@ymail.com",$name,$email,$hofname,$hofaddy,$stute,$steckilink,$hengst,$deckdatum,$abfohldatum,$nachricht,"From: $name <$email>");
echo "Deine E-Mail wurde erfolgreich verschickt.";
}
?>
</body>
</html>