Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2016, 15:49
Новичок на форуме
Отправить личное сообщение для Yadomaru Посмотреть профиль Найти все сообщения от Yadomaru
 
Регистрация: 02.03.2015
Сообщений: 8

Форма с прикреплением файлов
Всем доброго времени суток!
Есть форма с обычными текстовыми инпутами и прикреплением файлов. Само прикрепление файлов работает через jQuery File Upload, файлы отправляются в папку на сервере без отправки самой формы.
Возникла проблема как связать файлы, которые прикрепляет пользователь и данные формы, которые отправляются по нажатию на submit?

То есть пользователь прикрепил допустим три файла, потом заполнил контактные данные и нажал "отправить". Файлы загрузились отдельно, данные отдельно. Может кто помочь советом? Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2016, 15:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,733

Какой язык используется сервером? Фалы загружаются с какой целю?
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2016, 16:12
Новичок на форуме
Отправить личное сообщение для Yadomaru Посмотреть профиль Найти все сообщения от Yadomaru
 
Регистрация: 02.03.2015
Сообщений: 8

Сообщение от laimas Посмотреть сообщение
Какой язык используется сервером? Фалы загружаются с какой целю?
Язык PHP, а файлы в качестве дополнительной информации к сообщению посетителя.

В идеале пример работы формы как на avito при добавлении объявления.
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2016, 16:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,733

Авито, не авито, это не важно. Если к сообщению, то контактные данные не обязательно есть уникальность, а значит либо регистрация, либо уже существует. А это означает, что пользователь также в базе под уникальным ID. Вот с этим ID и нужно ассоциировать файлы.
И тут в зависимости от того как организовано их хранение. К примеру, у каждого пользователя своя папка под изображения, значит файлы нужно перемещать в его папку, связывая каждый с ID сообщения.
Если наоборот, папки связываются с ID сообщения, то в нее помещаются файлы которые связываются по ID пользователя.
Ну и третий случай, общая папка (не совсем лучший вариант, если файлов в ней будет много), тогда в эту папку помещается файлы как связанные и по ID сообщения, и по ID пользователя.
Если формируемое имя файла прописывается непосредственно в базу, то могут быть еще варианты.
А у вас как все организовано хранение?
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2016, 16:26
Новичок на форуме
Отправить личное сообщение для Yadomaru Посмотреть профиль Найти все сообщения от Yadomaru
 
Регистрация: 02.03.2015
Сообщений: 8

Сообщение от laimas Посмотреть сообщение
Авито, не авито, это не важно. Если к сообщению, то контактные данные не обязательно есть уникальность, а значит либо регистрация, либо уже существует. А это означает, что пользователь также в базе под уникальным ID. Вот с этим ID и нужно ассоциировать файлы.
И тут в зависимости от того как организовано их хранение. К примеру, у каждого пользователя своя папка под изображения, значит файлы нужно перемещать в его папку, связывая каждый с ID сообщения.
Если наоборот, папки связываются с ID сообщения, то в нее помещаются файлы которые связываются по ID пользователя.
Ну и третий случай, общая папка (не совсем лучший вариант, если файлов в ней будет много), тогда в эту папку помещается файлы как связанные и по ID сообщения, и по ID пользователя.
Если формируемое имя файла прописывается непосредственно в базу, то могут быть еще варианты.
А у вас как все организовано хранение?
Проблема как раз в том, что регистрации нет. Пользователь просто вводит имя и прикрепляет файлы. Но прикрепление файлов и отправка имени происходит в разный момент. Как их связать? Может сессию открыть для каждого посетителя?

На счет самой организации папка с ID сообщения и туда файлы.
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2016, 16:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,733

Сообщение от Yadomaru
Проблема как раз в том, что регистрации нет.
Это плохо, ибо базу неминуемо ожидает куча мусора в виде дубликатов.

Сообщение от Yadomaru
Но прикрепление файлов и отправка имени происходит в разный момент.
Это вы так думаете или это действительно так? "Само прикрепление файлов работает через jQuery File Upload, файлы отправляются в папку на сервере без отправки самой формы." еще не означает, что поля контактных данных и поля выбора файлов, это поля различных форм.
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2016, 16:50
Новичок на форуме
Отправить личное сообщение для Yadomaru Посмотреть профиль Найти все сообщения от Yadomaru
 
Регистрация: 02.03.2015
Сообщений: 8

Сообщение от laimas Посмотреть сообщение
Это плохо, ибо базу неминуемо ожидает куча мусора в виде дубликатов.



Это вы так думаете или это действительно так? "Само прикрепление файлов работает через jQuery File Upload, файлы отправляются в папку на сервере без отправки самой формы." еще не означает, что поля контактных данных и поля выбора файлов, это поля различных форм.
Форма одна, но при нажатии "отправить" Имя передается, а файлы нет.
Ответить с цитированием
  #8 (permalink)  
Старый 19.01.2016, 17:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,733

Сообщение от Yadomaru
Форма одна, но при нажатии "отправить" Имя передается, а файлы нет.
Даже так, и как тогда вы получаете файлы?
Вы как проверяете на сервере получение данных этой формой, включая и файлы?
Ответить с цитированием
  #9 (permalink)  
Старый 19.01.2016, 17:16
Новичок на форуме
Отправить личное сообщение для Yadomaru Посмотреть профиль Найти все сообщения от Yadomaru
 
Регистрация: 02.03.2015
Сообщений: 8

Сообщение от laimas Посмотреть сообщение
Даже так, и как тогда вы получаете файлы?
Вы как проверяете на сервере получение данных этой формой, включая и файлы?
Файлы загружаются непосредственно при прикреплении скриптом jQuery File Upload. То есть выбрал файл(ы) и они загрузились сразу даже без нажатия на "отправить".

Данные проверяю так: Имя через $_POST, а файлы через $_FILES.
Ответить с цитированием
  #10 (permalink)  
Старый 19.01.2016, 17:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,733

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма загрузки файлов Eblinkoff Элементы интерфейса 3 22.11.2015 19:44
Nodejs, busboy, загрузка нескольких файлов, не корректно вызывается событие 'finish' master_alf AJAX и COMET 1 07.10.2014 10:08
откуда была отправлена форма ? avanesov89 Общие вопросы Javascript 3 16.04.2014 16:50
ajax-форма с загрузкой файлов и обычными полями iNfantry jQuery 1 12.04.2014 15:30
не работает форма в окне, вызванном jquery page slide ikar jQuery 0 31.07.2011 21:55