PHPでDBからのIDとPWを照合するログインページを作りました。

クッキーを使って他のページへ遷移しても
ログイン情報を保持していたいのですが
その為に必要なコードがわかりません。
どなたかクッキーについてわかりやすく書かれているPHP入門用サイトを教えてください。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/10/23 16:15:15
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SOBA No.1

回答回数65ベストアンサー獲得回数6

ポイント37pt

http://search.net-newbie.com/php/function.setcookie.html

---

setcookieでクッキーを発行

 setcookie( クッキー名 , 内容 , 有効期間 )

発行されたクッキーは

 $_COOKIE['クッキー名']

で呼び出せる

なのでログオン時に

 setcookie( 'LogonState' , 'OK' , time()+3600 )

とかやっておいて、別ページ(ログオン情報を保持していたいページ)にて

 if($_COOKIE['LogonState'] == 'OK') {

   ログオン時の処理

 } else {

   未ログオン時の処理

 }

とかやればいいんじゃないでしょうか

id:rinksan

わかりやすい説明ありがとうございます。

もう少しで出来そうなのですが

別ページに記述すると

Notice: Undefined index: logonstate in ...\index.php on line 3

と出てしまいます。

2008/10/23 15:05:38

その他の回答3件)

id:SOBA No.1

回答回数65ベストアンサー獲得回数6ここでベストアンサー

ポイント37pt

http://search.net-newbie.com/php/function.setcookie.html

---

setcookieでクッキーを発行

 setcookie( クッキー名 , 内容 , 有効期間 )

発行されたクッキーは

 $_COOKIE['クッキー名']

で呼び出せる

なのでログオン時に

 setcookie( 'LogonState' , 'OK' , time()+3600 )

とかやっておいて、別ページ(ログオン情報を保持していたいページ)にて

 if($_COOKIE['LogonState'] == 'OK') {

   ログオン時の処理

 } else {

   未ログオン時の処理

 }

とかやればいいんじゃないでしょうか

id:rinksan

わかりやすい説明ありがとうございます。

もう少しで出来そうなのですが

別ページに記述すると

Notice: Undefined index: logonstate in ...\index.php on line 3

と出てしまいます。

2008/10/23 15:05:38
id:SOBA No.2

回答回数65ベストアンサー獲得回数6

ポイント37pt

>Notice: Undefined index: logonstate

「logonstate」という名前の配列要素が無いですよ、というエラーです。

Cookieを発行するときの名前が「logonstate」ではないのでは…?

あと未ログオン時にはUndefinedエラーが出てしまうので

(Cookieを発行していないため)

isset関数を使ってエラー回避する必要もありそうです

id:rinksan

やはり

とだけ書いたphpを作って

もう1つに

と書いたソースを作って表示させても同じエラーが出ます。

PHPのバージョンは5なのですが

2008/10/23 15:40:34
id:JULY No.3

回答回数966ベストアンサー獲得回数247

ポイント11pt

PHP第3回:PHP応用(セッション管理/認証)

PHPのセッション 入門

自前で Cookie を使うよりも、PHP の持っているセッション機能を使う方が簡単で安全です。

上記ページのほかにも、「PHP」、「セッション」で検索すれば、たくさん出てきます。

id:pahoo No.4

回答回数5960ベストアンサー獲得回数633

ポイント13pt

Cookieというより、お求めの機能はセッション管理ではないでしょうか。(PHPの内部的にはセッションをCookieで管理することが多いので、結局同じことではありますが)


参考サイト

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません