За последние 24 часа нас посетили 17803 программиста и 1679 роботов. Сейчас ищет 781 программист ...

Условный оператор.

Тема в разделе "Прочие вопросы по PHP", создана пользователем KoLLIaPuK, 10 янв 2015.

  1. KoLLIaPuK

    KoLLIaPuK Новичок

    С нами с:
    10 янв 2015
    Сообщения:
    6
    Симпатии:
    0
    Имеется условие
    Код (PHP):
    1.  if (!empty($_POST['subm'])&&!empty($_POST['name']))  {
    2.  действие.....
    3. }
    4.  
    Вопрос такой, как сделать чтобы выводилось сообщение, о том что поля не заполнены(при нажатии отправить) ? Если написать это в else то сообщение будет висеть постоянно.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
  3. KoLLIaPuK

    KoLLIaPuK Новичок

    С нами с:
    10 янв 2015
    Сообщения:
    6
    Симпатии:
    0
    Как всё же это реализовать, писать ещё один оператор if ?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    нет. просто перестать тупить. условие выполняется или не выполняется. не может часть else выполняться в любом случае!

    если не уверен что находится в переменной или каков результат функции — отлаживайся!!!
                   
     
  5. osvical

    osvical Новичок

    С нами с:
    9 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    я так понимаю, чтобы форма совсем не отправлялась на сервер? тогда обработка пишется на стороне клиента и не позволяет браузеру отправить форму. пишется она на яваскрипте, до пхп дело не доходит. до яваскрипта еще не дошел, подсказать не смогу. но все они си-образные, понятные =) если очень нужно сейчас это реализовывать можно загуглить код и разобраться без особых проблем, если хоть примерно въехал в пхп. что-то вроде "javascript как запретить отправку формы при пустом поле"
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    по мимо empty, есть еще isset, вот через него (нее) можно реализовать то, что ты хочешь.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Включаю телепатию - автор имеет ввиду, что это сообщение у него просто висит при генерации страницы, потому как условие, разумеется, не может быть выполнено. И ему не нравится, что скрипт ругается на кривые данные еще до того, как он вообще их ввел. И это не удивительно. На такой случай, автор, просто оберни секции кода, зависящие от $_POST, в проверку, мол есть ли вообще в этом посте хоть что-то, а не конкретные элементы.

    Код (PHP):
    1. if (!empty($_POST)){
    2. //твой код, зависящий от содержимого POST-а.
    3. }
    Ну или просто не инклудить этот код сразу в исполняемый скрипт, а отрабатывать им отдельно, отправляя, непосредственно на него, форму. Вариантов больше двух на деле.

    Добавлено спустя 2 минуты 6 секунд:
    Иногда лучше не сказать ничего, чем что-то. Поверь.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    OR и восклицательные знаки убрать и станет понятнее почему так.

    Так вообще делать не стоит, надо на каждое неверно заполненное поле выдавать свою сообщеньку.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну это уже тонкости. Если он сделает 2 условия, а не одно, все равно они при генерации страницы не выполнятся и будут висеть ошибками. Проблема у автора не в этом :)
     
  10. osvical

    osvical Новичок

    С нами с:
    9 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    действительно, скорее всего он имел ввиду это и ты все правильно объяснил. у себя я использую if($_SERVER["REQUEST_METHOD"]=='POST'), но твой метод короче, возьму на заметку.
    так что все правильно, писать иф.
    пишу сообщения в основном только из-за этой цитаты. в чем я был не прав ты считаешь? я написал свое предложение исходя из "при нажатии отправить", а не "после отправки формы". само-собой до пхп дело, конечно, доходит. ява скрипт сам в браузере не пропишется. дело не доходит до обработки этого события средствами пхп, в этом смысл был, не надо сервер лишний раз дергать и просить обрабатывать ошибки при очевидной оплошности пользователя.

    а вообще, конечно, вопрос был не об этом. я плохим телепатом оказался.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Короче по коду, но чуть дороже по выполнению. Это тоже на заметку. Так что он не лучше, он иначе.
    В том, что js тут не при чем. Только человека путаешь. Начал искать проблему вовсе не там, где ее описал автор, начал ее раздувать, начал генерировать решения, отправляя автора в изучение JS, пошла речь о прерываниях отправки формы, о клиентской обработке данных...

    Когда автору будет нужно, чтобы отправка формы прерывалась, он спросит "как перехватить отправку формы?". Не ищи между строк того, что там не написано, не отвечай на вопросы, которые не были поставлены. Только собьешь человека с толку.
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    также. либо явная проверка request method, либо есть правила роутинга. короче я тестирую переменную $_POST только в обработчике POST-запроса ))) поэтому проблему автора даже не понял.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Проблема автора в том, что он еще не знал, что так надо делать. Новичок же :)
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а-а, понятно. Ну я обычно кнопку "отправить" проверяю.
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Вот я и написал, мол
    :) Главное - проверять.