表題のとおりです。
どうすればメールアドレスも登録できるようになりますか?
<?php
require 'password.php';
// セッション開始
session_start();
$db['host'] = "hogehoge.ne.jp"; // DBサーバのurl
$db['user'] = "ユーザID";
$db['pass'] = "パスワード";
$db['dbname'] = "データベース名";
// エラーメッセージの初期化
$errorMessage = "";
// ログインボタンが押された場合
if (isset($_POST["login"])) {
// 1.ユーザIDの入力チェック
if (empty($_POST["userid"])) {
$errorMessage = "ユーザIDが未入力です。";
} else if (empty($_POST["password"])) {
$errorMessage = "パスワードが未入力です。";
}
// 2.ユーザIDとパスワードが入力されていたら認証する
if (!empty($_POST["userid"]) && !empty($_POST["password"])) {
// mysqlへの接続
$mysqli = new mysqli($db['host'], $db['user'], $db['pass']);
if ($mysqli->connect_errno) {
print('<p>データベースへの接続に失敗しました。</p>' . $mysqli->connect_error);
exit();
}
// データベースの選択
$mysqli->select_db($db['dbname']);
// 入力値のサニタイズ
$userid = $mysqli->real_escape_string($_POST["userid"]);
// クエリの実行
$query = "SELECT * FROM db_user WHERE name = '" . $userid . "'";
$result = $mysqli->query($query);
if (!$result) {
print('クエリーが失敗しました。' . $mysqli->error);
$mysqli->close();
exit();
}
while ($row = $result->fetch_assoc()) {
// パスワード(暗号化済み)の取り出し
$db_hashed_pwd = $row['password'];
}
// データベースの切断
$mysqli->close();
// 3.画面から入力されたパスワードとデータベースから取得したパスワードのハッシュを比較します。
//if ($_POST["password"] == $pw) {
if (password_verify($_POST["password"], $db_hashed_pwd)) {
// 4.認証成功なら、セッションIDを新規に発行する
session_regenerate_id(true);
$_SESSION["USERID"] = $_POST["userid"];
header("Location: main.php");
exit;
}
else {
// 認証失敗
$errorMessage = "ユーザIDあるいはパスワードに誤りがあります。";
}
} else {
// 未入力なら何もしない
}
}