Problem mit Formmailer

345speedy

Grünschnabel
Guten Tag,

ich habe heute mal versucht ein Kontaktformular zu schreiben, jedoch bekomme ich der Zeit, beim aufrufen des Formulars nur Fehlermeldungen.


Hier erst einmal die Fehlermeldungen:

Code:
Warning: mail() expects at most 5 parameters, 9 given in /var/www/web60/html/mail.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web60/html/mail.php:17) in /var/www/web60/html/mail.php on line 18


Und hier meine mail.php

Code:
<?php
$empfaenger = "XXXXXXXXX";
$betreff = "Sunshine-Beats- DJ Bewerbung";
$name = "Name";
$alter = "Alter";
$musik = "Musikrichtung";
$sende = "Sendezeiten";
$erfahrung = "Erfahrungen";
$internetleitung = "Internetleitung";
$email = "E-mail Adresse";
if(empty($name) || empty($email) || empty($alter) || empty($musik) || empty($sende) || empty($erfahrung) || empty($internetleitung))
{
header("Location: danke_fehler.html");
}
else
{
mail("$empfaenger", "$betreff", "$name", "$alter", "$musik", "$sende", "$erfahrung", "$internetleitung", "$email");
header("Location: danke.html");
}
?>


Kann mir vielleicht einer sagen wie ich die Fehler beheben kann?
 
PHP:
mail($empfaenger, $betreff, "Name: ".$name."\r\n".
                            "Alter: ".$alter."\r\n".
                            "Musik: ".$musik."\r\n".
                            "Sende: ".$sende."\r\n".
                            "Erfahrung: ".$erfahrung."\r\n".
                            "Internetleitung: ".$internetleitung."\r\n".
                            "Adresse: ".$email);
Versuche es zu verstehen ;)
 
Also könnte man das Problem mit den 9 Paramenter eigentlich so lösen?:

Man nimmt diese Parameter:

$name = "Name";
$alter = "Alter";
$musik = "Musikrichtung";
$sende = "Sendezeiten";
$erfahrung = "Erfahrungen";
$internetleitung = "Internetleitung";

Und fügt sie zu einer zusammen?

Also ich würde dies dann so machen:

$text = "$name", "$alter", "$musik", "$sende", "$erfahrung", "$internetleitung";

Kann aber auch sein das ich jetzt komplett flasch liege, kenn mich da noch nicht so aus.
 
Die ganzen Antworten vor meinem Beitrag habe ich nicht gesehn gehabt. Deshlab mein eigenversuch.


Werde mir jetzt eure Ratschläge mal zu herzen nehmen und weiter ausprobieren.


Dankeschön für die schnelle Hilfe.
 
Zuletzt bearbeitet:
So, die E-mail wird nun gesendet allerdings noch nicht so wie ich es möchte..


Und zwar sieht die E-mail die ich erhalte der zeit so aus:

Name: Name
Alter: Alter
Musik: Musikrichtung
Sende: Sendezeiten
Erfahrung: Erfahrungen
Internetleitung: Internetleitung
Adresse: E-mail Adresse

Irgendiwe werden die eingaben die eigentlich in den Input und Textareas gemacht werden, nicht wirklich ausgelesen und übergeben.. anscheinend hab ich wirklich was komplett falsch gemach :(
 
Hast du auf der vorherigen Seite das Formular korrekt gebastelt?
Wenn ja, dann bring die Daten hier auch mal ins Spiel...

Die form method="post" und dann kannst dud ie Variablen mit $_POST['Name'] empfangen und verarbeiten...

Also eigentlich nur da:
Code:
$empfaenger='Wodiemail@hinsoll.de';
$betreff='warumkommtdiemail?';

//Leg die beiden als standart SO fest, dann brauch das das Formular nicht immer machen ;)

mail($empfaenger, $betreff, "Name: ".$_POST['$name']."\r\n".
                            "Alter: ".$_POST['$alter']."\r\n".
                            "Musik: ".$_POST['$musik']."\r\n".
                            "Sende: ".$_POST['$sende']."\r\n".
                            "Erfahrung: ".$_POST['$erfahrung']."\r\n".
                            "Internetleitung: ".$_POST['$internetleitung']."\r\n".
                            "Adresse: ".$_POST['$email']);
Die Variablen so ändern...
 
Zurück