user3696677 user3696677 - 1 month ago 15
PHP Question

having undefined index error: file

I'm trying to create a php script that will upload images into a folder. but it give me an error Notice: Undefined index: file in C:\xampp\htdocs\upload.php on line 26 ,27,28 and 29

include('connectdb.php');
if(!file_exists("img")) {
mkdir ("img");

}

if (isset($_POST['submit'])){
if (isset($_FILES["file"]["error"]) > 0)
{

$er = "ERROR Return Code: " . $_FILES["file"]["error"] . "<br />" ;
}

else
{

$name = $_FILES["file"]["name"]; //line 26
$type = $_FILES["file"]["type"]; //line 27
$size = $_FILES["file"]["size"];//line 28
$tmp = $_FILES["file"]["tmp_name"];//line 29
$path = "img";

}

if(move_uploaded_file($tmp, "img/" . $name))
{
$mysql_path = $path."/".$name;
$sql = "INSERT INTO image(name, path) VALUES('','$name', '$mysql_path')";

if (mysql_query($sql)){
echo "path inserted in database";
}

else {

echo 'path not inserted into database';

}

}
}

?>


and here's the frontend.

<html>
<head>
<title> Upload </title>
</head>

<body>

<form enctype="multipart/form-data" action="upload.php" method="post" name="changer">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" name="submit" type="submit">
</form>

</body>


</html>

Answer

In HTML form you have name="image" but in PHP script you work with $_FILES["file"]. It should be $_FILES["image"].

Comments