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'];
?>