无法在其他php文件中使用表单的值

时间:2018-06-24 14:00:10

标签: php forms post

在其他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输入

为什么我不能使用“ rdbbtn”?我是否应该有类似的东西

$rdbbtn = $_POST['rdbbtn'];

在secondpage.php中?尝试了这个,但没有解决我的问题。 firstpage.php和secondpage.php在同一目录中。 也许这是我看不到的一些非常明显的事情……谢谢!

编辑:我接受了普拉德普(Pradeep)的回答,因为这对我最大程度地弄清了问题应该是什么。在此感谢所有其他出现在这里并试图提供帮助的人!

3 个答案:

答案 0 :(得分:1)

当您更改当前页面时,它将重置该值,并且$_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'];

答案 1 :(得分:0)

应该是这样的:

使用isset方法进行检查

<?php   
include("firstpage.php");
$result = isset($_POST['rdbbtn']) ? $_POST['rdbbtn'] : NULL;
if ($result == 1) {          
    echo 'thirdpage.php';      
}
else {
    echo 'fourthpage.php';
}
?>

您的表单应如下所示:

<form method="post">
<input type="radio" name="rdbbtn" value="1"> One
<input type="radio" name="rdbbtn" value="2"> Two
<input type="submit" name="submit" value="submit">
</form>

答案 2 :(得分:0)

很抱歉,您无法在此信息中发表评论(信誉较差)。但是似乎您正在询问有关存储会话变量的问题。这样,您可以将变量用于整个会话。只需通过将session_start()放在secondpage.php文件的开头开始会话,然后可以在会话期间的任何时间访问变量,只需在第四页之类的任何页面中调用$_SESSION['rdbutton]。 PHP或任何东西。只要确保您将session_start()放在要使用变量的每页顶部即可。不要忘记最后的分号。希望这会有所帮助。