Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何验证表单_Php - Fatal编程技术网

Php 如何验证表单

Php 如何验证表单,php,Php,我是PHP编程新手,正在创建我的第一个注册和登录表单。我做了一切,但有一个问题:我必须如何排序代码。我试了很多方法,但都搞砸了 if (filter_input_array(INPUT_POST)) { if (preg_match('/\s/', $name)) { $errorName = "Names doesn't contain whitespaces"; $mainError = true; } $sql = "SELECT

我是PHP编程新手,正在创建我的第一个注册和登录表单。我做了一切,但有一个问题:我必须如何排序代码。我试了很多方法,但都搞砸了

if (filter_input_array(INPUT_POST)) {

    if (preg_match('/\s/', $name)) {
        $errorName = "Names doesn't contain whitespaces";
        $mainError = true;
    }

    $sql = "SELECT name FROM register WHERE name='$name'";
    $result = mysqli_query($conn, $sql);
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);

    if (mysqli_num_rows($result) == 1) {
        $errorName = 'This name is already registered';
        $mainError = true;
    }

    if (mb_strlen($name) > 0 AND mb_strlen($name) < 3) {
        $errorName = 'Name too short';
        $mainError = true;
    }

    if (mb_strlen($name) > 15) {
        $errorName = 'Name too long';
        $mainError = true;
    }

    if ($name == '') {
        $errorName = 'This field is REQUIRED';
        $mainError = true;
    }

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errorEmail = "Invalid email";
        $mainError = true;
    }

    if (preg_match('/\s/', $pass1)) {
        $errorName = "Password mustn't contain whitespaces";
        $mainError = true;
    }

    if (mb_strlen($pass1) > 0 AND mb_strlen($pass1) < 6) {
        $errorPass1 = 'Password too short';
        $mainError = true;
    }

    if (mb_strlen($pass1) > 20) {
        $errorPass1 = 'Password too long';
        $mainError = true;
    }

    if ($pass1 == '') {
        $errorPass1 = 'This field is REQUIRED';
        $mainError = true;
    }

    if ($pass1 != $pass2) {
        $errorPass2 = "Passwords don't match";
        $mainError = true;
    }

    if ($pass2 == '') {
        $errorPass2 = 'This field is REQUIRED';
        $mainError = true;
    }

    if (!$mainError) {
        $feedback = 'You registered successfully!';
    }


}
if(filter\u input\u array(input\u POST)){
if(preg_匹配('/\s/',$name)){
$errorName=“名称不包含空格”;
$mainError=true;
}
$sql=“从寄存器中选择名称,其中名称='$name';
$result=mysqli\u查询($conn,$sql);
$row=mysqli\u fetch\u数组($result,mysqli\u ASSOC);
if(mysqli_num_rows($result)==1){
$errorName='此名称已注册';
$mainError=true;
}
如果(mb_strlen($name)>0且mb_strlen($name)<3){
$errorName='Name太短';
$mainError=true;
}
如果(mb_strlen($name)>15){
$errorName=‘名称太长’;
$mainError=true;
}
如果($name=''){
$errorName='此字段为必填项';
$mainError=true;
}
如果(!filter_var($email,filter_VALIDATE_email)){
$errorEmail=“无效电子邮件”;
$mainError=true;
}
如果(预匹配('/\s/',$pass1)){
$errorName=“密码不得包含空格”;
$mainError=true;
}
如果(mb_strlen($pass1)>0且mb_strlen($pass1)<6){
$errorPass1='密码太短';
$mainError=true;
}
如果(mb_strlen($pass1)>20){
$errorPass1='密码太长';
$mainError=true;
}
如果($pass1==''){
$errorPass1='此字段为必填项';
$mainError=true;
}
如果($pass1!=$pass2){
$errorPass2=“密码不匹配”;
$mainError=true;
}
如果($pass2==''){
$errorPass2='此字段是必需的';
$mainError=true;
}
如果(!$main错误){
$feedback='您已成功注册!';
}
}

我想知道什么必须是第一个

您的意思是什么?如何对代码进行排序?在这种情况下,if的顺序并不重要,只要它们都在。此代码有什么问题?请查看密码字段。当我键入我的姓名或电子邮件时,它会再次显示此字段:我会编写一个单独的函数,但@Oldskool是正确的:如果您只需要检查所有这些条件,顺序并不重要。但是,您可以通过在失败时返回来进行优化,因为现在它会检查所有内容,即使它以前失败过。您所说的单独函数是什么意思?一个在主体中包含此代码的函数,其名称类似于
validate\u form()
,返回
true
false
如何对代码进行排序?在这种情况下,if的顺序并不重要,只要它们都在。此代码有什么问题?请查看密码字段。当我键入我的姓名或电子邮件时,它会再次显示此字段:我会编写一个单独的函数,但@Oldskool是正确的:如果您只需要检查所有这些条件,顺序并不重要。但是,您可以通过在失败时返回进行优化,因为现在它会检查所有内容,即使它以前失败过。您所说的单独函数是什么意思?一个在主体中包含此代码的函数,其名称类似于
validate\u form()
,返回
true
false