【问题标题】:insert html code to a page via php script in other page通过其他页面中的php脚本将html代码插入页面
【发布时间】:2013-08-29 04:41:44
【问题描述】:

我对php有点新,所以也许这个问题很愚蠢。

说我有一个表格:

<form id="createNewGallery" name="newgallery" method="GET" action="code.php"><p><strong>please choose the number of pictures you want to upload:
  </strong>
  <select name="numOfPictures" id="numOfPictures">

      <option>3</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
      <option>7</option>
      <option>8</option>
      <option>9</option>
      <option>10</option>
  </select></p>
  <input name="submitNumOfPictures" type="submit" />
</form>

通过提交此表单,我想在之后添加另一个表单,我知道我可以在这个特定页面中执行此操作,但我只是希望我的代码不要混乱,所以我想在另一个页面中执行此操作,例如 code.php

这是代码:

<?php

if (isset($_GET['numOfPictures'])){

    $times = $_GET['numOfPictures'];
    for ($i = 1; $i <= $times; $i++){
        echo '<br />select picture number '.$i.': <br />';
        echo '<input name="file'.$i.'" type="file" />';

    }
    echo '</br><input name="submitFiles" type="submit" />';

}

我得到的结果是一个新页面中的输出,code.php,但我希望它在我的索引 php 上创建一个表单。

如果我在索引页面中进行 mt php 编码,我会得到所需的结果。

【问题讨论】:

    标签: php html forms indexing


    【解决方案1】:

    有多种管理方式,具体取决于您的最终目标。

    您可以只使用单独的文件,当用户提交表单时,它会转到下一页,即。 firstform.php -> 提交到 -> secondform.php,依此类推。 这样,如果您检查他们的输入而不是您喜欢的输入,您可以将他们发送回上一页/表单,并带有一些错误消息以更正他们的选择。

    您可以像现在一样使用 GET,也可以使用 POST

    您可以使用一个页面/文件(例如 forms.php)并使用 PHP 来确定用户处于哪个阶段。 示例 - 假设您让用户输入他们想要的图片数量,然后询问他们的详细信息(可能不是您需要的,但您了解流程的想法)

    //FORM 1 - get number of pictures
    if ($_GET['whichform'] == '')
      {
        echo '<form id="createNewGallery" name="newgallery" method="GET"
               action="'.$_SERVER['PHP_SELF'].'"">';
        echo '<input type="hidden" name="whichform" value="form1" />';
        echo '<input name="submitNumOfPictures" type="submit" />';
      }
    
    //FORM 2 - number of pictures submitted so ask for their details
    elseif ($_GET['whichform'] == 'form1')
      {
        echo '<form id="GetUserDetails" name="userdetails" method="GET"
               action="'.$_SERVER['PHP_SELF'].'"">';
        echo '<input type="hidden" name="whichform" value="form2" />';
        echo '<input name="userdetails" type="submit" />';
      }
    

    这将让您从 FORM1 开始,一旦提交,GET 信息将返回 true,如果是 FORM1,那么它将显示 FORM 2,以此类推 FORM 3、4、5 等 在某些方面这是一种粗略的方式,需要进行调整(即测试提交的数据是否符合您的预期等),但它让您了解如何在一个页面上管理多个表单。

    【讨论】:

      【解决方案2】:

      正如 Filippo Toso 所说,您可以在 code.php 中包含 HTML 文件。

      也许,如果您不想拥有两个文件,您可以只制作一个文件并将表单设置为:

      <form id="createNewGallery" name="newgallery" method="GET" action="./"><p><strong>please choose the number of pictures you want to upload:
        </strong>
        <select name="numOfPictures" id="numOfPictures">
            <option>3</option>
            <option>4</option>
            <option>5</option>
            <option>6</option>
            <option>7</option>
            <option>8</option>
            <option>9</option>
            <option>10</option>
        </select></p>
        <input name="submitNumOfPictures" type="submit" />
      </form>
      <?php
      
      if (isset($_GET['numOfPictures'])){
      
          $times = $_GET['numOfPictures'];
          for ($i = 1; $i <= $times; $i++){
              echo '<br />select picture number '.$i.': <br />';
              echo '<input name="file'.$i.'" type="file" />';
      
          }
          echo '</br><input name="submitFiles" type="submit" />';
      
      }
      ?>
      

      (注意表单的“动作”)

      与以前的解决方案相比,这可能毫无意义,但如果您不想拥有两个文件,您可以一次完成,这样一旦提交,您将在表单之后立即获得结果,而无需任何其他页面!

      编辑:忘了提到我想你的文件名为“index.php”。如果没有,只需将“./”替换为正确的地址!

      【讨论】:

        【解决方案3】:

        试试这个

        <form id="createNewGallery" name="newgallery" method="post" action="code.php">
        <p><strong>
        please choose the number of pictures you want to upload:
          </strong>
          <select name="numOfPictures" id="numOfPictures">
        
              <option value="3">3</option>
              <option  value="4">4</option>
              <option  value="5">5</option>
              <option  value="6">6</option>
              <option  value="7">7</option>
              <option  value="8">8</option>
              <option  value="9">9</option>
              <option value="10">10</option>
          </select></p>
          <input name="submitNumOfPictures" type="submit" />
        </form>
        

        code.php

        <?php
        $times = $_POST['numOfPictures'];
        
        echo $times;
        
        ?>
        

        【讨论】:

          猜你喜欢
          • 2013-11-17
          • 2015-10-25
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多