php重定向页面后获取隐藏值

时间:2015-04-10 14:47:21

标签: php html

  • test.php的

    <?php
    //CLICK SUBMIT BUTTON
    if(isset($_POST['submit']))
    {
        $membername = $_POST['membername'];
        $errors = '';
    
        if(empty($membername))
        {
            $errors = "Please enter member name!<br />";
        }
    
        if($errors)
        {
            //MEMBER NAME TEXTFIELD EMPTY
            //SHOW ERROR MESSAGE AND DISPLAY FORM AGAIN
            echo '<span style="color:red;font-weight: bold;">'.$errors.'</span>';
            displayForm();
        }
        else
        {
            //GO TO OUTPUT.PHP PAGE
            header("Location:output.php");
            exit();
        }
    }
    else
    {
          displayForm();
    }   
    ?>
    
    <?php
    //DISPLAY FORM
    function displayForm()
    {
    ?>
        <html>
        <head></head>
    
        <body>
            <form action="test.php" method="post">
                Member Name 
                <input type="text" name="membername" value="<?php if(isset($_POST['membername'])) echo $_POST['membername'];
                else echo ''; ?>" /><br />
            <input type="submit" name="submit" value="add" />
            [HERE]
            </form>
        </body>
        </html>
    <?php
    }
    ?>
    
  • [HERE]部分,我写了隐藏的输入字段:

    <input type="hidden" name="mname" value="<?php echo $_POST['membername']; " />
    
  • 之后,我转到output.php获取隐藏字段值:

    <?php
         echo $_POST['mname'];
    ?>
    
  • 当我运行代码时,我收到此错误: 未定义的索引:mname

  • 我的计划怎么了?
    header()函数不能应用于$ _POST方法?
    有什么解决方案可以解决吗?

1 个答案:

答案 0 :(得分:1)

可能有两种解决方案可以在重定向页面上获取值:

<强> 1。按会话:

  

您可以将值放入会话中并进入重定向页面。

$_SESSION['mname'] = $_POST['mname'];

<强> 2。使用GET:

  

您可以在标题中发送值。

header("Location:output.php?val=$_POST['mname']");