Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вставка нескольких изображений и возврат назад по кнопке браузера (https://javascript.ru/forum/dom-window/62700-vstavka-neskolkikh-izobrazhenijj-i-vozvrat-nazad-po-knopke-brauzera.html)

St. 26.04.2016 18:18

Цитата:

Сообщение от laimas (Сообщение 415064)
Если Пример бы на js+php, то Ajax, я говорил об этом.

Ajax - это еще одна сложность для меня. Как им пользоваться на *nix компах? У меня сервер на FreeBSD (апач, mysql, php).
Вот нашел (Ajax для новичков): https://habrahabr.ru/post/14246/ :blink:
Жаль, жаль, за чтобы зацепиться (примеры бы JS+PHP).

laimas 26.04.2016 18:56

Цитата:

Сообщение от St.
Как им пользоваться на *nix компах?

Ajax, это всего лишь технология взаимодействия клиент->сервер, и какой у вас сервер не имеет значения.

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

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

Загружать фото заново при ошибках, это опять затраты времени, значит и в этом случае где-то надо временно хранить фото. Если есть ошибки при загрузке изображений, но не всех, можно принять те, что загружены удачно, сообщив об этом пользователю, а те что с ошибками предложить загрузку заново.

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

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

На клиенте же можно также проверять условия, например, в случае если выбранное изображение не соответствует условию, то можно этому полю ввода (индексу в коллекции, если поле с мульти выбром) присвоить метку. А оправляя форму на сервер помещать в FormData() только те изображения, которые не имеют меток "плохой".

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

St. 27.04.2016 18:34

Смотрел еще SMF (Simple Machines Forum: www.simplemachines.org), организацию загрузки пользователем файлов на сервер. Ну что сказать... Добавить еще файл, добавить еще файл - JavaScript. При добавление скажем 10-ти файлов, если один не отвечает условиям - предется заново добавлять все 10-ть файлов.

Тему можно закрыть, а правильно - тему в сторону. Ajax - тоже пока в сторону.

laimas!
Если можно, емаил ваш мне в личку и ваше имя (потом разберемся).
Спасибо.

Спасибо также пиплам с www.simplemachines.ru (GeorgG, digger, огненная ALINA и др.)

laimas 27.04.2016 19:19

Цитата:

Сообщение от St.
При добавление скажем 10-ти файлов, если один не отвечает условиям - предется заново добавлять все 10-ть файлов.

Если сервер хранит загруженные без ошибок, то загружать заново их не требуется и для этого и Ajax не требуется, он лишь сделает такую загрузку более комфортной. Чего вы там по поэтому поводу начитались на SMF не знаю.

Цитата:

Сообщение от St.
Если можно, емаил ваш мне в личку и ваше имя (потом разберемся).

Я не даю своих контактов на право и налево, у меня просто не хватает времени на разговоры. :)

St. 28.04.2016 13:12

Всего доброго. :)


Часовой пояс GMT +3, время: 16:40.