PHP注册脚本说填写所有字段时都需要所有字段

时间:2016-02-27 06:59:28

标签: php mysql registration

以下脚本无法正常运行。当我在我的网站上找到它并输入所有字段时,它仍然说“所有字段都是必需的”#39;。我从这个网站的脚本中修改了一下:http://www.abell12.com/。你必须注册才能下载它,但是一旦你这样做,点击Scripts,然后点击PHP,然后转到登录和注册并下载脚本。这是我的脚本版本:

<?php

if(isset($_POST['submit']))
{
    $name = mysql_real_escape_string($_POST['name']);
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $password1 = mysql_real_escape_string($_POST['password1']);

    $enc_password = md5($password);

    if($name && $username && $password && $password1)
    {
        if(strlen($name)<30)
        {
            if(strlen($username)<10)
            {
                if(strlen($password)<30 || strlen($password)>6)
                {
                    if($password == $password1)
                    {
                        require "dbc.php";
                        $query = mysql_query("INSERT INTO users VALUES ('','$name','$username','$enc_password')");
                        echo "Registration Complete! <a href='loginpage.php'>Click here to login</a>";
                    }
                    else
                    {
                        echo "Passwords must match";
                    }
                }
                else
                {
                    echo "Your password must be between 6 and 30 characters";   
                }
            }
            else
            {
                echo "Your username is too long";   
            }
        }
        else
        {
            echo "Your name is too long";
        }
    }
    else
    { 
        echo "All fields are required"; 
    }
}

?>

<html>

    <form action="register.php" method="POST">
        Name: <input type="text" name="name" value="<?php if(isset($_POST['submit'])){echo "$name";} ?>"> Max Length:30<p>
        Username: <input type="text" name="username" value="<?php if(isset($_POST['submit'])){ echo "$username";} ?>"> Max Length:15<p>
        Password: <input type="password" name="password"> Max length:30<p>
        Re-Enter Password: <input type="password" name="password1"><p>
        <input type="submit" name="submit" value="Register">
    </form>

</html>

如果您需要更多信息,请随时问我。

2 个答案:

答案 0 :(得分:0)

这一行有错误:

<a href="">{{team.name}} - 
    <span ng-bind="tm.getTeamBusiness(team.id)"></span>
</a>

您需要使用if($name && $username && $password && $password1)

empty

从字面意义if(empty($name) && empty($username) && empty($password) && empty($password1)) 开始意味着变量为空。它是一个BOOL函数,这意味着它将在空时返回empty(),而在非空时返回true

提示:您不应该使用MySQL,因为它已被弃用,而是使用MySQLi。

答案 1 :(得分:0)

您使用像这样的优化代码。

使用以下

if($name!='' && $username!='' && $password!='' && $password1!='')