3

次のフォームがあります。

<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>

私の問題は、このコードを使用して画像を処理しようとするたびに:

move_uploaded_file($_FILES['fileField']['tmp_name'], "../product_images/$newname");

次のエラーが表示されます。

Notice: 未定義のインデックス: fileField

何故ですか?

前もって感謝します!

4

2 に答える 2

5

これについて、このトピックからの引用をenctype='multipart/form-data'フォームに追加する必要があります

POST リクエストを行う場合、リクエストのボディを形成するデータを何らかの方法でエンコードする必要があります。

HTML フォームには、2 つのエンコード方法があります。デフォルトは application/x-www-form-urlencoded で、URL の末尾にあるクエリ文字列とほぼ同じです。もう 1 つの multipart/form-data は、より複雑なエンコーディングですが、ファイル全体をデータに含めることができます。

于 2013-08-07T17:25:11.283 に答える
2
enctype="multipart/form-data"

その属性をフォームタグに追加します

<form method="post" action="index.php" enctype="multipart/form-data">

multipart/form-data 文字はエンコードされません。この値は、ファイル アップロード コントロールを持つフォームを使用している場合に必要です。

http://www.w3schools.com/tags/att_form_enctype.asp

于 2013-08-07T17:25:04.643 に答える