私は過去にPHPをプロジェクトに少量使用しましたが、パスワードをハッシュすることで何か新しいことを試みています。
別のページには、送信時に checkRegistration.php フォームにリダイレクトする Web フォームがあり、データベースに接続し、ユーザーの値を取得して検証し、それぞれの列に入力します。
これまでのところ、「0」または空として入力されている password_hash 関数によって渡されたものを除いて、渡されているすべての値が正しく入力されています。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);
?>