感谢您的光临,如果这个问题似乎很简单,我很抱歉,因为我对 php 有点陌生。我正在尝试做一个学校项目,我现在的问题是我似乎无法获得下拉列表的值。我一直在尝试在这里搜索每个论坛和一些类似的问题,但它们似乎只显示了我如何用数据库值填充下拉列表。
填充下拉菜单的代码正在运行,但记录所选值对我不起作用。
这是我的下拉菜单的 php 代码:
<div class="panel">
<label class="panelname">Category:</label>
<select name="category" class="signup_field">
<option>Select One</option>
<? // retrieve all the categories and add to the pull down menu
$query = 'SELECT category_id, name FROM category ORDER BY name ASC';
$request = mysqli_query($dbc, $query);
while ($row = mysqli_fetch_array($request, MYSQLI_NUM)) {
$cat_id = $row[0];
echo "<option value=\"row[0]\"";
//check for stickyness:
if (isset($_POST['category']) && ($_POST['category'] == $row[0])) {
echo ' selected="selected"';
//$_POST[]
} echo ">$row[1]</option>\n";
}
?>
</select>
<? if (array_key_exists('category', $add_product_errors)) echo '<label class="error">' . $add_product_errors['category'] . '</label>'; ?>
</div>
这是我的验证代码的一部分:-
// Check for a form submission:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Check for a category:
if (!isset($_POST['category']) || !filter_var($_POST['category'], FILTER_VALIDATE_INT, array('min_range' => 1))) {
$add_product_errors['category'] = 'Please select a category!';
}
..... // other codes for validation (Eg: if (empty($add_product_errors)) { proceed to query} )
我不知道似乎是什么问题,但是 $_POST['category'] 中没有记录值供我保存到 MySQL 中,并且我不断收到 Please select a category 错误。
感谢大家的帮助。:)