データベースに登録するパスワードをハッシュ化したい
phpファイルで作業中に、phpadminにpasswordをハッシュ化したのちに格納したいのですが、値が0の整数値となり、ハッシュ化されません。レコードは作られ、他の値は全て適切に格納できています。エラーは特に出力されていません。
該当のソースコード
PHP
1<?php 2ini_set('display_errors', 1); 3error_reporting(E_ALL); 4 5session_start(); 6require('dbconnect.php'); 7 8if(!isset($_SESSION['join'])){ 9header('Location: index.php'); 10exit(); 11} 12 13if(!empty($_POST)){ 14 15 $statement = $db->prepare('INSERT INTO members SET name=?, email=?, password =?, picture=?, created=NOW()'); 16 $statement->execute(array 17 ($_SESSION['join']['name'], 18 $_SESSION['join']['email'], 19 password_hash($_SESSION['join']['password'],PASSWORD_BCRYPT), 20 $_SESSION['join']['image'] 21)); 22var_dump($_SESSION['join']['password']); 23exit(); 24 unset($_SESSION['join']); 25 header('Location: thanks.php'); 26 exit(); 27} 28?> 29<!DOCTYPE html> 30<html lang="ja"> 31<head> 32 <meta charset="UTF-8"> 33 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 34 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 35 <title>会員登録</title> 36 37 <link rel="stylesheet" href="../style.css" /> 38</head> 39<body> 40<div id="wrap"> 41<div id="head"> 42<h1>会員登録</h1> 43</div> 44 45<div id="content"> 46<p>記入した内容を確認して、「登録する」ボタンをクリックしてください</p> 47<form action="" method="post"> 48 <input type="hidden" name="action" value="submit" /> 49 <dl> 50 <dt>ニックネーム</dt> 51 <dd> 52 <?php print(htmlspecialchars($_SESSION['join']['name'], ENT_QUOTES));?> 53 </dd> 54 <dt>メールアドレス</dt> 55 <dd> 56 <?php print(htmlspecialchars($_SESSION['join']['email'], ENT_QUOTES));?> 57 </dd> 58 <dt>パスワード</dt> 59 <dd> 60 【表示されません】 61 </dd> 62 <dt>写真など</dt> 63 <dd>] 64 <?php if($_SESSION['join']['image'] !== ''):?> 65 <img src = "../member_picture/<?php print(htmlspecialchars($_SESSION['join']['image'],ENT_QUOTES)); ?>" 66 <?php endif;?> 67 </dd> 68 </dl> 69 <div><a href="index.php?action=rewrite">« 書き直す</a> | <input type="submit" value="登録する" /></div> 70</form> 71</div> 72 73</div> 74</body> 75</html> 76
試したこと
var_dump($_SESSION['join']['password']);を出力すると、フォーム内で入力した文字列がそのまま出力されました。



回答3件
あなたの回答
tips
プレビュー