下面是上传图像并将其保存到数据库的脚本。
在网站的一个页面上,有一个表格,每个内部都有<li></li>
一个上传图标,用户可以在其中添加一张图片。
问题是图像上传仅适用于<li>
桌子上的“最高”空。
这里,“最高”是指<li>
数据库中保存的最新数据(表格按TIME DESC排序)。
例如,如果我想<li></li>
在页面上随机上传一张图片,一旦我选择了一张图片,什么都不会发生。但是,如果我选择“最高”的空(空 = 数据库中没有保存图像)<li></li>
,它就像一个魅力。
HTML:
<li id="entry<?php echo $recipe_id ?>">
<div class="addimage_icon" id="upload<?php echo $recipe_id; ?>">
<form id="upload_icon" action="upload_extra.php" method="POST"
enctype="multipart/form-data">
<input class="upload" id="file" type="file" style="display:none" />
<input type="hidden" name="recipe_id" value="<?php echo $recipe_id; ?>"/>
<img class="upload_icon" src="/upload_icon.png">
</form>
</div>
</li>
JAVASCRIPT(选择一张图片后立即触发上传):
<script>
$('.upload_icon').click(function(){
$(this).parent().find('.upload').click();
});
document.getElementById("file").onchange = function() {
document.getElementById("upload_icon").submit();
}
</script>
PHP:
<?php
include "includes/connnect.php";
$id = $_SESSION['id'];
$recipe_id = mysql_real_escape_string($_POST['recipe_id']);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$recipe_id= $_POST['recipe_id'];
//get image attributes
$add = query("UPDATE cookbook SET recipe_pic = '".$location."' WHERE recipe_id =
'$recipe_id'");
header(Location:"home.php");
}
?>
这是怎么回事?