2016-06-28 27 views
0

私はログインシステムを使っています。ここでは、ログインに成功した後に他のページをリダイレクトするコードを示します。私はちょうどいくつかの特定のページをリダイレクトするのではなく、前のページに戻ってみたい。ログインが成功した後、前のページに戻る方法

コード:

<?PHP 
require_once("./include/membersite_config.php"); 

if(isset($_POST['submitted'])) 
{ 
if($fgmembersite->Login()) 
{ 
    $fgmembersite->RedirectToURL("login-home.php"); 
} 
} 

?> 
+3

、あなたが(多分$ _SESSIONに)保存する必要があります場所ユーザがログインするようにリダイレクトされる前には、 – Jeff

+0

を使用してください。あなたは 'HTTP_REFERER'を使うことができますが、t彼はそれからurl。 – newage

+0

このアンサーはあなたを助けます:http://stackoverflow.com/questions/14523468/redirecting-to-previous-page-after-login-php –

答えて

1


これらを追加します。

session_start(); 
require_once("./include/membersite_config.php"); 
if (!$fgmembersite->CheckLogin()) 
{ 
    $_SESSION['redirect_url'] = $_SERVER['PHP_SELF']; 
    header('Location: login.php'); 
    exit; 
} 


ログインページ

session_start(); 

    require_once("./include/membersite_config.php"); 

    if(isset($_POST['submitted'])) 
    { 
     if($fgmembersite->Login()) 
     { 
      $redirect_url = (isset($_SESSION['redirect_url'])) ? $_SESSION['redirect_url'] : '/'; 
      unset($_SESSION['redirect_url']); 
      header("Location: $redirect_url", true, 303); 
      exit; 
     } 
    } 
+0

私はこれを前のページ '<?php require_once(" ./ include/membersite_config.php ");で持っています。 if(!$ fgmembersite-> CheckLogin()) { $ fgmembersite-> RedirectToURL( "login.php"); exit; } ?> – sanzuu

+0

@sanzuu編集した回答が前のページの詳細を含める。 – DunnoHowToCode

+0

このコードは動作しています '<?php require_once(" ./ include/membersite_config.php "); if(!$ fgmembersite-> CheckLogin()) {$ _SESSION ['redirect_url'] = $ _SERVER ['PHP_SELF']; header( 'Location:login.php');出口; }?> 'しかし、あなたの編集したコードは、どちらが正しいのですか? – sanzuu

0

login.phpあなたがこのアプローチを試すことができます:あなたのログインページで を: $ comingFrom = $ _SERVER [ 'HTTP_REFERER'];あなたが$_SERVER変数を使用して、前のページを取得することができますPHPで

if(isset($_POST['submitted'])) 
{ 

    //or you can store it in session also.so that you can redirect it from anywhere. 
    if($fgmembersite->Login()) 
    { 
     $fgmembersite->RedirectToURL($comingFrom); 
    } 
} 
+0

どのページにもリダイレクトされていません! – sanzuu

0

。これにより、現在のページからのページURLを含む$_SERVER['HTTP_REFERER']が呼び出されています。

しかし時々、ブラウザには、一部のユーザーが この情報を送信するオプションを無効にすることができます。

このオプションを使用することに注意してください。

このオプションの代わりに、フォームに値を設定し、それを他のデータと一緒に送信することができます。これは、ユーザーが簡単に変更できるため、まだ脆弱です。

前のページで
+0

貴重なヒント!私は覚えています。 – sanzuu

関連する問題