【问题标题】:How can I merge these 2 PHP scripts?如何合并这 2 个 PHP 脚本?
【发布时间】:2011-07-27 08:43:04
【问题描述】:

我有一个 jQuery AJAX 表单,我希望它能够更好地验证输入 - 在 PHP 端。下面是适用于 AJAX 的 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._%-]+@[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 = 'info@bgv.co.za'; //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 的人可以帮助我 - 我不知道如何将它们组合在一起。

【问题讨论】:

    标签: php validation jquery syntax


    【解决方案1】:

    试试这样。我认为仅此代码就可以满足您的需求。

    $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._%-]+@[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 = 'info@bgv.co.za'; //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);
    
     }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      相关资源
      最近更新 更多