PHP-Fehler Formular

wavetraxx

Erfahrenes Mitglied
Hallo,
eins vorab: ich kenne mich mit PHP nicht gut aus. Ich habe im Forum Html ein Php Code gefunden, der ein HtmlFormular als Email umwandelt/versendet:
http://www.tutorials.de/tutorials190838.html&highlight=mail+formular

Da habe ich mir gedacht: "Ja dass find ich aber toll".
Ich habe nun versucht das ganze auf mein Formular anzuwenden. Leider funktioniert das ganze bei mir so nicht.
"Fehlende Angaben" (habe aber das ganze Formular ausgefüllt)
Zudem habe ich in der HTML Datei via JAVASCRIPT ein FunctionsCheck, bei dem PHP-Code ist auch ein FunctionsCheck dabei, den ich nicht benötige.
Sobald ich aber irgendetwas aus dem PHP Code rausnehme, bekomme ich ne neue Fehlermeldung.

Ich habe das Formular und den PHP-Code als Textdatei angehängt.

Kann mir da jemand weiterhelfen? :rolleyes:
 

Anhänge

Hierzu gibt es einen Beitrag in der FAQ: Ich kann nach Abschicken des Formulars nicht auf meine Variablen zugreifen, was tun?
Diese könnte man eigentlich abschaffen, da sie eh niemand zu beachten scheint..
PHP:
if ( empty($_POST['Name_r'] || empty($_POST['Vorname_r'])) { 
  fehler() ; 
} else { 
mail_senden($_POST['Name_r'], $_POST['Vorname_r'], ...) ; 
}
 
@Timbonet
habe im FAQ auch nachgeschaut, leider verstehe ich vom PHP-Code sehr wenig.

Ich habe Deinen PHP Code auf meinen übernommen und abgeändert, leider habe ich immernoch eine Fehlermeldung und tut nix....

Parse error: parse error, unexpected T_BOOLEAN_OR, expecting ')' in D:\www\perfects\schiffreisen\formularmail.php on line 82
 

Anhänge

gib mal anstatt
PHP:
if ( empty($_POST['Name_r'] || empty($_POST['Vorname_r']))

folgendes ein:
PHP:
if ( empty($_POST['Name_r']) || empty($_POST['Vorname_r']))

Dann sollte eigentlich hinhauen, glaube ich.

Gruezi
 
@nostradamos
Ja, jetzt kann ich es immerhin schon mal verschicken. :-)

2 Punkte müsste ich jetzt noch wissen:

1. Wo/Wie muss ich die CheckFunktion beim PHP rausnehmen (damit alles noch funktioniert, habe ich die CheckFunktion ja bereits im Formular via JAVA-SCRIPT eingefügt)

und

2. Bei erfolgreicher Bestellung eine HMTL Seite aufgerufen wird (also nicht die PHP Meldung "die Anfrage wurde erfolgreich verschickt" sondern z.b. Muster.htm )

Gruezi retour
 
Wenn ich das so richtig sehe musst du folgendes rausnehmen
PHP:
if ( empty($_POST['Name_r'] || empty($_POST['Vorname_r'])) { 
   fehler() ; 
 } else {

Nimm ausserdem folgendes raus
PHP:
$header = "From: \"Kontaktformular@Webserver\" <admin@blabla.de>" ;

und veraendere diese die darauffolgende Zeile so:
PHP:
mail($empfaenger, "Kontaktformular", $text, $email_r); ?>
Dadurch wird dir dann als Adsender mailadresse angezeigt, die du weiter oben definiert hast. Kannst dann also einfach auf antworten druecken anstatt die adresse per hand einzugeben.

Und das mit dem Weiterleiten erreichst du mit hilfe eines Headers ich schau mal ob ich da was finde:
PHP:
header( "Location: http://www.deineseite.de/diedankeseite.html" );

Damit solte eigentlich alles laufen.
 
@nostradamos
Danke für deine Hilfe, funktioniert. Supiiiii. :-)

Als Email-Absender wird die Email des Provider angegeben, kann man das eigentlich noch ändern?

Oder ist das Fix?

Gruss und nochmals vielen Dank
 
Zuletzt bearbeitet:
Die Emailadresse kannst du im Header der versendeten Mail angeben, wie du diesen modifizierst, steht unter [phpf]mail[/phpf].
 
Zurück