前提・実現したいこと
$_sesstionから現在ログインしているユーザーの情報を取り出したいのですが、user_idのみNULLになってしまいます。
なぜNULLになってしまうのか色々調べたのですが、良い解説を見つけられませんでした。
そこでこの問題の原因と解決法を御教授頂けませんでしょうか?
何卒よろしくお願いします。
*ソースコードに追記いたしました。
user_idはオートインクリメントなのに未定義の変数を入れてしまっていました。
初歩的な確認ミスで申し訳ございません。
発生している問題・エラーメッセージ
array(4) { ["user_id"]=> NULL ["username"]=> string(6) "poipoi" ["email"]=> string(2) "fd" ["password"]=> string(5) "aaaaa" }
該当のソースコード
$sql=$pdo->prepare('insert into users(user_id,username,email,password,create_date) values(null,?,?,?,?)'); $sql->execute([$_REQUEST['username'], $_REQUEST['email'], $_REQUEST['password'], date("Y/m/d H:i:s")]); $_SESSION['users']=[ 'user_id'=>$user_id, 'username'=>$_REQUEST['username'], 'email'=>$_REQUEST['email'], 'password'=>$_REQUEST['password']]; echo 'お客様情報を登録しました。'; $user_id=''; $pdo=new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', 'root', ''); if (isset($_SESSION['users'])) { $user_id=$_SESSION['users']['user_id']; echo('<pre>'); var_dump($_SESSION['users']); echo('</pre>'); }
試したこと
ネットで情報収集。他の項目は正常に取得できているため、user_idがオートインクリメント、主キー、などのキーワードと絡めて検索しました。
またvar_dump内の変数を$user_idに変えてみたりしたものの結果は上記の結果と変わりませんでした。
補足情報(FW/ツールのバージョンなど)
DBの構造(XAMMP)
https://gyazo.com/10680b08c4661c0f95c54393363d6c33
mac
PHP のバージョン: 7.1.13
回答2件
あなたの回答
tips
プレビュー