Почему моя форма не отправляется? - PullRequest
0 голосов
/ 06 июня 2011

У меня есть простая форма HTML, таким образом:

<html>
<head></head>
<body>
    <form action="upload_file.php" method="post" enctype="multipart/form-data">
      <input name="filesToUpload" id="filesToUpload" type="file" />
      <input type="submit" value="Upload File" />
    </form>
</body>
</html>

Когда пользователь нажимает кнопку "Отправить", я ожидаю, что результат вернется через скрипт upload_file.php. Но на FF 4.01 на mac абсолютно ничего не происходит. URL в адресной строке остается прежним, и мой php-скрипт не вызывается на сервере. Я могу получить его для отправки формы, если я изменю энктип на что-то отличное от «multipart / form-data», или если я изменю метод с «post».

Я не могу понять, что происходит. Это ошибка FF / Mac или что-то вроде schtoopid, которое я делаю.

FWIW, вот скрипт PHP. Он украден почти дословно из учебника по загрузке PHP W3schools :

<?php
if ($_FILES["filesToUpload"]["error"] > 0)
  {
  echo "Error: " . $_FILES["filesToUpload"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["filesToUpload"]["name"] . "<br />";
  echo "Type: " . $_FILES["filesToUpload"]["type"] . "<br />";
  echo "Size: " . ($_FILES["filesToUpload"]["size"] / 1024) . " Kb<br />";
  }
?> 

1 Ответ

1 голос
/ 06 июня 2011

О, хорошо, я, кажется, решил это. Я создал несколько фиктивных файлов для проверки скрипта, который собирался использовать для проверки правильности имени файла. Но я создал их, просто зайдя в терминал и выполнив

touch testfile.txt testfile2.txt testfile3.txt

так что все файлы были нулевыми байтами. Это, кажется, не работает для FF на Mac. Это для хрома однако. На ПК я выбирал реальные файлы, потому что я не знаю оконного эквивалента сенсорной команды, поэтому Firefox работал там.

...