繁体   English   中英

为什么我的 PHP 页面通过重定向它的页面提交表单?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM