電子書籍の厳選無料作品が豊富!

お世話になってます。
今回、アクセス制限プログラムをPHPで制作しています。
これは PHPとMYSQLを連動させているものです。

ユーザーの新規登録、ログイン構造まではWEBで検索しながら自力でやりました。

ログインしたあと ページを見るのはいいのですが 直接アクセス(ログインを通過しずにアクセスした)されるといけないので、拒否をさせたいです。ログインされていればログアウトされる(ブラウザが閉じられる)までそのサイトのページを見れるようにしたいです。
またそれをログアウトしたら、キャンセルできるようにしたいです。

簡単に言うと
ログイン→通過→メンバー用ページを表示

直接アクセス→エラーを表示(ログインに戻ってもらう)

ということです。

お答えいただける方 どうぞよろしくお願いします。

A 回答 (3件)

ログインする所まで出来ているのであれば


ユーザID等のユニークなキーをセッションに格納します。
session_start();
$_SESSION['hoge'] = "xxxx";
あとはそれぞれのページの先頭でセッションにユーザIDがセットされているかどうかチェックしてセットされていなければエラー、セットされていれば
コンテンツを表示すればよいかと思います。
session_start();
if(!isset($_SESSION['hoge']))
{
/* エラー表示 */
}
else
{
/* 閲覧許可時の表示 */
}

例えばこんな感じでしょうか。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

これはURLから指定などすると 読み出せてしまうのでしょうか?
よろしくお願いします。

お礼日時:2007/05/20 20:21

>これはURLから指定などすると 読み出せてしまうのでしょうか?


例えばhttp://www.aaa.jp/bbb.php?id=123
とかいうような形でIDが123の人としてログインできてしまうかということですよね。
URLに付けたパラーメータを取得する場合は通常
$hoge = $_GET['id'];
のように$_GET[]で受け取ります。

$_GET['id']
は、URLクエリ文字列によりスクリプトに入力された変数idを取得する。
$_SESSION['id']
は、スクリプトのセッションに現在登録されている変数idを取得する。

ですので
URLにパラメータをつけられても
$_SESSION['id']はセッションに格納された変数idを取得しにいくので
問題ないと思います。

参考URL:http://jp.php.net/manual/ja/language.variables.p …
    • good
    • 0
この回答へのお礼

ほんとうにありがとうございました。
無事完成できました。
今度ともよろしくお願いします。

お礼日時:2007/05/21 18:21

「PHP 認証 セッション」などのキーワードでサーチしてください

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
今までそうやってやったのですが、よくわかりません。
詳しく教えてくださると嬉しいです。

お礼日時:2007/05/19 18:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!