За последние 24 часа нас посетили 55039 программистов и 1777 роботов. Сейчас ищут 859 программистов ...

проверка POST

Тема в разделе "PHP для новичков", создана пользователем Skyers, 15 июл 2009.

  1. Skyers

    Skyers Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    54
    Симпатии:
    0
    В общем вопрос такой.

    Есть страничка index.php с формой. Данные передаются с нее в эту же страничку методом POST.
    Хотелось бы проверять были переданы данные или нет.

    Пробовал подобный код не сработало, такое впечатление что $_POST всегда существует, когда даже просто переходишь на страничку без заполненной формы и нажатия кнопки.
    PHP:
    1.  
    2. if (isset($_POST))
    3. { echo " данные переданы"}
    4.  
    5. ...Формы...
    6.  
    так вот "данные переданы" выводится при любом раскладе ? как можно сделать проверку?
    были мысли проверять переданные данные о кнопке... но хотелось бы как то по проще...
     
  2. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    $_POST существует всегда. проверить, есть ли в нем данные можно с помощью
    Код (Text):
    1. if (!empty($_POST))
    или, что предпочтительнее - проверить, существуют ли данные с определенным ключем:
    Код (Text):
    1. if (isset($_POST['sendedForm']))
     
  3. Skyers

    Skyers Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    54
    Симпатии:
    0
    спасибо помогло
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    count ($_POST) > 0 :)
     
  5. shurastik

    shurastik Активный пользователь

    С нами с:
    22 фев 2008
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Латвия
    if ($_POST)
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    3.     // ...
    4.  
     
  7. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    count ($_POST) таки хуже, чем !empty в данном случае, а if ($_POST) - не подходит, выше говорили.
     
  8. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    if ($_POST) вернёт true только на не пустом массиве.
     
  9. shurastik

    shurastik Активный пользователь

    С нами с:
    22 фев 2008
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Латвия
    пустой массив - false
     
  10. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Чем?
     
  11. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    действительно, не знал.

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