在php中的下拉菜单中保存所选选项

时间:2015-07-12 10:29:55

标签: php mysql

我想在下拉菜单中将图像插入所选类别。我不想在html中对菜单进行硬编码,因此可以通过phpmyadmin动态更新到菜单。目前,所有图像都插入到Greeting_Cards表中,因为它现在是占位符。

我已经尝试将其保存为变量:$selected = $_POST['tables'];并将其作为$selected而不是greeting_cards传递,但会返回未定义索引的通知,并且不会添加到任何表格中所有



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>upload</title>

</head>

<body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit" name="submit" value="upload" />
</form>


<?php
require_once('/var/db_file.php');

//To do after submit button
if(isset($_POST['submit']))
{
	mysql_connect("localhost","root", $pass);
	mysql_select_db("images");

	$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
	$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
	$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

	/* Drop down menu */
	$dbname = "images";
	$sql = "SHOW TABLES FROM $dbname";
	$result = mysql_query($sql);
	$tableNames=array();

	while($row = mysql_fetch_row($result)){
		$tableNames[] = $row[0];
	}

	echo '<select name="tables" id="tables">';
	foreach($tableNames as $name){
		echo '<option value="' . $name . '">' . $name . '</option>';
	}
	echo '</select>';
	/* Drop down menu end */

    $selected = $_POST['tables'];

	echo '<br>';

	if(substr($imageType,0,5) == "image"){
		mysql_query("INSERT INTO `$selected` VALUES('','$imageName','$imageData')");
		echo "Image Uploaded!";
	}
	else{
		echo "Has to be an image!";
	}
}


?>

</body>
</html>
&#13;
&#13;
&#13;

编辑1:添加了$ selected变量,而不是Greeting_Cards 修复:移动表单的结束标记以包含php代码。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

在此代码段中,$_POST['tables']未获得指定的值,因为表单没有名为的选择下拉列表。

尽管正在回调下拉,但它已超出<form>,因此未提交。