我的表单有一个登录页面,用户填写用户名和密码。然后用户被重定向到第1页,用户可以通过第1页上的提交按钮转到第2页。第1页和第2页都包含注销按钮。我可以从第1页退出,如果我没有登录,我就无法通过输入其URL(空会话,重定向)来访问该页面。我想在第2页上执行这两个功能,但我不断收到警告,标题无法修改。
我只在php工作了2个月,对于你们这些人来说这可能是一个非常简单的问题,所以尽量不要浪费我们两次告诉我同样的事情。我很欣赏一些真正的意见!
session_start();
// The button to go from page 1 to 2
<input type = "submit" id = "id2" name = "id2" Value = "View Call Log"/>
if(isset($_POST['id2'])){
echo "<script> window.open('page2.php', '_blank'); </script>";
}
// Everything below is in page 2.php as well.
if(isset($_POST['logout'])){
unset ($_SESSION['userid']);
header("Location: login.php");
}
if(empty($_SESSION['userid'])){
header("Location: login.php");
exit;
}
相同的代码适用于第1页,但不适用于第2页
答案 0 :(得分:0)
向用户发送内容后,您无法修改标题。在你的代码中你发送html,之后你尝试发送标题。 您甚至无法像该示例中那样发送单个空格:
<?php /* there is a space before <?php */ ?>
在html之前移动你的PHP代码。
PS。你会知道,如果你试图谷歌“标题已经发送”。
答案 1 :(得分:-1)
试试这个,因为用户标识可能不存在所以当你检查它是否为空时它将无效,所以也使用isset:
session_start();
// The button to go from page 1 to 2
<input type = "submit" id = "id2" name = "id2" Value = "View Call Log"/>
if(isset($_POST['id2'])){
echo "<script> window.open('page2.php', '_blank');
</script>";
}
// Everything below is in page 2.php as well.
if(isset($_POST['logout'])){
unset ($_SESSION['userid']);
header("Location: login.php");
}
if(isset($_SESSION['userid']) || empty($_SESSION['userid'])){
header("Location: login.php");
exit;
}