-1

いくつかのSQLクエリを実行し、フィールドを更新してから元のページにリダイレクトする「更新」ページに送信される非常に大きなフォームがあります。すべてが正常に機能しています。$_POST変数を更新ページに送信するために使用しています。

最近<input type='file' />、ページにフィールドを追加する必要がありました。ユーザーがファイルを選択するたびにフォームが壊れ、次のページに何も送信されません。

$_POST更新ページで変数をエコーし​​てみました。fileフィールドが設定されていない限り、それらは完全に通過します。ファイルを選択した場合、変数はありません。

なぜこれが起こっているのか、私は本当に困惑しています。誰かがその理由について何か考えを持っていますか。ここに抜粋があります。

巨大な形の抜粋:

<form enctype="multipart/form-data" method="post"  action="editConfirm.php">
      .
      .
     <input type="file" name="new_file" id="new_file"  />                                           
     <input type='field' width='25px' name='fakeInput' id='fakeInput' value='' />
     <input type="hidden" name="compressed_file_id" id="compressed_file_id"   value='<? echo $compressedID; ?>' />

そして確認ページ:

echo "New File = ".$_POST['new_file'];
echo "<br />Master Title = ".$_POST['masterTitle'];
echo "<br />Compressed File ID = ".$_POST['compressed_file_id'];

したがって、新しいファイルが設定されていない限り、これらはすべて適切にエコーします。ファイルを選択してフォームを送信すると、すべてが壊れて何も起こりません。

4

1 に答える 1

2

アップロードされたファイル配列を $_POST として取得することはありません。ファイルプロパティ配列を取得するには、 $_FILES["new_file"] を使用する必要があります

参照 http://php.net/manual/en/reserved.variables.files.php

于 2012-11-07T23:16:56.413 に答える