我过去在项目中使用过少量 PHP,但是我正在尝试一些新的尝试来哈希密码。
在一个单独的页面上有一个 web 表单,它在提交时重定向到 checkRegistration.php 表单,然后连接到数据库,获取用户值,验证它们并将它们输入到各自的列中。
到目前为止,所有传递的值都正确输入,除了那些被password_hash函数传递的值被输入为“0”或空。我认为它是 0 它没有被正确处理并且想知道我做错了什么。
<?php
$con = mysqli_connect("127.0.0.1","root","","projectdatabase");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$password_user_input = $_POST['password'];
$options = array('cost' => 10);
$sql="INSERT INTO user_information (firstName, lastName, userName, password, email, contactNum)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[uname]','password_hash($password_user_input, PASSWORD_BCRYPT, $options)','$_POST[email]','$_POST[number]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header("location:login.php");
mysqli_close($con);
?>