-2
準備文を使って登録フォームを作成しようとしていて、パスワードのハッシングを行っています。私はelse
文で "何か間違ったメッセージが出ました"PHP私のコードに間違いが見つかりません(登録)
if(isset($_POST['save'])){
$username = $_POST["username"];
$password = password_hash($_POST["password"], PASSWORD_BCRYPT);
$email = $_POST["email"];
$stmt = $mysqli->prepare("INSERT INTO users (username, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss",$username, $password, $email);
$stmt->execute();
$nrows = $stmt->affected_rows;
if($nrows == 1){
header("Location: http://localhost/test2/Login.php");}
else{
echo "<script type='text/javascript'>alert('Something went wrong!')</script>";}
}
httpサーバーのエラーログファイルには何が表示されますか?そこでは、どのファイルでどの行が間違っているのかを正確に読み取ることができます。あなたはそのファイルを監視せずにPHPスクリプトをプログラムできません。あなたが無限の推測ゲームの大ファンでない限り。 – arkascha
'$ stmt-> errorInfo()'はあなたに何を伝えますか? – David
@arkascha私は 'mysqli errors'を' echo'しようとしました。これは '' 1行目の 'password 'カラムのデータが長すぎます。パスワードフィールドが 'CHAR(40)'になるようにテーブルが作成されます。それは別のものでなければなりませんか? – Viktor