我在登录表单中使用这段代码。
<?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';
仍然会回显出名称'John',而它不会重定向到header.php页面的header()函数中。
我以前用过这个,但我看到做错了。虽然我在PHP上面有PHP代码。有人可以向我解释为什么这不起作用吗?
答案 0 :(得分:3)
header('http://www.askmephilosophy.co.nf/account.php/');
并不意味着浏览器会被忽略。
你可能想在它上面添加“Location:”来重定向某个地方:
header('Location: http://www.askmephilosophy.co.nf/account.php/');
答案 1 :(得分:1)
您需要修复要发送的标头并添加退出语句,以便重定向完成。
if(isset($_SESSION['username'])) {
header('Location:http://www.askmephilosophy.co.nf/account.php/');
exit();
}