繁体   English   中英

PHP重定向或cookie,不适用于Godaddy,但适用于localhost

[英]PHP Redirects, or cookies, not working on Godaddy, but working on localhost

因此,我刚刚将我的PHP上传到了Godaddy,但正在停止的重定向已停止。 在实时服务器上的代码到脱机的代码之间应该没有区别,所以我不知道发生了什么变化。

这是无效的代码示例

据我所知,带有注销超链接的标题链接应充当超链接

<div id="header">
           <div>
            <a href="index.php">Home</a> 
                <div id="loginreglink">
                <a href="Logout.php">Log Out</a>
                </div>
           </div>
          </div> 

实际的注销页面(logout.php)

<?php

require_once ('Connection.php');

header('Refresh: 0;');

            if (!isset($_COOKIE['Username'])){
                require ('LoginFunctions.inc.php');
                redirect_user();
            } else {
                setcookie('Username', '', time()-60*60*24*90, '/', '', 0, 0);
                require ('RedirectPage.php');
                redirect_user();
            }


?>

RedirectPage.php(访问注销页面后立即链接到的下一页)

<?php
            require ('index.php');
            redirect_user();
?>

然后,该链接立即链接回索引,但是应该注销用户。 这没有发生。

发生的情况是页面重定向到索引(应该如此),大概使用了以下顺序,这使我认为重定向有效,但是用户未注销。 Cookie不会被删除。 我真的不明白为什么不是这样,因为它确实可以通过本地主机上的netbeans工作。

这很容易。 取消设置Cookie。

if (!isset($_COOKIE['Username'])){
   require ('LoginFunctions.inc.php');
   redirect_user();
} else {
   setcookie('Username', '', time()-60*60*24*90, '/', '', 0, 0);
   require ('RedirectPage.php');
   //add this
   unset($_COOKIE['Username'];
   //or use setcookie and make the time to expire in the past and just put an empty value like
   $cookie_name = "Username";
   $cookie_value = "";
   $time = -3600;
   setcookie($cookie_name, $cookie_value, $time, "/");
   redirect_user();  
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM