在包含的页面中提交表单不会刷新页面

时间:2013-05-27 20:19:21

标签: php html forms session submit

我有一个PHP页面: index.php

在这个页面中,我已经包含了另一个充当侧边栏的PHP页面。

在这个侧边栏中,有一个登录表单。

sidebar.php 页面首先检查SESSION,如果有会话,表单将不会显示,如果没有会话,表单将显示,以便访客可以登录英寸

session_start();
$guest = true;
if(!isset($_SESSION["id"])){
     //This is a Guest
     $guest = true;
} else {
     //This is not a Guest
     $guest = false;
}
//Then there's the PHP codes that handles form submitting
if(isset($_POST["submit"])){
     //In the end, if everything is valid
     $_SESSION["id"] = $userID;
}

通常页面会在提交表单后刷新,在这种情况下,我希望刷新包含的文件,再次重新加载后,我希望登录表单消失,因为$_SESSION["id"]现在是SET,但是它没有。

如果我刷新页面(F5),表单就会消失,并且它可以正常工作,但是在我提交表单后它没有直接工作,我试图添加。

header("Location: http://localhost/index.php");

然而它不起作用。

1 个答案:

答案 0 :(得分:0)

请在会话检查之前调用提交操作,

session_start();
$guest = true;

if(isset($_POST["submit"])){

     $_SESSION["id"] = $userID;
}
if(!isset($_SESSION["id"])){
     //This is a Guest
     $guest = true;
} else {
     //This is not a Guest
     $guest = false;
}