PHP中的用户已存在错误

时间:2013-04-23 18:05:01

标签: php

我是PHP新手,使用PDO和MySQL。我将使用以下代码过滤用户输入数据:

if(!filter_input(INPUT_POST,'$username')||!filter_input(INPUT_POST,'$password'))
        {
            echo "username or password already exists....";
        }

        else
        {
$sql = "INSERT INTO users (Username,Password) VALUES (:username,:password)";
$q=$dbh->prepare($sql);
$q->execute(array(':username'=>$username,':password'=>$password));
$count=$q->rowCount();
echo "inserted $count rows.\n";

但它显示错误,只是显示消息:

username or password already exists

如果用户名或密码不存在,则显示相同的消息?如果此处不应使用filter_input(),那么我可以使用什么呢?

2 个答案:

答案 0 :(得分:1)

filter_input(INPUT_POST,'$username')

是错误的,它需要数组键名 - 没有任何前一个美元(如果你没有用一美元命名get变量):

filter_input(INPUT_POST,'username')

应该是正确的。同时删除密码过滤器的$符号。


然后第一行:

if(!filter_input(INPUT_POST,'username')||!filter_input(INPUT_POST,'password'))

答案 1 :(得分:0)

filter_input的名称不应包含$,除非表单实际上包含<input name="$username" />