Php 注销后重定向到同一页面

Php 注销后重定向到同一页面,php,session,logout,Php,Session,Logout,index.php <ul class="top"> <?php if(!isset($_SESSION['login_user'])) { ?> <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a> </li> <?php } else {?>

index.php

<ul class="top">
       <?php if(!isset($_SESSION['login_user'])) { ?>
        <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
        </li>
         <?php } else {?>
        <li class="hover"><a href="logout.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
         <?php } ?>
        <li><a href="registration.php" class="about">Registration</a>
        </li>
    </ul>
<?php    
session_start(); 
session_destroy(); 
header('Location:index.php');  
exit;  
?>  
<?php    
session_start(); 
session_destroy();
if(isset($_SERVER['HTTP_REFERER'])) {
 header('Location: '.$_SERVER['HTTP_REFERER']);  
} else {
 header('Location: index.php');  
}
exit;  
?>
  • 欢迎
logout.php

<ul class="top">
       <?php if(!isset($_SESSION['login_user'])) { ?>
        <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
        </li>
         <?php } else {?>
        <li class="hover"><a href="logout.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
         <?php } ?>
        <li><a href="registration.php" class="about">Registration</a>
        </li>
    </ul>
<?php    
session_start(); 
session_destroy(); 
header('Location:index.php');  
exit;  
?>  
<?php    
session_start(); 
session_destroy();
if(isset($_SERVER['HTTP_REFERER'])) {
 header('Location: '.$_SERVER['HTTP_REFERER']);  
} else {
 header('Location: index.php');  
}
exit;  
?>


我在我的每个页面中都有我的注销按钮,因此我希望,如果用户单击“注销”,他/她应该重定向到同一页面。。正如我在这里给出的位置页索引,但我希望保持在同一页中。。是否有代码要重定向到同一页??先谢谢你

如果要重定向到同一页面或刷新页面,则不需要
$\u服务器['HTTP\u REFERER']

只需使用

标题('位置:')

如果要重定向到同一页面或刷新该页面,则不需要
$\u服务器['HTTP\u REFERER']

只需使用
标题('位置:')

如何

header('Location:'.$_SERVER['HTTP_REFERER']);
在login.php文件中:

$BackToMyPage = $_SERVER['HTTP_REFERER'];
if(isset($BackToMyPage)) {
    header('Location: '.$BackToMyPage);
} else {
    header('Location: index.php'); // default page
}
那么

header('Location:'.$_SERVER['HTTP_REFERER']);
在login.php文件中:

$BackToMyPage = $_SERVER['HTTP_REFERER'];
if(isset($BackToMyPage)) {
    header('Location: '.$BackToMyPage);
} else {
    header('Location: index.php'); // default page
}

方法1:在您的logout.php文件中,您需要检查是否有上一页的REFERER url,如果没有,则重定向到index.php

<ul class="top">
       <?php if(!isset($_SESSION['login_user'])) { ?>
        <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
        </li>
         <?php } else {?>
        <li class="hover"><a href="logout.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
         <?php } ?>
        <li><a href="registration.php" class="about">Registration</a>
        </li>
    </ul>
<?php    
session_start(); 
session_destroy(); 
header('Location:index.php');  
exit;  
?>  
<?php    
session_start(); 
session_destroy();
if(isset($_SERVER['HTTP_REFERER'])) {
 header('Location: '.$_SERVER['HTTP_REFERER']);  
} else {
 header('Location: index.php');  
}
exit;  
?>

方法2:您可以传递对登录页面的引用以重定向

注销链接

<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>

<a href="logout.php?redirect=<?php echo base64_encode(curPageURL()); ?>">Logout</a>

logout.php文件:

<?php
session_start(); 
session_destroy();
if(isset($_GET['redirect'])) {
 header('Location: '.base64_decode($_GET['redirect']));  
} else {
 header('Location: index.php');  
}
?>

方法1:在您的注销.php文件中,您需要检查是否有上一页中的REFERER url,如果没有,则重定向到index.php

<ul class="top">
       <?php if(!isset($_SESSION['login_user'])) { ?>
        <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
        </li>
         <?php } else {?>
        <li class="hover"><a href="logout.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
         <?php } ?>
        <li><a href="registration.php" class="about">Registration</a>
        </li>
    </ul>
<?php    
session_start(); 
session_destroy(); 
header('Location:index.php');  
exit;  
?>  
<?php    
session_start(); 
session_destroy();
if(isset($_SERVER['HTTP_REFERER'])) {
 header('Location: '.$_SERVER['HTTP_REFERER']);  
} else {
 header('Location: index.php');  
}
exit;  
?>

方法2:您可以传递对登录页面的引用以重定向

注销链接

<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>

<a href="logout.php?redirect=<?php echo base64_encode(curPageURL()); ?>">Logout</a>

logout.php文件:

<?php
session_start(); 
session_destroy();
if(isset($_GET['redirect'])) {
 header('Location: '.base64_decode($_GET['redirect']));  
} else {
 header('Location: index.php');  
}
?>

尝试在logout.php中添加一个参数,以便动态地将用户重定向到他按下logout按钮的页面

<li class="hover"><a href="logout.php?page=homepage.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
  • 欢迎
  • 然后在logout.php中

    <?php    
    session_start(); 
    session_destroy(); 
    $page = $_GET['page'];
    header('Location:' . $page);  
    exit;  
    ?>
    

    尝试在logout.php中添加一个参数,以便动态地将用户重定向到他按下logout按钮的页面

    <li class="hover"><a href="logout.php?page=homepage.php">Logout</a>
               Welcome <?php echo $_SESSION['login_user']; ?>
            </li>
    
  • 欢迎
  • 然后在logout.php中

    <?php    
    session_start(); 
    session_destroy(); 
    $page = $_GET['page'];
    header('Location:' . $page);  
    exit;  
    ?>
    
    
    

    您可以使用
    $\u服务器['HTTP\u REFERER']
    即标头('Location:'。$\u服务器['HTTP\u REFERER']);我已经试过了。。但是给我一个错误他们解决了:)。。thankss@user876345嘿,1 z很好,但显示错误bcz我在页面重定向后使用了sesiion,它有很多错误您可以使用
    $\u服务器['HTTP\u REFERER']
    i.e标题('Location:'。$\u服务器['HTTP\u REFERER']);我已经试过了。。但是给我一个错误他们解决了:)。。thankss@user876345嘿,那个1Z很好,但显示给我的是wrror-bcz,我在页面重定向后使用了sesiion,它有很多错误,我无法将。接线员,所以一开始它给了我一个错误。。现在是1 z工作正常,我的力量放不下。接线员,所以一开始它给了我一个错误。。现在dis 1 z工作正常请不要简单地发布代码。给出一些关于代码的解释、信息或用法。例如,请参阅。请不要简单地发布代码。给出一些关于代码的解释、信息或用法。例如,请参见。嘿,我是否可以在不提供“$\u SERVER['HTTP\u REFERER'])的情况下在该位置标题中添加刷新词??????????????但它只会重定向到索引页。。我想把它重定向到同一页。。当我使用此标头('Location:'.$\u SERVER['HTTP\u REFERER'])时,请听我说,出现了一些问题,比如我使用Session调用了来自不同页面的数据,因此在注销该页面后,显示了大量错误。。你明白我的意思了吗@伊格纳西奥耶普!你看到我的方法2了吗?是的。。dat 1只是重定向到索引页,而不是同一页。我不能在该位置标题中插入一个刷新字,而不给出“$\u SERVER['HTTP\u REFERER'])??????????????但它只会重定向到索引页。。我想把它重定向到同一页。。当我使用此标头('Location:'.$\u SERVER['HTTP\u REFERER'])时,请听我说,出现了一些问题,比如我使用Session调用了来自不同页面的数据,因此在注销该页面后,显示了大量错误。。你明白我的意思了吗@伊格纳西奥耶普!你看到我的方法2了吗?是的。。dat 1仅重定向到索引页,而不是同一页它不重定向。。。该页面在logout.php页面中停止,它对我有效。我在使用header之前创建了一个会话,它创建了会话,然后重定向到同一页面。否。。它不起作用。。。我不想使用$\u服务器['HTTP\u REFERER']bcz,我已经使用session在注销后从不同的第n页调用了数据它显示了错误它没有重定向。。。该页面在logout.php页面中停止,它对我有效。我在使用header之前创建了一个会话,它创建了会话,然后重定向到同一页面。否。。它不起作用。。。我不想使用$\u服务器['HTTP\u REFERER']bcz,我已经使用会话从不同的第n页调用了数据,在注销后它显示了我的错误,我只有一个注销页面用于每个其他页面,所以我认为它不会工作,每个其他页面只有一个注销页面,所以我认为它不会工作