会員専用のログインページを作っているのですが、分からない事があります。
会員専用のログインページを作っているのですが、分からない事があります。
1.フォームにIDとPASSWORDを入力
2.login.phpで会員データーベースに入りIDとPASSWORDが存在すれば会員専用ページに移動
----form.html----
<form action="" method="post">
<table>
<tr>
<td>あなたのID:</td>
<td><input type="text" name="usrid" size="15" value="<?php echo htmlspecialchars($_POST['usrid']); ?>" /></td>
</tr>
<tr>
<td>パスワード:</td>
<td><input type="password" name="usrpw" size="16" value="<?php echo htmlspecialchars($_POST['usrpw']); ?>" /></td>
</tr>
<tr>
<td><input type="submit" value="ログイン" /></td><td> </td>
</table>
</form>
----login.php----
//MYSQLに接続
require_once('sql.php');
//セッションを開始します。
session_start();
$_SESSION["usrid"] = ""; //自分のID
$_SESSION["usrpw"] = ""; //自分のPASS
//変数の初期化
$usrid = ''; //ユーザーID
$usrpw = ''; //パスワード
//POSTされたとき
if ($_SERVER["REQUEST_METHOD"]=="POST") {
//ログインボタンが押されたとき
if (isset($_POST["submit"])) {
//POSTされたデータを取得
$usrid = htmlspecialchars($_POST["usrid"], ENT_QUOTES); //ID
$usrpw = htmlspecialchars($_POST["usrpw"], ENT_QUOTES); //パスワード
//入力内容チェック
if (strlen($usrid)==0){$error = "ユーザIDが入力されていません";}
if (strlen($usrpw)==0){$error = "パスワードが入力されていません";}
//エラーがない場合
if (strlen($error)==0){
//meiboテーブルをチェック
$mysql->query("SELECT usrid,usrpw FROM meibo");
if ($mysql->rows()>0){ //行が存在した場合
$row = $mysql->fetch();
if ($row["usrpw"] == $usrpw){
$_SESSION["usrid"] = $usrid;
header("Location: http://$host/php/page.php");
exit;
}
}
}
$error = "ユーザIDかパスワードに誤りがあります";
}
}
教科書を参考に作ったコードです。
フォームにIDとPASSを入力後ログインボタンを押してもそのままフォーム画面のままになってしまいます。
data.txtだと比較的簡単に出来たのですがMYSQLを使いだしたとたん分からなくなってしまいました。
どなたか親切な方、お教えください。
お礼
お礼遅くなりすみません。 無理ですか、残念です。 ありがとうございました。