• ベストアンサー

ログイン後に次の画面に遷移する方法

ログイン画面がlogin.php メニュー画面がindex.php となっています。 現在、index.phpに遷移した後にログインしているかどうかのチェックを行い、ログインしていない場合はlocationでlogin.phpに遷移しています。 login.phpでログインというボタンを押すと、またindex.phpが呼ばれ、ログインチェックを行うというやり方ですが、 今のままではログイン画面しか表示できません。 何かよい方法はないでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 う~ん・・・・。まず、ログインしているかしていないかの判定をどうするつもりなのだろうか。  例えば、$_SESSION['login_id']などと、セッション変数に何らかのデータを格納して、それがあるかないかで判定する、など。  上の変数を使うように作る場合、login.phpからはindex.phpに対してユーザ名やパスワードをPOSTするようになるのだろうな。その場合は、index.phpで、 1.$_POST['username']と$_POST['password']が存在するか調べ、あればユーザをチェックして認証が完了すれば$_SESSION['login_id']にユーザをセットする。 2.$_SESSION['login_id']が存在するか調べ、無ければlogin.phpへ飛ぶ。 この方法を使うと、ログアウト処理では単純に$_SESSION['login_id']をunsetすれば一応の動きはできあがる(念のために全ての$_SESSION連想配列を空にする方が良い)。

aiurai54
質問者

お礼

ありがとうございます。 勉強になりました。

