我正在尝试从MySQL的文本区域插入一些数据并上传特定文件夹中的图像并将图像名称保存在MySQL中。但是当我提交它时,只有文本区域数据(titulli,permbjajtja)被插入到数据库中,图片没有被上传,并且图片的名称没有插入MySQL中。 这是表单代码:
<form role="form" method="post" action="shtolajm1.php" enctype="multipart/form-data">
<div class="form-group">
<textarea class="form-control" rows="3" name="titulli"></textarea>
<textarea class="form-control" rows="10" name="permbajtja"></textarea>
<input type="file" name="files[]" style="margin-left:-5;"/>
<button type="submit" name="submit" class="btn btn-default" style="float:right;margin-top:10px;">Insert</button>
</div>
</form>
这是我用来将数据插入mysql并上传图片的代码:
if(isset($_POST['submit']))
{
if (!strlen(trim($_POST['titulli']))==0 && !strlen(trim($_POST['permbajtja']))==0 )
{
$titulli=$_POST['titulli'];
$permbajtja=$_POST['permbajtja'];
$data=date('Y-m-d');
$time=date('H:i');
$username=$_SESSION['myusername'];
$InsertQuerry="INSERT INTO lajme (titulli, permbajtja, data, ora, useri) VALUES ('$titulli','$permbajtja','$data','$time','$username')";
if (mysql_query($InsertQuerry))
{
echo "Data inserted";
}
}
else
{
echo "Type the title and container";
}
}
$id_lajmi=mysql_insert_id();
if(isset($_FILES['files']['name']))
{
for($i=0; $i<count($_FILES['files']['name']); $i++)
{
$tmpFilePath = $_FILES['files']['tmp_name'][$i];
if ($tmpFilePath != "")
{
$path = "lajme_foto/";
list($txt, $ext) = explode(".", $name);
if(move_uploaded_file($_FILES['files']['tmp_name'][$i], $path.$id_lajmi."photo".$i.".".$ext))
{
$emri_fotos=$path.$id_lajmi."photo".$i.".".$ext;
$insertfoto="INSERT INTO lajme_foto (id_lajmi,emri_fotos) VALUES ('$id_lajmi','$emri_fotos')";
if(mysql_query($insertfoto))
{
echo "Image Inserted";
}
}
}
}
}
任何人都可以帮我解决这个问题吗? 谢谢你的建议。
答案 0 :(得分:4)
您忘了在表单中添加enctype="multipart/form-data"
。
您的表单标记应如下所示:
<form role="form" method="post" action="shtolajm1.php" enctype="multipart/form-data">