Formmailer mit PHP |
White_Mustang
» Füxin olé «
Dabei seit: 06.02.2009
Beiträge: 5.106
Herkunft: Aachen Name: Whity
|
|
Da ich jetzt schon öfter danach gefragt worden bin habe ich mir jetzt mal vorgenommen ein Formmailer-Tutorial online zu stellen. Ich bin nicht so gut im Erklären, also fragt ruhig, wenn ihr Fragen habt (:
Beachtet, dass ich das ganze jetzt als Kontaktformular darstelle, die Angaben können jeweils aber auch als Anmeldebogen, etc. verändert werden!
SCHRITT 1:
Zu aller erst erstellt ihr eine neue Datei in eurem Editor.
Ich benenne sie jetzt mal formular.html. Wichtig ist, das dies eine HTML Datei ist.
In dieser HTML schreibe ich dann folgendes:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
<form action="action_formular.php" method="POST">
### Das "action_formular.php" muss an euren Namen angepasst werden, wie ihr die php-Datei benennt, also "action_NAME.php" ###
<table><tr><td><b>Name:</b></td><td><input type="text" name="name"></td></tr>
<tr><td><b>eMail-Adresse:</b></td><td><input type="text" name="email"></td></tr>
<tr><td><b>Betreff:</b></td><td><input type="text" name="betreff"></td></tr>
<tr><td><b>Homepage:</b></td><td><input type="text" name="homepage"></td></tr>
<tr><td><b>Nachricht:</b></td><td><textarea name="nachricht"></textarea></td></tr>
### Dies sind eure Textfelder. Also das, was ihr nachher auch auf eurer Homepage seht, wie Name, eMail-Adresse, Betreff des Kontakts etc. Wichtig sind die input-namen (name="TEXT") diese müssen später in der php-Datei angepasst werden.###
<tr><td><input type="submit" value="Absenden?"></td><td><input type="reset" value="Zurücksetzen?"></td></tr></table></form>
### Hiermit sind die Buttons "Absenden" und "Zurücksetzen" gemeint, die unter dem Formular sind! ### |
|
Die Texte in den # sind nur Hilfen, sie sollten nachher aus der Datei entfernt werden.
Kleine Erklärung noch zu den input typen:
"text" definiert ein einfaches Textfeld
"password" definiert ein Passwort-Textfeld mit •
Dann gibt es noch "textarea" diese definiert ein Mehrzeiliges Textfeld.
SCHRITT 2:
Nachdem ihr die Datei komplett nach euren Wünschen angepasst habt, öffnet ihr eine neue Datei, die ich, passend zur HTML action_formular.php nenne. Wichtig ist hier, dass ihr die Datei genau so nennt, wie ihr es oben bei <form action="action_formular.php"> angegeben habt und es eine PHP Datei ist.
In dieser füge ich folgendes ein:
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:
|
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$homepage = $_POST['homepage'];
$nachricht = $_POST['nachricht'];
if ( ($name == "") OR ($email == "") OR ($nachricht == "") )
### Hier findet ihr die vorher angegebenen input Namen wieder. Hier ist es wichtig, dass hier sowohl hinter dem $ als auch in den ['NAME'] die gleichen Angaben stehen. Das if definiert die Angaben die gemacht werden MÜSSEN! ###
{
echo "Du hast nicht alle Felder ausgefüllt! Gehe <a href='javascript:back()'>zurück</a> und korrigiere dies!";
}
### Das echo steht für den Hinweis, das nicht alle Pflichtfelder ausgefüllt worden sind! ###
else
{
$text = "Name: $name
E-Mail: $email
Homepage: $homepage
Nachricht: $nachricht";
mail("EMAIL-ADRESSE",$betreff,$text,"From $name <$email>");
echo "Deine e-Mail wurde erfolgreich abgeschickt.";
}
### Im else definiert sich der Inhalt der eMail die ihr bekommt, also der Name des Absenders, die eMailadresse, Homepage, Betreff und Inhalt. Bei der mail müsst ihr die eMailadresse angeben, an die das Formular gesendet werden soll, also eure. ###
?>
|
|
Diese beiden Dateien nun speichern und in den selben Ordner per FTP uploaden. Es ist kein Problem den HTML-Teil auf eure Seite einzubauen, dazu fügt ihr diesen Teil einfach in euren BODY-Tag.
__________________
|
|
18.06.2011 16:44 |
|
|
White_Mustang
» Füxin olé «
Dabei seit: 06.02.2009
Beiträge: 5.106
Herkunft: Aachen Name: Whity
Themenstarter
|
|
Bitte, bitte, ich bin froh, wenn ich auch mal helfen kann xD
__________________
|
|
20.07.2011 23:14 |
|
|
Luca_G
Mitglied
Dabei seit: 05.11.2007
Beiträge: 217
|
|
Kannst du mir auch erklären wie ich ein Auswahlfeld mache?
Also das man z.B. gefragt wird "wie viel möchtest du haben" und man zwischen 1,2,3,4 wählen kann?
wäre super!
|
|
17.08.2011 14:43 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
Ich kanns dir auch sagen ;D
code: |
1:
2:
3:
|
<select name="feldname">
<option value="1">Auswahlmöglichkeit 1</option>
<option value="2">Auswahlmöglichkeit 2</option></select> |
|
__________________
|
|
17.08.2011 14:50 |
|
|
Ales
Glaubst du an das Unmögliche?
Dabei seit: 27.01.2007
Beiträge: 3.241
Herkunft: Oberbayer, bei München Name: Alex
|
|
ich hab mal ne Frage
also so funktioniert es einwandfrei, aber irgendwie kommen keine e-mails an -.-
ich hab es jetzt so gelassen, weil ich es als Kontaktformular brauche, aber wo muss ich jetzt genau die E-mail, also meine, eintragen?
weil ich habs jetzt da eingetragen, wo groß E-mail adresse steht, aber irgendwie kommt nichts an o.O
|
|
24.09.2011 12:23 |
|
|
Oli
Server-Administrator
Dabei seit: 13.06.2010
Beiträge: 1.540
|
|
Zitat: |
Original von Ales
ich hab mal ne Frage
also so funktioniert es einwandfrei, aber irgendwie kommen keine e-mails an -.-
ich hab es jetzt so gelassen, weil ich es als Kontaktformular brauche, aber wo muss ich jetzt genau die E-mail, also meine, eintragen?
weil ich habs jetzt da eingetragen, wo groß E-mail adresse steht, aber irgendwie kommt nichts an o.O |
Hi,
hast du bei
php: |
1:
|
mail("EMAIL-ADRESSE",$betreff,$text,"From $name <$email>"); |
|
EMAIL-ADRESSE durch deine Mailadresse ersetzt?
LG
|
|
24.09.2011 12:32 |
|
|
Ales
Glaubst du an das Unmögliche?
Dabei seit: 27.01.2007
Beiträge: 3.241
Herkunft: Oberbayer, bei München Name: Alex
|
|
ja hab ich
darum irritiert es mich ja auch
ja hab ich
php: |
1:
2:
3:
4:
5:
6:
7:
|
$text = "Name: $name
E-Mail: $email
Homepage: $homepage
Nachricht: $nachricht";
mail("Alexandragoder@web.de",$betreff,$text,"From $name <$email>");
echo "Deine e-Mail wurde erfolgreich abgeschickt.";
} |
|
|
|
24.09.2011 12:47 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
Hast du nachgeschaut, ob die Mail im Spamordner gelandet ist?
__________________
|
|
24.09.2011 13:34 |
|
|
Ales
Glaubst du an das Unmögliche?
Dabei seit: 27.01.2007
Beiträge: 3.241
Herkunft: Oberbayer, bei München Name: Alex
|
|
ja, alles geguckt
ich probiers mal nochmal aus
|
|
24.09.2011 14:18 |
|
|
Javerheri
Mitglied
Dabei seit: 02.10.2009
Beiträge: 140
Herkunft: Oyten bei Bremen
|
|
|
08.11.2011 23:10 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
In Zeile 21 (in deinem Editor) fehlt der Beginn der Zeile und Spalte, in welcher der Button stehen sollte. Also ganz am Anfang der Zeile fehlt das <tr><td>
__________________
|
|
09.11.2011 00:50 |
|
|
Javerheri
Mitglied
Dabei seit: 02.10.2009
Beiträge: 140
Herkunft: Oyten bei Bremen
|
|
danke, dass hat schonmal geklappt
da ich beim coden immer nur "bahnhof umsteigen" denk, ist schon wieder was passiert
Die Zeile für den Namen ist weg
und dadrunter sollte eigentlich eine Auswahlmöglichkeit sein (Züchter, Privatperson, Verein)
und ganz unten, kann man die Buttons wo "abschicken" und "zurücksenden" drauf steht dunkler machen und näher zusammenrücken?
__________________ Biete kostenlose Fotoshootings
|
|
09.11.2011 21:13 |
|
|
Javerheri
Mitglied
Dabei seit: 02.10.2009
Beiträge: 140
Herkunft: Oyten bei Bremen
|
|
vielen Dank für deine Hilfe
jetzt noch 2 Schöhnheitssachen:
- die Zeile für den Namen auch dort zu platzieren, wo die anderen sind, also so ausrichten
-die buttons dunkler machen
wenn ich die entwurfsansicht anmach, passiert nichts, wenn die Auswahlfrage anklicke. Muss das so, oder hab ich was falsch gemacht?
__________________ Biete kostenlose Fotoshootings
|
|
12.11.2011 20:38 |
|
|
Skyler
...ehemals ~Enkeli~
Dabei seit: 25.01.2009
Beiträge: 820
Herkunft: Wunsiedel
|
|
bei mir sagt das formular ich habe nicht alle felder ausgefüllt obwohl ich es habe.
__________________
|
|
02.02.2012 18:17 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
Vielleicht hast du die Variablen unterschiedlich genannt, vom Formular und von der ABfrage ob sie ausgefüllt sind? Aber wenn du den Code reinstellst könnte man etwas mehr tun als nur raten
__________________
|
|
02.02.2012 18:26 |
|
|
Skyler
...ehemals ~Enkeli~
Dabei seit: 25.01.2009
Beiträge: 820
Herkunft: Wunsiedel
|
|
Formular
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
<form action="action_formular.php" method="POST">
<table><tr><td><b>Name:</b></td><td><input type="text" name="name"></td></tr>
<tr><td><b>eMail-Adresse:</b></td><td><input type="text" name="email"></td></tr>
<tr><td><b>Pflegepferd:</b></td><td><input type="text" name="pflegepferd"></td></tr>
<tr><td><b>Nachricht:</b></td><td><textarea name="bewerbungstext"></textarea></td></tr>
<tr><td><input type="submit" value="Absenden?"></td><td><input type="reset" value="Zurücksetzen?"></td></tr></table></form> |
|
php-datei
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:
|
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$pflegepferd = $_POST['pflegepferd'];
$bewerbungstext = $_POST['bewerbungstext'];
if ( ($name == "") OR ($email == "") OR ($nachricht == "") )
{
echo "Du hast nicht alle Felder ausgefüllt! Gehe <a href='javascript:back()'>zurück</a> und korrigiere dies!";
}
else
{
$text = "Name: $name
E-Mail: $email
Pflegepferd: $pflegepfed
Bewerbungstext: $bewerbungstext";
mail("kirosmaus@popmessenger.de",$text,"From $name <$email>");
echo "Deine e-Mail wurde erfolgreich abgeschickt.";
}
?> |
|
__________________
|
|
02.02.2012 18:47 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
Du fragst in Zeile 6 ob $nachricht leer ist - die Varible hast du nirgendwo gesetzt, daher gilt sie quasi als leer. Es müsste bei dir in der if-Abfrage $bewerbungstext heißen (:
__________________
|
|
02.02.2012 18:57 |
|
|
|
|
|
Impressum
|