Php 警告:addUser()缺少参数3,
警告:addUser()缺少参数3,在第61行的C:\xampp\htdocs\mijnhp\Testomgeving\register.php中调用,在第133行的C:\xampp\htdocs\mijnhp\Testomgeving\php\functions.php中定义 下面是my functions.php中包含并在register.php中使用的代码Php 警告:addUser()缺少参数3,,php,warnings,Php,Warnings,警告:addUser()缺少参数3,在第61行的C:\xampp\htdocs\mijnhp\Testomgeving\register.php中调用,在第133行的C:\xampp\htdocs\mijnhp\Testomgeving\php\functions.php中定义 下面是my functions.php中包含并在register.php中使用的代码 function addUser($username, $password, $email) { global
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'])));
}
因此,现在我想知道如何删除该警告,因为代码可以工作,它将其放入我的数据库中,但它一直给我该警告。有人可以帮助我吗?问题在于
md5
函数调用(括号未正确关闭)。你应该这样做:
addUser($_POST['username'], md5($_POST['password']), $_POST['email']);
注意:请阅读更多有关为什么要传递两个参数而不是3个参数的信息 改变
addUser($_POST['username'], md5($_POST['password'], ($_POST['email'])));
到
除了其他答案之外,如果要抑制警告,请在index.php文件中添加以下代码:
error_reporting(E_ERROR | E_PARSE);
您好,您在调用addUser
的行中缺少)
。因此,您的第二个变量变为md5($\u POST['password']),($\u POST['email'])
这被视为一个单元,第三个参数变为空白
像这样换行
addUser($_POST['username'], md5($_POST['password']),$_POST['email']);
我不知道为什么你要将你的psswrd设置两次为什么你在
addUser
中使用括号作为$\u POST['email']
,请考虑一种安全的密码哈希算法,如bcrypt()。谢谢你的使用检查。我知道我不应该使用md5,但对于测试站点来说这只是暂时的。谢谢你的帮助!不要无缘无故地抑制警告。在这种情况下,警告是识别代码中您确实关心的一个非常真实的问题。
addUser($_POST['username'], md5($_POST['password']),$_POST['email']);