nach dem senden eines kontaktformulars auf andere website leiten? checkbox einfügen

Übrigens, in dem Modus in dem es zumindest mit dem Erscheinen des Dankestextes funktioniert und auch eine Email gesendet wird kommt bei Eingabe des error_reporting(E_ALL); folgend eFehlermeldung:

Notice: Undefined index: company_name in /homepages/45/d77048884/htdocs/ebay/contact_form.php on line 38

Notice: Undefined index: company_url in /homepages/45/d77048884/htdocs/ebay/contact_form.php on line 41
 
ja diese Notice Dinger kannst du erstmal ausser acht lassen, da diese die Funktionalität des Scriptes nicht beeinflusses!

Warning: Cannot modify header information - headers already sent by (output started at /homepages/45/d77048884/htdocs/ebay/contact_form.php:2) in /homepages/45/d77048884/htdocs/ebay/contact_form.php on line 91

Das sagt aus, das der haeder() an der falschen Stelle steht, da dieser nicht vor einer Ausgabe stehen darf!

Ich schaue mir das mal in Ruhe an und werde dir dann entsprechenden Code hier reinposten!
 
PHP:
<? 
// edit these lines 
$your_name=""; 
$your_email=""; 
$your_web_site_name=""; 

//If the form is submitted 
/* Notiz von mir: 
Alles hängt davon ab ob ein Name eingegeben wurde, wenn kein Name eingegeben wurde, erhält der Benutzer auch keine Ausgabe! Sowas lässt sich ändern wenn man überprüft ob der Button gedrückt wurde. Aber ohne den Formularcode zu sehn, kann ich dir dafür keine Verbesserung zeigen
*/
if(isset($_POST['name'])) { 

    //Check to make sure that the name field is not empty 
    if(trim($_POST['name']) === '') { 
        $hasError = true; 
    } else { 
        $name = trim($_POST['name']); 
    } 

    //Check to make sure sure that a valid email address is submitted 
    if(trim($_POST['email']) === '') { 
        $hasError = true; 
    } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) { 
        $hasError = true; 
        $errorMessage = "Please enter a valid email address!"; 
    } else { 
        $email = trim($_POST['email']); 
    } 

    //Check to make sure that the phone field is not empty 
    if(trim($_POST['phone']) === '') { 
        $hasError = true; 
    } else { 
        $phone = trim($_POST['phone']); 
    } 

    //company name 
    $company_name = trim($_POST['company_name']); 

    //company url 
    $company_url = trim($_POST['company_url']); 


    //Check to make sure comments were entered 
    if(trim($_POST['message']) === '') { 
        $hasError = true; 
    } else { 
        if(function_exists('stripslashes')) { 
            $comments = stripslashes(trim($_POST['message'])); 
        } else { 
            $comments = trim($_POST['message']); 
        } 
    } 



    //If there is no error, send the email 
    if(!isset($hasError)) { 

        $emailTo = $your_email; 
        $subject = 'Contact Form Submission from '.$name; 

        //message body 
        $body ="Name: $name \n\n"; 
        $body .="Email: $email \n\n"; 
        $body .="Phone:$phone\n\n"; 
        $body .="Company Name:$company_name\n\n"; 
        $body .="Company Url:$company_url \n\n"; 
        $body .="Message: $comments"; 


        $headers = 'From: '.$your_web_site_name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; 
        $send = mail($emailTo, $subject, $body, $headers); 
    } else {
        $send = FALSE;
    }
    if($send) {
        header("LOCATION: http://www.example.de/");
    } else {
        echo $errorMessage;
    }
        
} 
?>
Ich hab mal etwas Ordnung gemacht, das Script ist sehr konfus geschrieben.
Die beiden Notice die du erhälst, sind wahrscheinlich auf das Formular das abgeschickt wird zurückzuführen. Wenn du die Formularfelder leer lässt, solltest du das auch überprüfen ob dort Inhalt drin ist.
Wenn du das Forumlar geändert hast, musst du dies natürlich auch im verarbeitenden Script tun.

Sollte es nicht funktionieren, einfach hier inkl Fehlermeldung reinschreiben.

Noch eine kleine Anmerkung zum Thema deines Kontaktformulars.
Wenn die Seite ein Bot findet, erhälst du ruck zuck 100-fache Spammails, das Forumlar ist nicht gesichert und jeder kann irgendwelchen Blödsinn eintragen, aber ich weiß auch nicht ob du nicht ein Login vorher geschalten hast. Aber wenn es ein freies Formular ist, wird das recht schnell kritisch.

Ansonsten schick mir deine Adresse per PN zu, ich schick dir dann meine ganzen Unterlagen für den geplanten Rechtsstreit zwischen mir und Gott.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück