我想在下拉菜单中将图像插入所选类别。我不想在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;
编辑1:添加了$ selected变量,而不是Greeting_Cards 修复:移动表单的结束标记以包含php代码。 谢谢你的帮助!
答案 0 :(得分:1)
在此代码段中,$_POST['tables']
未获得指定的值,因为表单没有名为表的选择下拉列表。
尽管正在回调下拉,但它已超出<form>
,因此未提交。