警告:缺少addUser()的参数3,

时间:2016-06-02 07:00:12

标签: php warnings

警告:缺少addUser()的参数3,在第61行的C:\ xampp \ htdocs \ MijnPHP \ Testomgeving \ register.php中调用,并在C:\ xampp \ htdocs \ MijnPHP \ Testomgeving \ PHP \ functions中定义。第133行的PHP

这是我的functions.php中包含的代码,用于register.php

        function addUser($username, $password, $email) {
    global $connection;
        $passwordmd5 = md5($password);
        $generatedCode = generateCode();
        $email = $_POST['email'];
        $to = "test@lol123.com";
        $subject = "Email confirmation code";
        $msg = $generatedCode;
        $headers = "From: test123@hotmail.com";
    //mail($to, $subject, $msg, $headers);
    mysqli_query($connection, "INSERT INTO users VALUES('null', '$username', '$passwordmd5', '$email', '0', '0')");
} 

这是我的register.php文件

    if(isset($_POST['login_submit'])) {
    addUser($_POST['username'], md5($_POST['password'], ($_POST['email'])));
}

所以现在我想知道如何删除该警告,因为代码可以将它放入我的数据库,但它会不断给我这个警告可以有人帮助我吗?

4 个答案:

答案 0 :(得分:1)

问题出在md5函数调用上(括号未正确关闭)。你应该这样做:

addUser($_POST['username'], md5($_POST['password']), $_POST['email']);

注意:请详细了解原因the MD5 algorithm should not be used for password hashing

答案 1 :(得分:0)

您传递的是两个参数,而不是3个。

更改

addUser($_POST['username'], md5($_POST['password'], ($_POST['email'])));

addUser($_POST['username'], md5($_POST['password']), $_POST['email']);

答案 2 :(得分:0)

如果要抑制警告,请添加其他答案,在index.php文件中添加以下代码:

error_reporting(E_ERROR | E_PARSE);

答案 3 :(得分:0)

嗨,您错过了),在您拨打addUser的位置。因此,你的第二个变量变为md5($_POST['password']), ($_POST['email'])),这被认为是1个单位,第三个参数变为空白 改变这样的行

 addUser($_POST['username'], md5($_POST['password']),$_POST['email']);