PHP/HTML:使用从下拉菜单中获取的数据进行分解时遇到问题

PHP/HTML: trouble utilizing Explode with data gotten from pulldown menu

所以我正在尝试使用下拉菜单 (html),该菜单由从数据库中获取的数据填充。这部分工作正常。我得到了显示我需要的所有内容的菜单。问题是我还需要使用这个菜单包含的值来插入 mysqli 语句。这是代码

<form action="processStatisticUpdate.php" method="post">
            <table style="margin: 0px auto; border: 0px; border-collapse:separate;">
              <tr>
                <td style="text-align: right; background: lightblue;">Name (Last, First)</td>
<!--            <td><input type="text" name="name" value="" size="50" maxlength="500"/></td>  -->
                <td><select name="name_ID" required>
                  <option value="" selected disabled hidden>Choose player's name here</option>

注意菜单的名称是 name_ID

下一段代码是我实际做出选择的地方。:

echo "<option value=\"$T_ID\">$name</option>";

其中 $T_ID 是从 bind_result 获得的,名称是另外两个这样的值的串联。这个相同的状态将在 while($stmt->fetch()) 语句中循环多次。所以它基本上用选项填充 HTML 的这一部分。

正如我所说,我知道这些部分有效,因为我网页上的下拉菜单确实有效,但出于某种原因,我在接下来的部分遇到了麻烦,它是必需文件的一部分。

require('home_page.php');
// create short variable names
$name       = preg_replace("/\t|\R/",' ',$_POST['name_ID']);
$time       = preg_replace("/\t|\R/",' ',$_POST['time']);
$points     = (int) $_POST['points'];
$assists    = (int) $_POST['assists'];
$rebounds   = (int) $_POST['rebounds'];
// convert name and time into separate variables to fit into database
list($Lname, $Fname) = explode(",", $name); // <- experiencing issues here

所以我遇到的问题是这个错误代码:

Notice: Undefined offset: 1 in C:\wamp64\www\hmw3\processStatisticUpdate.php on line 10

现在我查了一下,它似乎是因为它收到的值并不总是(也许永远不会)以它期望的格式出现,但我知道这是一个事实,因为它应该被传入来自 $name 是这样制作的。

$name = implode(',',[$Name_last, $Name_first]);

回到主页。我不知道发生了什么或如何解决它。

当传递给 explode 的 $name 不包含逗号时会发生此错误,因此结果数组中的值不足以用于列表赋值。

这可能是因为您的 select 输入会将 selected 选项的 发送到 PHP 所以 $_POST['name_ID'] 将包含 $T_ID,而不是您期望的 $name。