[英]Why is my PHP page submitting a form through the page that redirected it?
我有一个 index.php 检查用户是否登录,如果没有,它将用户重定向到登录页面,如下所示:
<?php
session_start();
$_SESSION["page_identifier"] = "index";
include "inc/header.php";
if(!isset($_SESSION["loggedin"]) OR !$_SESSION["loggedin"] == TRUE){
echo "ERROR: Not logged in!";
header("Refresh: 3; url = login.php");
}
else{
......
}
?>
这是登录页面。
<?php
$_SESSION["page_identifier"] = "login";
$_SESSION["form_identifier"] = "login";
include "inc/header.php";
?>
<div>
<form action="submission.php" name="login" method="POST">
<input class="textBox" type="text" name="username" placeholder="Enter your username" maxlength="20"/>
<input class="textBox" type="password" name="password" placeholder="Enter your password" maxlength="20"/><br><br>
<input class="button" type="submit" value="Submit"/>
</form>
<form class="register" action="register.php">
<input class="button" type="submit" value="New user? Register"/>
</form>
</div>
<?php include "inc/footer.php"; ?>
每个页面都将$_SESSION["form_identifier"]
设置为其页面名称,当提交表单时,我检查来自它的提交文件,如下所示:
<?php
session_start();
$_SESSION["page_identifier"] = "submission";
//checking if the form is a login form.
if($_SESSION["form_identifier"] == "login"){
.......
}
它表明 from 来自“NULL”而不是“login”。 为什么会发生这种情况,有没有办法改变这种情况?
ADyson 在评论中回答了这个问题,我忘了输入“session_start();” 在登录页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.