0

我将这段代码用于我的登录表单。

<?php

  include('session.php');

  if(isset($_SESSION['username'])) {
    header('http://www.askmephilosophy.co.nf/account.php/');
  }

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en">
  <head>
    <title>AMP : Log In</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
  </head>

  <body>
    <?php
       echo $_SESSION['username'];
    ?>
  </body>
</html>

然而,当我尝试重定向时,它不起作用。在我的 session.php 文件中,我有:

session_start();

$_SESSION['username'] = 'John';

它仍然会在 header() 函数中回显名称“John”,但不会重定向到 account.php 页面。

我以前用过这个,但我看到做错了什么。虽然我在 HTML 上方有 PHP 代码。

有人可以向我解释为什么这不起作用吗?

4

2 回答 2

3

header('http://www.askmephilosophy.co.nf/account.php/');对浏览器没有任何意义并被忽略。

您可能想在其中添加“位置:”以重定向到某处:

 header('Location: http://www.askmephilosophy.co.nf/account.php/');
于 2013-08-22T20:32:27.897 回答
1

您需要修复要发送的标头并添加退出语句,以便重定向通过。

  if(isset($_SESSION['username'])) {
    header('Location:http://www.askmephilosophy.co.nf/account.php/');
    exit();
  }
于 2013-08-22T20:36:36.647 回答