HTML发布到多个.php文件

HTML发布到多个.php文件,php,html,forms,post,http-post,Php,Html,Forms,Post,Http Post,这是我目前的表格 ## on index.php <form action="index2.php" method="POST"> <select name="profile"> <option value="basic" selected>Easy</option>

这是我目前的表格


## on index.php
        <form action="index2.php" method="POST">
            <select name="profile">
                <option value="basic" selected>Easy</option>
                <option value="intermediate">Medium</option>
                <option value="advanced">Hard</option>
            </select>
            <br>
                <input type="submit"/>
        </form>
导致错误的代码:

$test = $_POST['profile'];

## this is on test.php
预期结果:成功发布“简介”


我该怎么做呢?

您可以在POST之后将该变量存储到会话变量中,并且您可以从每页代码中的任何位置访问该变量

您的表格:

<form action="index2.php" method="POST">
    <select name="profile">
        <option value="basic" selected>Easy</option>
        <option value="intermediate">Medium</option>
        <option value="advanced">Hard</option>
    </select>
    <br>
        <input type="submit"/>
</form>

容易的
中等
硬的

在index2.php页面上,您必须使用以下命令捕获POST数据 index2.php

<?php 

session_start(); // starting the session

if(isset($_POST)){
      $_SESSION['profile'] = $_POST['profile'] // sets the $_POST['profile'] value to $_SESSION['profile'] 
}
?>

现在$_SESSION将成为您的globel变量,您可以随时在任何页面访问它,只需添加SESSION_start();在每一页上

test.php:

<?php 
session_start(); //starting the session
echo $_SESSION['profile'];
?>


它会在任何页面上返回您想要的值。请阅读此处。

如果您希望该值保持不变,可以使用sessions。请向我们展示您遇到问题的代码。还不清楚如何加载test.php文件。您是在更改表单中的操作,在index2.php上重定向用户,还是只是将其包含在index2.php中?问题已编辑以显示错误原因。所有这些文件index.php、index2.php和test.php都在同一个目录中,我使用localhost作为URL运行它们。当在index.php上按下提交按钮时,用户被重定向到index2.php。这里的主要问题是我无法在test.php上执行$_POST['profile']操作。我需要test.php上的$_POST['profile']信息来执行一些if-else语句,但由于我无法检索它,这有点问题。如果您重定向客户端,它将向该文件发出一个新的clean-GET请求,以便之前发布的所有数据都消失。如果您希望数据在多个请求之间保持不变,那么正如@Kevin在第一条评论中所建议的,您可以使用会话。在index2.php上,启动一个会话,将发布的数据存储在会话变量中。然后在test.php上,启动会话并读取会话变量以再次获取值。但是,如果您只想处理post请求,请在index2.php中进行处理。为什么要重定向到test.php?
<?php 
session_start(); //starting the session
echo $_SESSION['profile'];
?>