我想将验证设置为我的订阅者表格PHP HTML我需要添加什么?

时间:2015-07-29 21:20:44

标签: php jquery html forms

我的表单HTML

<p><span>Enter Name: </span><input type="text" name="Name" size="20"></p>
<p><span>Enter Email: </span><input type="text" name="Email" size="20"></p>
<p> Enter DOB: <input type="text" name="Dob" size="20"></p>
<p ><span><input type="submit" value="Save Data" name="Submit"></span></p>

我的PHP表单     

if(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['Dob']))     {
$data = $_POST['Name'] . '-' . $_POST['Email'] . '-' . $_POST['Dob'] . "\n";
$ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
    die('There was an error writing this file');
}
else {
    echo "$ret bytes written to file";
}
}
else {
   die('no post data to process');
}

$location = "success.html";
header( "Location: $location" );

表单工作正常,但我要验证: 名称只是字母表 电子邮件格式正确@ ect DOB是数字

感谢所有可以提供帮助的人

1 个答案:

答案 0 :(得分:0)

您的验证可以分两步完成:

  1. 在提交表单之前验证UI中的内容。 这个工作人员不是很安全,但可以通过使用javascript定义规则来避免太多用户输入错误。

  2. POST到达php时验证的帖子内容。 使用此功能

    function email($email){
    /*
     * Checks mail by preg_match
     */
    if(!preg_match('/^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,4})$/',$email)){
        return false;
    } else {
        return true;
    }
    

    }