php使用$ _POST时的未定义变量['']

时间:2015-12-25 07:15:28

标签: php

在我的项目中我有两个页面,第一页有一个表单(复选框),当我点击提交/打印按钮时,第二页将打印复选框的值。

  

if(isset($ _ POST [' do']))

     

{

     

$ mid = $ _POST [' mid'];

     

}

一旦我点击"按钮"在第一页中,我转到第二页,然后按$ _POST [' mid']

选中复选框值

当我点击打印按钮时,它应该打印复选框的值

      if(isset($_POST['print']))
      {

       foreach($mid as $values)
       echo $values;

      }

但它给了我:

  

未定义变量:mid。,   和为foreach()提供的参数无效

请注意,当我将foreach语句放在第一个-if-时它会起作用 :if(isset($ _ POST [' do'])),但我不希望它像那样。

谢谢大家

1 个答案:

答案 0 :(得分:0)

如果您要发布到第三页,您也必须将变量传递到该页面。因此,从您的html表单中,您发布使用输入类型的name保存的变量。我们将输入类型值的名称分配给第二页上的变量,然后将其回显到屏幕。

Html表格

    <form action="myPhpPage.php" method="post">
    <input type="checkbox" name="gender" value="Male">Male</input>
    <input type="checkbox" name="gender" value="Female">Female</input>
    <input type="submit" name="submit" value="Submit"/>
    </form>

myPhpPage.php

  <?php
    // turn the check boxed gender to a variable called $myGender
    $gender = $_POST['gender'];
    // now print your variable to the screen
    // there is no reason to move to a new page for this,
    //if you do go to a new page then you need to pass the variable to the // //new page as well.
    echo $gender;
$_SESSION['gender'] = $gender;
<input type="button" value="Print" href="printPage.php" />
    ?>

printPage.php

    $gender = $_SESSION['gender'];
    echo $gender;

将此添加到您希望会话的所有网页的顶部

session_start();