【发布时间】:2014-11-04 18:52:29
【问题描述】:
所以我刚刚将我的 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 工作。
【问题讨论】:
-
redirect_user()声明在哪里? -
“代码在实时服务器和离线服务器上的工作方式应该没有区别”。我无法告诉你这是多么错误。
-
@MikeBrant 那么为什么不开始解释或将我链接到有帮助的东西呢?而不是试图让我感到愚蠢。我是新手,我知道,我的老师没用,所以我在自学,据我所知,到目前为止,我编写的所有代码在离线和离线时都是一样的,而且,到目前为止,我还没有看到(因为我还没有做过)任何代码工作方式不同的示例。
-
@Spratters53 两个不同的服务器,无论它们是本地的还是在某个托管公司的某个地方,都不应假定它们具有相似的环境,除非您以某种方式将它们设置为相似并且知道事实它们使用相同的 Web 服务器配置、安全设置、软件版本等运行。了解这些作为应用程序基础的各种软件依赖项是您真正需要随着时间和经验而学习的东西。我只是想消除所有环境都将表现相似的观念。
-
您意识到您在“else”条件中调用了两次
redirect_user()?您在包含的REdirectPage.php文件中调用它一次,然后在 else 条件中立即调用它。为什么是这样?redirect_user()的代码是什么?