标题('位置:')无效

时间:2018-01-30 06:50:38

标签: php

所以,两个问题!

  1. 使用标题时('位置:newHome.php')该文件是否需要位于同一目录中?

    我打算在主目录中使用signOut.php,并且可以从任何页面退出网站.. example.com/example/example.example.html

  2. 我的代码只返回example.com/signOut.php上的错误页面signOut.php与我测试它的目录位于同一目录中。

  3. example.com/example.php

    <li><a href="signOut.php"><strong>Sign Out</strong>
    

    example.com/signOut.php

    <?php 
    session_start();
    $_SESSION = array();
    session_destroy();
    header('Location: http://www.example.com/newHome.html');
    ?>
    

3 个答案:

答案 0 :(得分:0)

或者,在同一个文件夹中

header('location: newHome.php');

或者,不在同一个文件夹中

header('location: path/to/newHome.php');

或完整网址

header('Location: http://www.example.com/newHome.html');

答案 1 :(得分:0)

1)回答第一个问题(使用标题时('location:newHome.php')该文件是否需要在同一目录中?)

如果您不提供任何路径,那么它必须位于同一目录中。

但是,您需要为您的网站网址定义常量,如下所示:

define(SITE_URL,"http://www.example.com/");

然后在您网站的任何地方使用它,如下所示:

<li><a href="<?php echo SITE_URL; ?>signOut.php"><strong>Sign Out</strong>

按照以下链接了解有关常数的更多信息:

http://php.net/manual/en/function.constant.php

2)回答第二个问题(我的代码只返回example.com/signOut.php上的错误页面)

这种情况正在发生,因为您的路径不正确。手动更正路径或按照我的第一个答案定义常量以更正它。

我认为Headers没有任何问题,因为您说404找不到错误。

答案 2 :(得分:-1)

ob_start();
header('Location: http://www.example.com/newHome.html');

只需在标题前使用 ob_start(); 即可