我正在开发一个项目,将图像上传到目录并在数据库表中存储图像路径。图片上传工作正常但我的文字输入名称不起作用。我需要你的帮助。
if(isset($_POST['upload']))
{
$path=$path.$_FILES['file_upload']['name'];
if(move_uploaded_file($_FILES['file_upload']['tmp_name'],$path))
{
echo " ".basename($_FILES['file_upload']['name'])." has been uploaded<br/>";
echo '<img src="gallery/'.$_FILES['file_upload']['name'].'" width="48" height="48"/>';
$img=$_FILES['file_upload']['name'];
$query="insert into imgtables (name,imgurl,date) values('$name',STR_TO_DATE('$dateofbirth','%d-%m-%y'),'$img',now())";
if($sp->query($query)){
echo "<br/>Inserted to DB also";
}else{
echo "Error <br/>".$sp->error;
}
}
else
{
echo "There is an error,please retry or ckeck path";
}
}
?>
表格如下:
<form action="gallery.php" method="post" enctype="multipart/form-data">
<table width="384" border="1" align="center">
<tr>
<td width="108">Name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td width="108">Select File</td>
<td width="260"><label><input type="file" name="file_upload"></label></td>
</tr>
<tr>
<td></td>
<td><label><input type="submit" name="upload" value="Upload File"></label></td>
</tr>
</table>
</form>
答案 0 :(得分:1)
显然,变量$name
为空或未定义,这就是填充所有其他列而不是此列的原因。此外,由于查询有效,您不会收到任何错误。
您可以通过简单的方式确认:
echo($name);
与您的问题无关:
register_globals
开启了吗?如果是这样,你应该考虑关掉它。要知道原因,请查看Why is REGISTER_GLOBALS so bad?。