【发布时间】:2018-06-13 01:45:03
【问题描述】:
我有一个表单,它使用JQuery 在选择文件后立即自动提交表单。
图片已上传并正确显示,但表格中没有插入数据。
我已尝试删除“if isset”以测试 SQL 是否正确插入数据,但显然需要 if 语句,因此它不会在每次加载页面时都将数据插入表中。
我认为问题是因为我删除了表单提交按钮,但是如果我将其添加回表单中,则在选择图像后不再自动提交。
$('#file').change(function() {
$('#target').submit();
});
if(isset($_FILES['file'])){
DB::query('INSERT INTO images VALUES(\'\', :image, :img_id)',array(':image'=>$image, ':img_id'=>$userid));
}
<form id="target" action="upload.php" name="target" method="POST" enctype="multipart/form-data">
<img src="uploads/profileu<?=$userid?>u.jpg?=<?php echo rand() . "\n";?>">
<label class="btn btn-primary glyphicon glyphicon-pencil">
<input type="file" id="file" name="file" onchange="form.submit()" style="display:none">
</label>
</form>
我还应该注意图像是从本地文件夹上传和显示的(正常工作),SQL 是简单地将 1 或 0 插入数据库(用户有图像或没有图像)
【问题讨论】:
-
那是
$_FILES['file'],注意S。 -
错字。改变但结果相同
-
jQuery 函数是在 HTML 标记之前还是之后定义的?并删除
form未定义的内联onchange="form.submit()"。 -
jQuery在后面定义。onchange已删除但结果相同。 -
最后搞定了。感谢@LouysPatriceBessette 的帮助