2009-08-14 12 views
0

Könnte mir jemand sagen, ob etwas mit dem Code falsch ist oder eine bessere Möglichkeit, es zu ändern? Aus irgendeinem Grund, wenn ich in meinem Kontaktformular auf "Senden" klicke, wird die Seite "error.html" angezeigt, aber ich erhalte immer noch eine E-Mail an mein Konto.PHP E-Mail-Formular

$EmailTo = "[email protected]"; 
$Subject = "Contact Submission"; 

$Name = Trim(stripslashes($_POST['name'])); 
$Email = Trim(stripslashes($_POST['email'])); 
$Budget = Trim(stripslashes($_POST['budget'])); 
$Message = Trim(stripslashes($_POST['message'])); 

// prepare email body text 
$Body = 'Contact Submission'."\n"; 
$Body .= 'Name:  ' .$Name."\n"; 
$Body .= 'Email:  ' .$Email."\n"; 
$Body .= 'Budget:  ' .$Budget."\n"; 
$Body .= 'Message:  ' .$Message."\n"; 


// send email 
$success_email = mail($EmailTo, $Subject, $Body, "From: <$Email>"); 

// redirect to success page 
// CHANGE THE URL BELOW TO YOUR "THANK YOU" PAGE 
    if ($success){ 
    header ('location:thankyou.html'); 
    } 
    else{ 
    header ('location:error.html'); 
    } 
+1

es ist eine gute Form, einen Ausgang zu setzen; unter den Kopfzeilen Ihres Standorts - um sicherzustellen, dass die Seite in einem unwahrscheinlichen Fall nicht geparst wird – alex

Antwort

8

ändern

if ($success){ 

zu

if ($success_email){ 

$ Erfolg nicht existiert ...

0
$EmailTo = "[email protected]"; 
$Subject = "Contact Submission"; 

$Name = Trim(stripslashes($_POST['name'])); 
$Email = Trim(stripslashes($_POST['email'])); 
$Budget = Trim(stripslashes($_POST['budget'])); 
$Message = Trim(stripslashes($_POST['message'])); 

// prepare email body text 
$Body = 'Contact Submission'."\n"; 
$Body .= 'Name:   ' .$Name."\n"; 
$Body .= 'Email:   ' .$Email."\n"; 
$Body .= 'Budget:   ' .$Budget."\n"; 
$Body .= 'Message:  ' .$Message."\n"; 


// send email 
$success_email = mail($EmailTo, $Subject, $Body, "From: <$Email>"); 

// redirect to success page 
// CHANGE THE URL BELOW TO YOUR "THANK YOU" PAGE 
    if ($success_email){ 
    header ('location:thankyou.html'); 
    } 
    else{ 
    header ('location:error.html'); 
    } 
0
//Checking for empty for redirecting error page 
if(empty($Name) || empty($Email)||empty($Budget)) 
{ 
    header('Location:error.html'); 
    exit; 
} 

//Send the email! if the fileds are not empty 
mail($EmailTo, $Subject,$Body,"From: <$Email>"); 

//One the email is sent, Redirect to thankyou page. 
header('Location: thankyou.html');