Как решить эту проблему, включая загрузку файлов и другой ввод текста, на той же странице


Мне нужна помощь с моей формой. Существует сочетание ввода, текстовой области и загрузки файлов, которые я хочу ввести в базу данных..

Что я использую в? Использую ли я атрибут обычной формы:

  <form action="" method="">

Или

<form enctype="" action="" method="">

Пожалуйста, имейте в виду, что я должен сделать это на одной странице, и загрузка изображения должна быть выполнена вместе с другим вводом текста.

Спасибо, что уделили мне время.

Author: John Conde, 2012-06-15

5 answers

Вы должны использовать enctype="multipart/form-data" для загрузки файлов, это также будет хорошо работать для форм загрузки, не связанных с файлами.

Я обычно использую это объявление для всех своих форм, независимо от того, есть ли в них входные файлы или нет.

 13
Author: Matthew, 2012-06-14 20:05:55

Вам нужно установить enctype="multipart/form-data" и использовать method="post" для любой формы, включающей ввод файла. Это не помешает вам включить другие типы полей.

(Способ отправки этих полей на сервер изменится, но ваша библиотека синтаксического анализа форм будет автоматически устранять различия, вам нужно беспокоиться о них только в том случае, если вы сами анализируете необработанный ввод).

 4
Author: Quentin, 2012-06-14 20:06:15

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

submit.php будучи, в данном случае, внешним PHP-скриптом, который будет обрабатывать вашу форму (если вы решите использовать PHP). Но вы можете назвать сценарий .php как вам угодно (, например cats.php ).

Загруженные данные файла/изображения будут храниться внутри $_FILES, а все текстовые поля, текстовые области, переключатели, флажки и другие данные будут находиться внутри $_POST суперглобального.

Когда submit.php получит отправленную форму, вы сможете выполнить в ней все виды обработки например, проверка того, что пользователь отправил правильный тип файла/изображения, сохранение пути к файлу/изображению в локальной базе данных (на основе клиента/сервера или файловой системы) и многое другое.

Убедитесь, что вы также проверяете ввод данных пользователем на стороне клиента и на стороне сервера.

 4
Author: Bob, 2016-08-07 01:33:48
<form enctype="multipart/form-data" action="yourpage.php" method="post">

Вам понадобится атрибут enctype, если вы хотите, чтобы загрузка файла работала. К вашему сведению, форма может содержать все типы полей, включая загрузку файлов, и работать просто отлично.

 3
Author: John Conde, 2012-06-15 18:34:13

В классическом ASP мне пришлось обращаться к своему текстовому полю как load.getFileData("textfield") вместо стандартного Request("textfield") при использовании enctype="составные/данные формы"

 0
Author: user5981305, 2016-02-25 15:30:19