首页 > 解决方案 > PHP 从 POST 中的表单中获取一个值,该表单具有来自 PHP 脚本的值

问题描述

我创建了一些 PHP 代码来从数据库中获取值,并将它们显示为我使用 HTML 创建的表单中的一个选项。现在我希望能够选择其中一个选项,然后在 POST 中进行处理。但是当我尝试在 POST 中获取该值时,它给了我一个错误,即我的索引未定义。所以我想我的问题是,获得这个值可能吗?如果是这样,我将如何做到这一点?

这是我的代码:

<form method="post" action="dayzconfigedit.php">
<select name="item1">;
    <?php
        //Display the Items from the database in a dropdown menu
        $sql = "SELECT item_id FROM `all_items`";
        $result = $conn->query($sql);
        for($x = 0; $x < $result->num_rows; $x++) {
            $row = $result->fetch_assoc();
            echo "<option value=\"{$row["item_id"]}\">{$row["item_id"]}</option>";
        }
    ?>
</select>
</form>

然后我尝试在 POST 中获取价值:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    //Grab Selected Items from Form
    $item1 = "$_POST[item1]";
}

提前致谢!

我浏览了应该回答我的问题的帖子,但我仍然无法解决这个问题,因为我不知道为什么 POST 数组中未定义索引。

标签: phpformspost

解决方案


你需要像这样抓住项目1;

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    //Grab Selected Items from Form
    $item1 = ! empty($_POST['item1']) ? $_POST['item1'] : null;
}

另外,请更新您选择的选项;

echo"<option value=\"{$row["item_id"]}\">{$row["item_id"]}</option>";

推荐阅读