Reputation: 5441
I've got the following form:
<form method="post" action="index.php">
product name:
<input type="text" name="product_name" value="<?php echo $product_name;?>"/>
<br /> <br />
product details
<textarea rows = "6" cols = "30" name="product_details" > <?php echo $product_details;?></textarea>
<br /> <br />
product price
<input type="text" name = "product_price" value="<?php echo $product_price;?>"/>
<br /> <br />
CN:
<input type="text" name = "product_cn" value="<?php echo $product_cn;?>"/>
<br /> <br />
image
<input type="file" name="fileField" />
<br /> <br />
<input type="submit" name="submit" value="register product" />
</form>
my problem is, whenever i try to process the image using this code:
move_uploaded_file($_FILES['fileField']['tmp_name'], "../product_images/$newname");
I get the following error:
Notice: Undefined index: fileField
why is that?
Thanks in advance!
Upvotes: 3
Views: 1413
Reputation: 16103
You have to add enctype='multipart/form-data'
to the form
Quote from this topic about this
When you make a POST request, you have to encode the data that forms the body of the request in some way.
HTML forms provide two methods of encoding. The default is application/x-www-form-urlencoded, which is more or less the same as a query string on the end of the URL. The other, multipart/form-data, is a more complicated encoding but one which allows entire files to be included in the data.
Upvotes: 5
Reputation: 21086
enctype="multipart/form-data"
Add that attribute to your form tag
<form method="post" action="index.php" enctype="multipart/form-data">
multipart/form-data No characters are encoded. This value is required when you are using forms that have a file upload control
http://www.w3schools.com/tags/att_form_enctype.asp
Upvotes: 2