2011-07-27 85 views
0

我有一個jQuery AJAX表單,我希望它能夠對輸入做更好的驗證 - 在PHP方面。下面是PHP腳本與Ajax的工作原理:如何合併這2個PHP腳本?

while (true) { 
if (empty($_POST['name'])) { 
    $return['error'] = true; 
    $return['msg'] = 'You did not enter your name.'; 
    break; 
} 

if (empty($_POST['email'])) { 
    $return['error'] = true; 
    $return['msg'] = 'You did not enter your email.'; 
    break; 
} 

if (empty($_POST['message'])) { 
    $return['error'] = true; 
    $return['msg'] = 'You did not enter your message.'; 
    break; 
} 

break; 
} 

if (!$return['error']) 
    $return['msg'] = "Thank you: {$_POST['name']}<br />email address: {$_POST['email']}<br />Your Message: {$_POST['message']}"; 


echo json_encode($return); 

,這裏是PHP腳本我在其他地方使用的驗證:

<?php 

$subject = "Website Contact Form Enquiry"; 

//If the form is submitted 

if(isset($_POST['submit'])) { 

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

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

//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 = '[email protected]'; //Put your own email address here 
    $body = "Name: $name \n\nEmail: $email \n\nComments:\n $comments"; 
    $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; 

    mail($emailTo, $subject, $body, $headers); 
    $emailSent = true; 

} 
} 
?> 

可以請別人誰知道他們的PHP幫助我 - 我沒有線索如何把它放在一起。

回答

0

試試這個。我認爲這個代碼獨自適用於你想要的東西。

$subject = "Website Contact Form Enquiry"; 

//If the form is submitted 

if(isset($_POST['submit'])) { 

//Check to make sure that the name field is not empty 
if(trim($_POST['contactname']) == '') { 
    $hasError = true; 
    $return['msg'] = 'You did not enter your name.'; 
} else { 
    $name = trim($_POST['contactname']); 
} 

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

//Check to make sure comments were entered 
if(trim($_POST['message']) == '') { 
    $hasError = true; 
    $return['msg'] = 'You did not enter your message.'; 
} 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 = '[email protected]'; //Put your own email address here 
    $body = "Name: $name \n\nEmail: $email \n\nComments:\n $comments"; 
    $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; 

    mail($emailTo, $subject, $body, $headers); 
    $emailSent = true; 

}else{ 
    echo json_encode($return); 

} 
} 
+0

Hiay Chandresh - 非常感謝你:) – brett