関連するQ&A

  • 次の画面に遷移後もクッキーを取得するには

    現在PHPでクッキー認証を行っているのですが、 index.phpでまず、メニュー画面にいこうとするのですが、 $_COOKIE['id'] == "" クッキーに何もIDが入っていなかったら、もしくはIDがあっても、パスワードが間違っていたら、ログイン画面に遷移するようにし、その画面でログイン情報を入力すると、メニュー画面に遷移するというところまではいいのですが、 クッキーの情報を次の画面(例えば、test.php)に遷移するときのPHPにももたせたいのですが、次の画面ではIDがうまくとれません。 クッキーではPHPがかわると、IDもNULLになってしまうのでしょうか?

    • 締切済み
    • PHP
  • HTMLとPerl間のページ遷移について。

    HTMLとPerl間のページ遷移について。 こんにちわ。 HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。 Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。 現在、クライアントでは、JavaScriptを使ってログインフォームを作っています。そして、フォームの中の値を取得して、POST送信することはできます。次に、サーバにてPerlで受け取ったパラメータをチェックし、ユーザ名とパスワードの認証をとるところまではできています。しかし、その後にどうすべきかがわかりません。locationで、もとのHTMLファイル(index.html)を指定しても、ログインを認証したという情報は保持しておらず、それでは意味がありません。 Perlでログインを認証した後に、認証したという情報を保持したままHTMLページに遷移する事は可能でしょうか。可能であればその方法を教えていただきたく思います。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • C# ログイン画面からメイン画面への画面遷移について

    C# ログイン画面からメイン画面への画面遷移について C#での画面遷移に関する質問です。 ログイン画面からメイン画面に遷移する場合、どの様な方法で遷移すれば良いのか 迷っています。 現状では以下の方法で遷移していますが、より適切な方法をご存じの場合 ご教示下さい。 (1)Program.csにおいてApplication.Run(new LoginDialog())で ログイン画面を表示 (2)ログインボタンクリックメソッドでログイン成功時、 メイン画面インスタンスを生成・表示し、ログイン画面を非表示。 (後でログイン画面を再表示することがある為) --------------------------------------------------------------------- private void LoginButton_Click(object sender, EventArgs e) {    /* ログイン処理 */    //ログイン成功時    //メイン画面インスタンス生成    MainForm mainForm = new MainForm();    //ログイン画面インスタンスを代入    mainForm.loginForm = this;    //メイン画面表示    mainForm.Show();    //ログイン画面非表示    this.Visible = false; } --------------------------------------------------------------------- また上記の方法だとメイン画面を閉じても、アプリケーションは終了しない為 メイン画面の閉じるボタンを押した場合に以下の処理を行っています。 --------------------------------------------------------------------- private void MainForm_FormClosing(object sender, FormClosingEventArgs e) {    //ログイン画面クローズ    loginForm.Close(); } --------------------------------------------------------------------- 以上、宜しくお願いします。

  • phpのログイン後の画面遷移について

    現在、phpで会員制サイトを作成する勉強をしています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 よく、会員制サイトで、非会員又は未ログイン状態でも、ある程度までページが閲覧でき、 詳しいページを閲覧するにはログイン又は新規会員登録を促すといった仕組みを見かけます。 そのような場合、ログイン後、画面は元のページ(ログイン前に操作していたページ)に戻る必要があると思うのですが、 この場合のphpプログラムは、 ログイン画面に遷移する前のページで empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); でページのURLを取得し、 ログイン画面のページへ移動するためのボタンが押されたらinput-type="hidden"でログイン画面のページにURLを受け渡し、 ログインが成功したら取得したURLに遷移させる という流れで正しいでしょうか? また、非会員が会員登録する場合のページ遷移に関して少し疑問に思うことがあります。 大体非会員のユーザーが新規登録する場合、 新規登録フォームより会員登録後はログイン状態でTOPページに戻ることが多いですが、 それが一般的でしょうか? 会員登録後に登録前に閲覧していたページに遷移させられればユーザーにとっては一番親切だとは思いますが、 最近ではほとんどのサイトが『仮登録用に入力されたメールアドレス宛に本登録用のURLを記載して送信する』という会員登録方法を使用していますが、 前にいたページに遷移させるというのは物理的に難しいため、会員登録後はTOPページに戻しているのでしょうか? また、ログインが必要なページでは issetでセッション変数に情報が含まれているかどうかで、ログイン画面を表示するか 会員閲覧ページを表示するか分岐させると思いますが、 このプログラムはしょっちゅう使われると思うので 別ファイル化して呼び出すのが賢明でしょうか? ご回答、よろしくお願いします。

    • 締切済み
    • PHP
  • セッション切れでのリクエスト~ログイン画面表示~ログイン~要求された画面へ遷移する方法

    お世話になります。strutsでの開発です。jdk1.5.0_09とtomcat5.5を使用しています。 下記のような流れを実現したいと思っています。参考になるサイトや文献、ヒントなどありましたらお教え下さい。 現在はリクエストフィルタを使用し、フィルタ内のメソッドdoFilter()でreq.getRequestDispatcher("/login.do").forward(req, res)を行いログイン画面まで遷移できていますが、そこでログインしてもデフォルト画面であるA画面が表示されるようになっています。 やりたい事は、セッションタイムアウト時にB画面のリクエストを受け付けると、ログイン画面へ遷移してログインリクエストで認証OKであればB画面へと遷移させたいと思っています。 不足している情報などありましたら随時追加します。よろしくお願いいたします。 ログイン画面表示   ↓ ログインリクエスト   ↓ A画面表示(通常ログイン時のデフォルト画面)   ↓ [セッションタイムアウト]   ↓ A画面でB画面をリクエスト   ↓ ログイン画面表示   ↓ ログインリクエスト   ↓ B画面表示(セッション切れの状態でリクエストされた画面)

    • ベストアンサー
    • Java
  • requestmethodをPOSTにして画面遷移

    1.phpから2.phpへ遷移するためのソースを1.phpに書いていますが、IEのアドレスバーの表示が1.phpのまま更新されません。 requestmethodがGETならばheader('Location: 2.php?a=b');exit;ですが、 requestmethodをPOSTにするたに http://www.spencernetwork.org/memo/tips-3.php にあるようなソースを1.phpに書きましたが、2.phpへアクセスして返されたHTTPのレスポンスを受け取るだけで2.phpに遷移してくれません。 画面の遷移までさせるにはどのようにするとよいですか?

    • 締切済み
    • PHP
  • .htaccess でログインチェック

    HTMLファイルをログインユーザーでないと閲覧できない仕組みを作ろうと思っております。 方法として .htaceess ファイルを用いて ログインチェックするPHPを起動し、そのPHP経由で HTMLを表示させようと思っています。 しかしうまく動作してくれません… 下記の記述に何か誤りがありますでしょうか? ※ .htaccess --------------- Action text/html /PATH/login_chk.php ---------------------------- ※ login_chk.php --------------- <? $login = 'ok'; if( $login == 'ok' ){ echo file_get_contents('index.html'); } ?> ---------------------------- (1)index.html にアクセス (2).htaccessからlogin_chk.phpが呼ばれる (3)login_chk.php で file_get_contents関数を用いて index.html が表示される となる予定なのですが、 「The requested URL /PATH/login_chk.php/index.html was not found on this server.」 というエラーメッセージが表示されます… ご回答宜しくお願い致し

    • ベストアンサー
    • PHP
  • ログインしたページで、ある処理を実行中に他のページへ飛ぼうとするとログアウトする

    タイトルの通り、ログインしないと表示できないページ間の遷移中に、他のページへのリンクをクリックするとログアウトされていしまいます。原因がわからず困っています。 要件的には、あるページへの遷移中に、他のページへのリンクをクリックすると、最初のページへの遷移を中止して、後からクリックしたページへ遷移する、もしくは、後からのクリックを無視して、最初のページへ遷移する、のどちらかです。 ソースは以下のような感じです。PHP5.2.4です。 session_start(); session_regenerate_id(TRUE); if (isset($_SESSION["isloggedin"]) && $_SESSION["isloggedin"]) { // ログインしていないと見られないページを表示 } else { header ("Location: login.php");// ログイン画面へ ※どうやらこっちの分岐に入るようです。 } ちなみに遷移終了後にさらに他ページへ遷移する場合は問題が発生しません。

    • 締切済み
    • PHP
  • ログイン判定後の画面遷移について

    以下テキストボックスに、 1.ログインID、パスワードを入力させたいと考えています。 2.ログインに成功したら、「member.phpにページを遷移する」ようしたいと考えています。  ログインに失敗したら「top.php」を再表示させたいと考えています。 .以下のように記述すると、member.phpで処理が動いてしまうのですが 2のようにログイン条件の成功の有無で表示するページを切り替えるにはどうしたらいいでしょうか? ご教授お願いします。 ==top.php====== <body> <div id="content"> <h1>ログイン画面</h1> <form action="member.php" method="POST"> <dl> <dt>ログインID:</dt> <dd><input type="text" name="l_id"></dd> <dt>パスワード:</dt> <dd><input type="password" name="l_pass"></dd> </dl> <p><input type="submit" name="submit" value="ログイン"></p> </form> </div>

    • ベストアンサー
    • PHP
  • 画面遷移について

    早速質問なんですが、今 1.ホーム画面は地図(google Map)を表示、また画面遷移用のボタンを設置してある。 2.ボタンを押すとカメラを使う画面に遷移し、そこでとりあえず写真を撮る。(ここではカメラを実行するActivityと、SurfaceView を継承したクラスを別クラスにて実装しております。) 3.取った後に勝手に画面遷移させ(元のMap画面へ)、撮った写真の緯度、経度を取得したうえで現在地情報を表示させる。→表示させる際はFacebookなどにある、ピンをMap上に表示させるような感じで、さらにその場所の住所、画像も表示させる、といったイメージです。 このような仕様のアプリを作っております。簡単に言えば、写真を撮ったら現在地の情報がわかる!といったアプリです。 ここで、カメラ画面から元のMap画面に画面遷移させたいのですが、通常Activity間の画面遷移はIntentを使用するのが一般的ですが、この場合だとどのように実装すれば可能でしょうか? 自分としてはHandlerクラスのメンバをSurfaceView を継承したクラスで用意して、Activityに対してそのクラスを呼び出すコードを実装すれば行けるのかなぁ…と考えているのですが。 初対面でいきなりの質問で誠に申し訳ございませんが、ご回答お待ちしております。 必要であればプログラムコードもお送りいたします。よろしくお願いいたします。

    • ベストアンサー
    • Java

専門家に質問してみよう