<実現したいこと>
php7.4とMySQL8にて簡単なユーザ認証を行いたいです。
<起きていること、現象>
しかし、奇妙なことに冒頭の「$_POST」の内容をどうしても変数に格納できず、困っております。
psyshの実行結果は以下のようなものです。このファイルの前に<form>タグによってname属性にuser_mailとuser_passをちゃんと指定して飛んできています。$_POSTそのものは確かに値が格納されています。他のプログラムで同様の処理を行っているのですが、特に問題は起きていません。DBのクエリの実行結果をvar_dumpに食わすとbool(false)となります。
↓↓↓ここからデバッグ内容
c:\xampp\htdocs\asobi>psysh mem_login_check.php
Psy Shell v0.10.4 (PHP 7.4.11 — cli) by Justin Hileman
<!DOCTYPE html>
$user_mail=$_POST['user_mail'];
$user_pass=$_POST['user_pass'];
var_dump($_POST['user_mail'])
var_dump($_POST['user_pass'])
$user='root';
$password='';
$dsn='mysql:host=localhost;dbname=idol;charset=utf8';
$dbh= new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
try
{
$sql='SELECT member_mail FROM mst_userdb WHERE member_mail=?';
$stmh=$dbh->prepare($sql);
$data[]=$user_mail;
$stmh->execute($data);
$rec=$stmh->fetch(PDO::FETCH_ASSOC);
var_dump($rec);//<=DBオブジェクトの結果
$member_mail=$rec['member_mail'];
if($user_mail==$member_mail) { print 'メールアドレスが一致しました。'; } else { print 'メールアドレスが見つかりません。'; }
}
catch(PDOException $e)
{
$e->getMessage();
}
?>
回答1件
あなたの回答
tips
プレビュー