新規会員登録フォーム入力→確認メール→リンク→ログインフォームの表示
という流れでコードを書いているのですが、メールの受信後にリンクを押しても
login.phpが作動しません。
コードに問題があるために作動しないと思うのですが、username passwordをDBと照合という内容で作りました。
コードの中でどこが不備か教えていただきたいです。
また、先頭部分にデバックのコードを追加したのですが、エラーが表示されません。
こちらに関しても何か良い方法があればお願いします。
<?php session_start(); if(isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST') { ini_set('display_errors',1); error_reporting(E_ALL); if(isset($_SESSION['user'])!==''){ header("Location:index.php"); } <?php $SERVER = 'localhost'; $USER = 'root'; $PASS = 'root'; $DATABASE = 'microblog'; if (!($link = mysql_connect($SERVER,$USER,$PASS))){ echo "<h3>Sorry, could not connect to database</h3>"; exit; } mysql_select_db($DATABASE); ?> <?php if(isset($_POST['login'])){ $username = $mysql->real_escape_string($_POST['username']); $password = $mysql->real_escape_string($_POST['password']); $query = "SELECT * FROM users WHERE username ='$username'"; $result = $mysqli->query($query); if(!$result) { print('Invalid username'.$mysqli->error); $mysqli->close();// データベースの切断 exit(); } while($row = $result->fetch_assoc()) { $db_hashed_pwd = $row['password']; $id = $row['id']; } // データベースの切断 $result->close(); // ハッシュ化されたパスワードがマッチするかどうかを確認 if(password_verify($password, $db_hashed_pwd)){ $_SESSION['id'] = $id; header("Location: index.php");// ログイン exit; } else { echo "Sorry , We don't have your password "; <?php } } } ?> コード
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。