3

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!

kfirba
  • 5,231
  • 14
  • 41
  • 70

2 Answers2

5

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.

Community
  • 1
  • 1
Martijn
  • 15,791
  • 4
  • 36
  • 68
2
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

Louis Ricci
  • 20,804
  • 5
  • 48
  • 62