HTML下拉菜单问题

时间:2016-06-30 10:10:36

标签: php html

我有一个下拉HTML菜单,其中包含一些我要插入输入表的值。单击“插入生产”按钮后,我希望它将这些值插入相关数据表中。 以前我只是手动输入'流派'细节作为文本,他们输入到表中确定,但现在已将输入更改为下拉列表,但该值未输入表中。有没有一种简单的方法可以确保将此值上传到表中?对不起,如果这是基本的痛苦,但我仍然是这一切的新手。

<html>
<head>

<title>Inserting Production</title>

</head>


<body>

<form method="post" action="insert_product.php" enctype ="multipart/form-data">

<table width="500" height="650" align="center" border="2" bgcolor="#c6ff1a">

<tr align="center">
<td colspan="2"<h1>Insert new production:</h1></td>
</tr>

<tr>
<td align="right"><b>Production Name:</b></td>
<td><input type="text" name="prod_name" size="40"/></td>
</tr>

<tr>
<td align="right"><b>Production Genre:</b></td>
<td><select>
  <option value="Drama">Drama</option>
  <option value="Thriller">Thriller</option>
  <option value="Comedy">Comedy</option>
  <option value="Children">Children</option>
  <option value="Sci-fi">Sci-fi</option>
  <option value="Horror">Horror</option>
  <option value="Documentary">Documentary</option>
  <option value="Fantasy">Fantasy</option>
</select></form></td>

</tr>

<tr>
<td align="right"><b>Production Year</b></td>
<td><input type="text" name="prod_year"</td>
</tr>

<tr>
<td align="right"><b>Production Description</b></td>
<td><textarea name="prod_desc" cols="35" rows="10"/></textarea></td>
</tr>

<tr>
<td align="right"><b>Product Keywords</b></td>
<td><input type="text" name="prod_keywords"</td>
</tr>

<tr>
<td align="right"><b>Production Image</b></td>
<td><input type="file" name="prod_img"</td>
</tr>

<tr align="center">
<td colspan="2"><input type="submit" name="insert_production" value ="Insert Production"/></td>
</tr>
</form>

</body>

</html>

<?php

//fetches product title, cat etc and submits them to database

if(isset($_POST['insert_production'])) {
    //text data variables
    $product_name = $_POST['prod_name'];
    $product_genre = $_POST['prod_genre'];
    $product_year = $_POST['prod_year'];
    $product_desc = $_POST['prod_desc'];
    $product_keywords = $_POST['prod_keywords'];

    //Inserting image names in db and image files saving in my htdocs/Admin_area/product_images/$product_img1

    //Images names
    $product_img1= $_FILES['prod_img']['name'];


    //Image temporary name(we have to set image temporary names)
    $temp_name1= $_FILES['prod_img']['tmp_name'];


    if ($product_name == '' OR $product_genre == '' OR $product_desc == '' OR $product_year == ''){

        //Simple validation alert. If user leaves any of above fields empty
        //will pop-up alert box saying 'Please insert your data etc ...'

        echo "<script>alert('Please complete all fields!')</script>";
        exit();

    }//if

    else {

        move_uploaded_file($temp_name1,"product_images/$product_img1");


        $insert_product = "insert into productions (prod_name, prod_genre, prod_year, prod_desc, prod_keywords, prod_img)
        values ('$product_name', '$product_genre', '$product_year', '$product_desc', '$product_keywords', '$product_img1')";

        $run_product = mysqli_query($db, $insert_product);

        //If this query runs

        if ($run_product) {
            echo "<script>alert('Production inserted successfully!')</script>";
            echo "<script>window.open('index.php?insert_product', '_self')</script>";   

    }//if
}//else

}//if

?> 

2 个答案:

答案 0 :(得分:4)

只需添加此行,然后再次尝试提交from。

<select name="prod_genre">

答案 1 :(得分:3)

您忘记为select标记指定名称。如果要将此表单元素用于例如,则需要为其命名。数据库存储等。

所以将<select>更改为<select name="prod_genre">

我希望这可以帮到你!