現在初めてPHPを使ってWebアプリを制作しています。
初心者ですので見当違いのことを言っているかもしれませんのでそのときは指摘をお願いします。
早速本題なのですが、ログイン機能のあるWebアプリを制作している中で、セッションにidを保存し、各ページの一番最初でセッションに値がセットされているかを判断するコードを書き、ログインしていたら特定のページに飛ばすという処理をしています。
php
1session_start(); 2if (isset($_SESSION['id'])) { 3 //ログインしてたら 4 header('Location: todo.php'); 5}
以上のようなコードです。
これを別ファイルにして各ページからincludeで読み込んでいるのですが、(上のコードで言う)todo.phpへアクセスしてしまうとリダイレクトループが発生するので、自分がアクセスしているページがtodo.phpだった場合にはリダイレクト処理をしないようにしたくて
php
1session_start(); 2if (isset($_SESSION['id'])) { 3 //ログインしてたら 4 if (__FILE__ != 'todo.php') { 5 header('Location: todo.php'); 6 } 7}
という風に書き換えましたが、これでは__FILE__がtodo.phpにならないのでリダイレクトループを回避することができませんでした。
このような場合はどのようにして回避するのが効率的なのでしょうか(todo.phpだけincludeせずに処理を分けることで回避することはできるとは思いますが、そのように解決するしかないのでしょうか?)
わかりにくい質問で申し訳ありませんがよろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/07 00:14