警告:缺少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'])));
}
所以现在我想知道如何删除该警告,因为代码可以将它放入我的数据库,但它会不断给我这个警告可以有人帮助我吗?
答案 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']);