PHP简单表单验证 - 需要帮助

时间:2013-11-05 13:19:11

标签: php validation

好的,我想要实现的是一个非常简单的表单验证,如下所示。

  1. 名称:[必填,最小长度:2,最大长度:255]
  2. 电子邮件:[必填,最小长度:3,最大长度:255,有效的电子邮件格式]
  3. 出生日期:[可选,格式:dd / mm / yyyy]
  4. 但是,一旦我点击提交(如果字段为空或已填写),我会在空白页面上显示所有回显的错误。

    “名称必须至少为2个字符名称为requiredemail必须至少3个字符无效,电子邮件不能留空”

    到目前为止我的代码:

    的index.php

    <form method="post" action="confirm.php">
    Name:<input type="text" name="name" />
    email:<input type="text" name="email" />
    DOB:<input type="date" name="dob" />
    <input type="submit" value="submit" />
    </form>
    

    confirm.php

    <?php
    
    $name = $_POST['$name'];
    $email = $_POST['$email'];
    $dob = $_POST['$dob'];
    
    $namelen = strlen($email);
    $emaillen = strlen($email);
    $max = 255;
    $minname = 2;
    $minemail = 3;
    
    if($namelen<$minname){
        echo"name must be at least 2 characters";
    }
    elseif($namelen>$max){
        echo"name must be less than 255 characters";
    }
    
    if(empty($name)){
        echo"name is required";
    }
    else{
        continue;
    }
    
    if($emaillen<$minemail){
        echo"email must be at least 3 characters";
    }
    elseif($emaillen>$max){
        echo"email must be less than 255 characters";
    }
    
    if(filter_var($email, FILTER_VALIDATE_EMAIL)){
        continue;
    }
    else{
        echo"invalid email";
    }
    
    if(empty($email)){
        echo"email cannot be left empty";
    }
    else{
        continue;
    }
    
    ?>
    

    非常感谢帮助,谢谢。

2 个答案:

答案 0 :(得分:5)

alert是一个JavaScript函数,而不是PHP函数。如果要在PHP中使用警报功能,则需要创建一个自定义的函数,如下所示:

function alert($alertMessage){
    //Do something with $alertMessage
}

错误:

  

致命错误:调用未定义的函数alert()

基本上意味着PHP无法找到名为alert的函数。

答案 1 :(得分:1)

让我们按照您的方式执行操作,使用以下代码替换您的警报,您的代码将完全按照您的要求执行操作:)

替换

alert("email must be less than 255 characters");

使用:

echo"<script type='text/javascript'>
alert('email must be less than 255 characters');
</script>";