使用$ _POST和$ PHP_SELF帮助表单

时间:2011-07-27 18:58:15

标签: php html forms post

我会尽力描述我想做的事情。我想用HTML和PHP创建一个网页。该网页将使用几种形式来接收来自用户的输入以供以后使用。我只希望在提交上一个表单后向用户显示一个表单。例如,我有3种形式:

  1. 你的名字是什么? _ [提交]
  2. 你的中间名是什么? _ [提交]
  3. 你的姓氏是什么? _ [提交]
  4. 我只想在第一次提交设置后显示第二个问题。我只想在第1和第2个提交设置完成后显示第3个问题。

    我希望当用户输入并提交他的信息时,网页看起来像这样:

    首先看网页:


    1. 你的名字是什么? 比利 [提交]

    2. 用户按下第一次提交后网页的显示方式:


      1. 你的名字是什么? 比利 [提交]
      2. 你的中间名是什么? Joe [提交]

      3. 用户按下第二次提交后网页的显示方式:


        1. 你的名字是什么? 比利 [提交]
        2. 你的中间名是什么? Joe [提交]
        3. 你的姓氏是什么? 史密斯 [提交]

        4. 我希望在我的表单的操作字段中使用$ PHP_SELF并使用$ _POST方法来完成此操作。你有什么建议吗?非常感谢你。

          编辑:清晰度

2 个答案:

答案 0 :(得分:0)

这应该是

 <?php
     session_start();
     if($_POST['btnOne'])
       $_SESSION['ShowSecond'] = true;
     if($_POST['btnTwo'])
       $_SESSION['ShowThird'] = true;
    ?>
    <form name="formOne">
    ...
    <input type="submit" name="bntOne" value="One">
    </form>
    <?php if(isset($_SESSION['ShowSecond'])) { ?>
    <form name="formTwo">
    ...
    <input type="submit" name="bntTwo" value="Two">
    </form>
    <?php }
    if(isset($_SESSION['ShowThird']))
    {
    ?>
    <form name="formThree">
    ...
    <input type="submit" name="btnThree" value="Three">
    </form>
    <?php } ?>
    ?>

只需将session_start()作为php文件中的第一行执行

答案 1 :(得分:0)

您可以按照SenadMeškin的建议使用会话,或者在表单中创建隐藏的输入字段以跨多个提交传递数据。玩这个代码并弄清楚它是怎么回事。

        <form name="myform" method="post" action="">
  <?php if(!isset($_POST['firstname']))
         {?>
            First Name?
           <input type="text" name="firstname" value="">
  <?php  }
        elseif(!isset($_POST['middlename']))
         {?>
      <input type="hidden" name="firstname" value="<?php echo $_POST['firstname'] ?>">
            First Name? <?php echo $_POST['firstname'] ?><br>
            Middle Name?
            <input type="text" name="middlename" value="">

  <?php  }
        elseif(!isset($_POST['lastname']))
         {?>
      <input type="hidden" name="firstname" value="<?php echo $_POST['firstname'] ?>">
      <input type="hidden" name="middlename" value="<?php echo $_POST['middlename'] ?>">
          First Name? <?php echo $_POST['firstname'] ?><br>
          Middle Name? <?php echo $_POST['middlename'] ?><br>
          Last Name?
         <input type="text" name="lastname" value="">
  <?php  }else{ ?>
      <input type="hidden" name="firstname" value="<?php echo $_POST['firstname'] ?>">
      <input type="hidden" name="middlename" value="<?php echo $_POST['middlename'] ?>">
      <input type="hidden" name="lastname" value="<?php echo $_POST['lastname'] ?>">
          First Name? <?php echo $_POST['firstname'] ?><br>
          Middle Name? <?php echo $_POST['middlename'] ?><br>
          Last Name? <?php echo $_POST['lastname'] ?><br>

  <?php  } ?>

         <input type="submit" name="submitbtn" value="Submit">
        </form>

当然,这个代码可以更好地组织成函数,因为你可以看到有一个重复的模式。

相关问题