php - 不能在不同的 php 文件中使用表单的值
问题描述
在不同的 php 文件中使用表单的值时遇到问题:
我的firstpage.php
<form method="post">
<input type="radio" name="rdbbtn" value="1"> One
<input type="radio" name="rdbbtn" value="2"> Two
</form>
我secondpage.php
在这里
<?php
include("firstpage.php");
$result = $_POST['rdbbtn'];
if ($result == "1") {
echo 'thirdpage.php';
}
else {
echo 'fourthpage.php';
}
?>
问题:
注意:未定义索引:rdbbtn in
为什么我不能使用“rdbbtn”?我应该有类似的东西
$rdbbtn = $_POST['rdbbtn'];
在 secondpage.php 中?试过这个,但没有解决我的问题。firstpage.php 和 secondpage.php 在同一个目录中。可能这是我看不到的一些非常明显的事情......谢谢!
编辑:我接受了 pradeep 的回答,因为这最能帮助我弄清楚问题应该是什么。想说谢谢大家出现在这里并试图提供帮助!
解决方案
当您更改当前页面时,它会重置该值并且$_POST
为空。
您可以尝试将表单操作设置到下一页。它会工作
<form method="post" action="secondpage.php">
<input type="radio" name="rdbbtn" value="1"> One
<input type="radio" name="rdbbtn" value="2"> Two
<input type="submit" name="" value="Next">
</form>
否则,您可以
function
在一个类中创建一个并将每个页面操作设置为此功能。
并将您的每个表单数据设置为session
.
最后,当您更改页面时,您会读取数据表单session
。
Class FormAction{
public function setFormDataToSession(){
if(isset($_POST['rdbbtn']){
$_SESSION['rdbbtn'] = $_POST['rdbbtn'];
}
}
}
在您的页面中只需获取会话值。
echo $_SESSION['rdbbtn'];
推荐阅读
- android - 带背景的扁平按钮,或带边框的透明背景
- javascript - 如何在 ajax 调用中构建搜索 url?
- mongodb - 如何在mongodb中执行equi join?
- azure - 使用 ARM 模板从头开始重新部署 azure Web 应用程序导致 404 网站未找到
- android - Android + SQLite - 表没有命名的列
- apache-spark - Dataproc 上的 Spark:每个 CPU 可以运行更多的执行程序吗?
- mysql - 查询不返回预期结果组
- docker - 在 Docker 中运行的 Nginx 状态端点
- javascript - 承诺错误传播
- php - hostgator 中的数据库连接