在提交时发送"按钮" -ID

时间:2016-06-25 21:04:42

标签: php forms html-table cell

我有一个PHP页面,其中包含一个带有一些不同输入字段的表单,例如: G。日期,月份,年份等。表单方法是POST,只有一个不可编辑的字段(用户ID)通过GET发送。 当然,有一个"提交" -Button,它触发表单Action(服务器上的PHP脚本)。
表单标记也包含一个包含空单元格的表。现在我的问题出现了:

如果用户点击其中一个表格单元格,则应提交表单,但除了常规表单数据之外,还应传输表格单元格的ID(如果通过POST或GET并不重要我)。我怎么能这样做?

//编辑2:

...
<form method="post" action="<?= DOMAIN?>/.../addUserTimetable.php?uid=<?= $user->getUserID() ?>">
  <select id="day" name="day">
    ...
  </select>
  ...
  <input name="yearend" id="yearend" ...>
  <button type="submit">...</button>
  <table class="bordered">
    <tr>
      <th>Std.</th>
      <th>Montag</th>
      <th>Dienstag</th>
      <th>Mittwoch</th>
      <th>Donnerstag</th>
      <th>Freitag</th>
    </tr>
    <?php 
      for($i=1; $i<13;$i++) {
        echo "<tr>";
        echo "<th>".$i. "</th>";
        for($j=1;$j<6;$j++) {
          echo "<td id='h".$i. "d".$j. "' onclick='???'></td>";
        }
        echo "</tr>";
      }
    ?>
  </table>
</form>
...

服务器端游行很好,但我还没有任何想法 - 即使在谷歌两个小时之后 - 我还能如何传输小区id。

1 个答案:

答案 0 :(得分:1)

那应该不是很难。看看下面的例子:

<form>
    <input type="text" name="something">

    <table>
       <tr>
          <td><input type="submit" name="cel1">
       </tr>
       <tr>
          <td><input type="submit" name="cel2">
       </tr>
       <tr>
          <td><input type="submit" name="cel13">
       </tr>
    </table>

    <input type="submit" value="save"> 
</form>

通过在表格单元格中为提交按钮提供名称属性,该名称也将作为$_REQUEST上的键出现。继续和var_dump $ _REQUEST你会发现你可以通过检查哪个键存在而在后端找到了哪个按钮。

请注意,POST / GET在这里完全不相关,两者都可以正常工作。很明显,您可以将一些css应用于这些按钮,使它们透明并将它们放在表格单元格的顶部,这样它们看起来就像按钮,但只是“捕获”用户的点击。

最后一点,您确定要将userID作为GET参数发送吗?对于有不良意图操纵的人来说,这将非常容易。考虑不要发送ID,而是将其保存在服务器上的会话中。