• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kontaktformular funktioniert nicht

FBA

Neues Mitglied
Hallo!

Ich habe ein HP fast fertiggestellt, jedoch funktioniert das Kontaktformular nicht.

Weiß jemand wieso nicht? Muß ich noch irgendwas programmieren?
 
Zuletzt bearbeitet:
Ja, natürlich. In HTML legst Du nur das Formular selbst fest. Eine Auswertung erfolgt über ein serverseitiges Script. Du verlinkst nur auf die index.php, die offensichtlich das Formular nicht auswertet.
 
Ja, natürlich. In HTML legst Du nur das Formular selbst fest. Eine Auswertung erfolgt über ein serverseitiges Script. Du verlinkst nur auf die index.php, die offensichtlich das Formular nicht auswertet.


Danke. Sowas dachte ich mir schon. Hat mir jemand einen Link zu ner Seite, wo ich so ein Script ohne viel php erlernen kann?
 
Je nachdem, was Du damit vorhast, wirst Du nicht drum rum kommen, PHP oder eine andere serverseitige Sprache zu erlernen.

Wenn es nur darum geht, die Formularinhalte per Mail zu verschicken, dann reicht wohl ein Formmailer. Wenn Du aber mehr damit machen willst, brauchst Du ein Script. Und ob Du da was vorgefertigtes bekommen wirst, für Deine eigenen Wünsche, ist fraglich, weil man ja quasi alles damit machen kann.
 
php script programmiert; Syntax Fehler

@efchen: vielen Dank! Aber Formmailer ist kostenpflichtig. :-(

Ich habe nun die Seite mal nach Webmaster Resource: Tutorials: PHP: Kontaktformular mit PHP umprogrammiert. Kontakt.html wurde zu kontakt.php.

Die Verlinkung ist bisher aber nur auf der index.html meiner HP aktualisiert.

Allerdings kommt jetzt immer die Fehlermeldung" parse error:syntax error unexpected '{' ... in line 15. "

Das betrifft die Zeile mit dem roten {. Die Nachfolgezeile habe ich eingesetzt. Vielleicht liegt hier der Fehler? Es soll hier eine Verlinkung zur Fehlerseite.html entstehen.

PHP-Code:

PHP:
if($_REQUEST['Send'])
{
    if(empty($_REQUEST['Name']) || empty($_REQUEST['Vorname']) || empty($_REQUEST['PLZ']) || empty($_REQUEST['Email']) || empty($_REQUEST['Anliegen']))
    {
        header("Location: http://fba2000.fb.funpic.de/Fehlerseite.htm;l")
    }
    else
    {
 
Zuletzt bearbeitet von einem Moderator:
Unabhängig von dem parse error, den ich nicht nachvollziehen kann, wird die header()-Funktion nicht funktionieren. Zumindest nicht, wenn Du Dich an das Tutorial gehalten hast. Die Header-Funktion wird nur ausgeführt, wenn noch keinerlei Informationen an den Browser gesendet wurden.

Zurück zu dem parse error. Poste doch bitte den ganzen Code, dann aber bitte mit PHP-Code-Tags.

Gruß thuemmy
 
Danke für deine Antwort. Das mit dem Header wußte ich nicht. Ich will bloß eine Verlinkung zu der Fehler- und Antwortseite mit den Fallabfragen.Liegen beide im selben Ordner wie die PHP hier.

PHP:
<?php

$Empfaenger = "[email protected]";

if($_REQUEST['Send'])
{
    if(empty($_REQUEST['Name']) || empty($_REQUEST['Vorname']) || empty($_REQUEST['PLZ']) || empty($_REQUEST['Email']) || empty($_REQUEST['Anliegen']))
    {
        header("Location: http://fba2000.fb.funpic.de/Fehlerseite.html")
    }
    else
    {
        $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
        while(list($Formularfeld, $Wert)=each($_REQUEST))
        {
            if($Formularfeld!="Send")
            {
                $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
            }
        }
        $Mailnachricht .= "\nDatum/Zeit: ";
        $Mailnachricht .= date("d.m.Y H:i:s");
        $Mailbetreff = "Kontakt: ";
        $Mailbetreff .= $_REQUEST['Anliegen'];
        mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
        header("Location: http://fba2000.fb.funpic.de/Antwortseite.html");
    }
}
else
{
    header("Location: http://fba2000.fb.funpic.de/Fehlerseite.html");
}

?>
 
Zuletzt bearbeitet von einem Moderator:
Der Fehler ist schon wieder so simpel, dass man ihn übersehen kann. Nach der header-Funktion fehlt ein Semikolon. Bei parse errors, bei denen irgendwas unerwartetes (unexpected) angemault wird, fehlt oft kurz vorher ein Semikolon.

Wenn ich ein Formular erstelle mache ich die Fehlerauswertung und Verarbeitung immer direkt am Anfang der Seite. Also noch vor dem Doctype. Dann kann ich auch die header()-Funktion verwenden. Und wenn nicht alle Felder ausgefüllt sind, dann zeige ich das Formular an (die schon ausgefüllten Felder bleiben gefüllt) und zusätzlich gebe ich eine Fehlermedlung aus.

Hier habe ich die Formularverarbeitung mit PHP gelernt: Guter Code - Von HTML zu PHP: Schreibe Formularverarbeitungen in Normalform

Gruß thuemmy

PS - Nutze doch bitte für das Posten von Code den Code-Tag. Den Code-Tag findest Du indem Du unter dem Antwort-Eingebefeld auf Erweitert klickst.
 
Danke Euch beiden!

Hab jetzt ein Formular gefunden, daß ich übernommen habe. Leider erhalte ich keine Email, obwohl ich meine EMail korrekt angegeben habe.
 
Da kann man natürlich auch wieder nur raten. Möglich wäre, dass das von dir verwendete Script eine Art des Mailversands nutzt die auf deinem Server nicht möglich ist.
 
Zurück
Oben