2016-06-28 15 views
0

Ich arbeite mit einem Login-System. Hier ist mein Code, um nach erfolgreicher Anmeldung eine andere Seite umzuleiten. Ich möchte nur zur vorherigen Seite zurückkehren, anstatt eine bestimmte Seite umzuleiten.So gehen Sie nach erfolgreicher Anmeldung zur vorherigen Seite zurück

Code: login.php

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

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

?> 
+3

dann müssen Sie (in $ _SESSION vielleicht) zu retten, wo die Benutzer war, bevor er umgeleitet wurde, um sich anzumelden – Jeff

+0

können Sie 'HTTP_REFERER' verwenden, aber Sie müssen t überprüfen er url davon. – newage

+0

diese Antwort wird Ihnen helfen: http://stackoverflow.com/questions/14523468/redirecting-to-previous-page-after-login-php –

Antwort

1

In der vorherigen Seite
diese hinzufügen:

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


Login-Seite

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

Ich habe das auf der vorherigen Seite ' CheckLogin()) { $ fgmembers-> RedirectToURL ("login.php"); Ausgang; } ?> ' – sanzuu

+0

@sanzuu Bearbeitete Antwort, um Ihre vorherigen Seitendetails einzuschließen. – DunnoHowToCode

+0

Dieser Code funktioniert ' CheckLogin()) {$ _SESSION ['redirect_url'] = $ _SERVER ['PHP_SELF']; Kopfzeile ('Ort: login.php'); Ausfahrt; }?> 'aber dein bearbeiteter Code etwas anders, welcher ist richtig? – sanzuu

0

Sie diesen Ansatz versuchen: in Ihrem Login-Seite: $ comingFrom = $ _SERVER [ 'HTTP_REFERER'];

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

nicht auf irgendeine Seite umgeleitet! – sanzuu

0

In PHP Sie die vorherige Seite mit $_SERVER Variable erhalten können. Dadurch wird $_SERVER['HTTP_REFERER'], die die Seiten-URL von der aktuellen Seite enthält, aufgerufen.

Aber manchmal gibt es eine Option im Browser, die einige Benutzer deaktivieren können, um diese Informationen zu senden.

Also Vorsicht, diese Option zu verwenden.

Alternative zu dieser Option besteht darin, einen Wert im Formular festzulegen und zusammen mit anderen Daten zu senden, die immer noch anfällig sind, da dies vom Benutzer leicht geändert werden kann.

+0

Wertvolle Tipps! Ich erinnere mich. – sanzuu

Verwandte Themen