使用php post从数据选项表单中获取id


Getting a id back from a datalist option form using php post.

我正在尝试在html 5中结合php使用数据表功能。到目前为止,它运行得很好,但是我遇到了一个小问题。

我希望我的$_POST['select']返回我的选项id,而不是我的值(姓氏),因为可能有更多相同的姓氏。

任何正确方向的提示/提示都将不胜感激。

我的"形式":

    <form action="index.php?action=listcustomer" method="post" >
      <div class="ui action input">
        <input type="text" name="select" placeholder="Zoek op achternaam"  autocomplete="on" list="datalistcustomer">
         <datalist id="datalistcustomer"> ';
          $sql = databaseConnect()->prepare("SELECT customerID, customerFirstName, customerLastName FROM customers ORDER BY customerLastName ASC");
          $sql->execute();
          $result = $sql->fetchAll(PDO::FETCH_ASSOC);
          foreach ($result as $key => $value) {
            echo '<option id=' .$value['customerID'] .' value=' .$value['customerLastName'] .' label='.$value['customerFirstName'] .' >    </option>';
          }
echo'       </datalist>
          <button type="submit" class="ui blue labeled icon button"> <i    class="user icon"></i> Gaan </button>
      </div>
  </form>

My receiving end:

var_dump($_POST['select']);

它在我的浏览器中的样子:https://i.stack.imgur.com/YUCAf.png这是荷兰语,所以你可能听不懂。较大的部分是LastName字段(值),较小的字母是First Name(标签)。

更新你的选项标签,让它看起来像这样:

foreach ($result as $key => $value) {
    echo '<option id="' .$value['customerID'] . '" value="' .$value['customerID'] . '"' .
         ' label="'.$value['customerFirstName'] .'" >' . $value['customerLastName'] . '</option>';
}

还可以考虑在返回给浏览器的动态内容周围使用htmlentities(),因为您无法确保它不包含干扰html的字符。例句:

htmlentities($value['customerLastName'])