首页 > 解决方案 > 使用 PHP 获取 Select 和 Option 值

问题描述

我想创建一个表单,我可以在其中上传图像并添加一个名称下拉字段,其中包含来自表的值,即名字和姓氏,使用 CONCAT 将它们组合成一个完整的名称。

下拉字段具有来自表的值并且工作得很好。

我唯一的问题是我无法将下拉字段的值存储到变量中,因此我可以将其包含在插入查询中。

我尝试通过使用 name 属性从选择标签中获取选项标签的值来通过 post 方法获取它。

<?php

include('adminheader.php');
include('connection.php');

if (isset($_POST["insert"])) {
    if (!$_POST['description']) {
        $error = "<p>Description field is required</p>";
    }
    $ownerselected = mysqli_real_escape_string($link, $_POST['owner']);
    $ownerselected1 = "hello";
    $imagedescription = mysqli_real_escape_string($link, $_POST['description']);
    $file = addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
    $query = "INSERT INTO images(name,description,ownerid,uploaderid) VALUES ('$file','$imagedescription','$ownerselected','$userLoggedIn')";
    if (mysqli_query($link, $query)) {
        $notification = "Image successfully inserted " . $ownerselected1;

    }
}
?>

<br/><br/>
<div class="imagecontainer container">
    <div class="logincontainer">
        <div id="error"><?php echo $error; ?></div>
        <div id="error"><?php echo $notification; ?></div>
        <div style="width:500px;">
            <h3 align="center"><strong>Select an Image to upload</strong></h3>
            <br/>

            <form method="post" enctype="multipart/form-data">
                <?php
                $query = "SELECT CONCAT(fname,' ',lname)AS Name FROM person";
                $result = mysqli_query($link, $query);
                ?>
                <br/>
                <div class="form-group"> <!--Start of image upload -->
                    <label for="image">Click Browse to locate image</label>
                    <input type="file" name="image" id="image"/>  <!--end of image upload -->
                    <br/>

                    <div class="form-group"> <!--Start of image description -->
                        <label for="description">Image Description</label>
                        <input type="text" class="form-control" name="description" id="description"
                               placeholder="Enter txt">
                    </div> <!--end of image description -->

                    <div class="form-group"><!--start of owner dropdown -->
                        <label for="owner">Image Owner</label>
                        <select class="form-control" id="owner" name="owner">
                            <?php while ($row1 = mysqli_fetch_array($result)):; ?>
                                <option value="<?php echo $row1['Name']; ?>">
                                    <?php echo $row1['Name']; ?>
                                </option>
                            <?php endwhile; ?>
                        </select>
                    </div>    <!--end of owner dropdown -->
                    <input type="submit" name="insert" id="insert" value="Insert" class="btn btn-info"/>
            </form>
            <br/>
            <br/>  

当我运行脚本时,前端的一切看起来都很好,但是当我执行插入时,只有图像被写入表中,并且 imageowner 列没有任何价值。任何帮助是极大的赞赏。谢谢!

标签: php

解决方案


推荐阅读