Как сделать обработку добавленной картинки?

Тема в разделе "Как сделать...", создана пользователем danneo, 28 дек 2013.

  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.445
    Симпатии:
    113
    Есть форма, в ней поля и поле с картинкой. Когда нажимаешь форму, происходит следующее:
    Если форма отправлена, то чистятся и проверяются все данные из полей. Если нет ошибок, то загружается картинка и делается INSERT в базу. Если есть ошибки в полях, то картинка не загружается, а форма выводится, где подставляются данные, которые были введены ранее + сообщения об ошибках в соответствующих полях.

    Проблема в картинке. Как ее загружать правильнее?
    Например, если в полях ошибки, то в поле input пропадает выбранный файл.
    Проблемы:
    1. Пользователь может и не заметить это, и не выбрать второй раз. А после этого он уже не сможет отредактировать, добавить.
    2. Если загружать картинку все время, при ошибках в полях, можно вывести загруженную ранее картинку. А если пользователь хочет ее заменить, или вовсе не добавить запись (не станет исправлять ошибки)?
     
  2. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    756
    Симпатии:
    221
    Если картинка загружается юзером то вариант тут такой, получаем все данные от юзера, и если все ровно то переходим на шаг 2 и загружаем картинку.

    Ну если нужен возврат без потери данных то так использовать
     
  3. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.445
    Симпатии:
    113
    Это если история сохраняется в браузере.
     
  4. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    756
    Симпатии:
    221
    А зачем форму очищать то? Или я чего то не понимаю?

    Забиваем данные от юзера, и если все ровно загоняем вбазу, если ошибка делаем возврат ссылкой.
     
  5. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.445
    Симпатии:
    113
    ну хорошо... а как второй шаг тогда делать, не понял? Форма же проверяется сервером, а не js. Ее нужно все равно отправлять...
     
  6. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    756
    Симпатии:
    221
    Вариантов Масса, можно через ajax, скрипт проверяет если все ном то загружаете,
    можно из формы сразу загружать на хостинг, и в базу имя картинки, если потребуется.
    тут главное проверять картинку, чтоб файл был именно картинкой а не другим типом файлов.
    К тому же полно в сети готовых решений.


    Шаг 2 это переход на вторую страницу.

    А если хотите на одной странице, то при отправке проверяйте на хостинге все данные, и если они верные то загружайте данные.

    Если сами на знаете как сделать, попросите прогеров вам все сделают.