【コーディング】ブログを簡単に見るヤツ3 | PHPやります!PHPでスクリプト/CGI作ります!

【コーディング】ブログを簡単に見るヤツ3

RSSの削除処理より先に、ログインしているのかどうかの判断についてにしようと思います。

というのは、ログイン後の処理については一番最初にログインしているのか判断して、

ログインしていなかったら、トップを表示させようと思ったからなのデース。

この処理が無いと、不正なプログラム(連続で、リクエストを送るような)にいたずらされるような気がして。


で、いま思いつくのはSESSIONにIDを設定して、そのIDがアカウント用テーブルに存在するのかどうか。
存在した場合は、ログイン済みと判断する。

という処理をしようと思ってるんです。


1.SESSIONからIDを取得。IDが設定されていない場合は、ログインしていない

2.IDが設定されている場合は、DBに登録されているか調べる。

3.DBに登録されている場合は、ログインしている

4.DBに登録されていない場合は、不正なアクセス。ログインしていない


実際に書いてみると、

if (isset($_SESSION["id"]))
{
$stmt = $mysqli->prepare("select ID, NAME from tbl_user where MAIL = ?");
if ($stmt)
{
$stmt->bind_param("s", $mailid);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $name);
if ($stmt->fetch())
{
if ($stmt->num_rows > 0)
{
//ログインしている
}
else
{
//ログインしていない
}
}
else
{
//ログインしていない
}

$stmt->free_result();
$stmt->close();
}
else
{
//ログインしていない
}

}