我正在尝试上传要存储在mysql数据库中的图像但是我一直收到错误:
注意:第17行的> [php-path] /tuto>rsignupsubmit.php中的未定义索引:profilepic
表单上有一个类型文件的简单按钮上传:
<div class="field">
<label>Profile Picture</label>
<input class="button" type="file" name="profilepic">
</div>
然后我在另一个提交页面上有这个代码,我对PHP很新,但是我已经搜索过并且无法在任何地方找到解决方案。
//File upload
$target_dir = "../img/";
$newprofilepic = $target_dir . basename($_FILES ["profilepic"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($newprofilepic,PATHINFO_EXTENSION));
$newlocation = mysqli_real_escape_string($conn,$_POST['location']);
$insertquery = "INSERT INTO tutors(name, username, password, email, mobile,
profilepic, location,
message)"."VALUES('$newname','$newusername','$newpassword','$newemail',
'$newmobile', '$newprofilepic', '$newlocation', '$newmessage')";
$result = mysqli_query($conn, $insertquery) or die(mysqli_error($conn));
mysqli_close($conn);
提前致谢。
答案 0 :(得分:1)
我试图重现此错误。这是我的代码
<form action="" method="post" enctype="multipart/form-data" >
<div class="field">
<label>Profile Picture</label>
<input class="button" type="file" name="profilepic">
</div>
<div>
<input type="submit">
</div>
</form>
$target_dir = "../img/";
$newprofilepic = $target_dir . basename($_FILES["profilepic"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($newprofilepic, PATHINFO_EXTENSION));
此错误并不适合我。您是否在表单代码中使用enctype="multipar/form-data"
?
如果$_FILES
数组中不存在此项,则会出现此错误。请使用var_dump($_FILES);
答案 1 :(得分:0)
未定义索引:当您调用数组或对象的元素但该元素不存在时,是一个常见错误。例如,如果在下面的$ _FILES数组中没有&#34; profilepic&#34;你会得到这个错误的元素。
$ _ FILES [&#34; profilepic&#34;] [&#34; name&#34;]