|
Последние статьи
Подписка на рассылку |
PHP и методы передачи данных GET и POST
Современные веб-ресурсы не просто предоставляют информацию посетителю, но и взаимодействуют с ним. Для взаимодействия с пользователем нужно получать некоторую информацию от него. Для получения данных есть несколько методов, очень распространенные методы GET и POST. И соответственно в PHP есть поддержка этих методов передачи данных GET и POST. Посмотрим, как работают эти методы.
Данные методом GET передаются путем их добавления к URL-адресу вызываемого сценария, предназначенного для обработки полученной информации. Для пояснения данного метода наберите в адресной строке браузера URL-адрес ресурса и добавьте сначала знак вопроса (?), а затем строчку num=10. Например Код http://домен.ru/script.php?num=10 Код http://localhost/script.php?num=10 Код http://домен.ru/script.php?num=10&type=new&v=text Для получения этих параметров в скрипте нужно использовать встроенный массив $_GET. Ключами этого массива будут названия параметров. В нашем случае нужно использовать $_GET["num"], $_GET["type"],$_GET["v"]. Эти элементы массива и будут содержать значения переданных параметров. Для демонстрации этого примера создайте файл script.php следующего содержания Код <html> <head> <title>Проверка метода GET в PHP</title> </head> <body> <?php echo ($_GET["num"]."<br>"); echo ($_GET["type"]."<br>"); echo ($_GET["v"]); ?> </body> </html> Код http://путь/script.php?num=10&type=new&v=text Как вы, наверное, понимаете заставлять пользователя набирать данные в адресной строке браузера не очень хорошо и совсем неудобно. Поэтому для приема данных от пользователя нужно использовать html-формы. Напишем простенькую html-форму. Код <form action="script.php" method="get" > Введите число <input type="text" name="num" value="" /><br/> У Вас есть компьютер? <select name="type"> <option value="yes">Да</option> <option value="no">Нет</option> </select><br/> Ваш комментарий:<br/> <textarea name="v" ></textarea><br/> <input type="submit" name="bsubmit" value="Отправить" /> </form> Данные этой формы будут переданы веб-ресурсу браузером путем добавления их к URL-адресу: сначала будет знак вопроса (?), затем будут представлены параметры разделенные амперсантом (&). Название параметра будет браться из атрибута name, которое должно быть прописано у любого поля формы. Значение параметра будет зависеть от типа поля. Если поле является текстовым, то значением будет введенный пользователем текст. Если же поле будет представлять собой список, группу переключателей или флажков, то значением параметра будет значение атрибута value выбранного элемента. Поясню на примере нашей формы. Если пользователь введет в поле input число 10, то названием параметра будет num (значение атрибута name тега input), а значением будет 10 (введенное пользователем число). Соответственно браузер сформирует пару "num=10". Если пользователь из списка выберет вариант "Да", то названием параметра будет type (значение атрибута name тега select), а значением будет yes (значение атрибута value тега option). Соответственно браузер сформирует пару "type=yes". Теперь эту форму разместим на странице forma.php. Код <html> <head> <title>Форма для передачи данных методом GET и PHP</title> </head> <body> <form action="script.php" method="get" > Введите число <input type="text" name="num" value="" /><br/> У Вас есть компьютер? <select name="type"> <option value="yes">Да</option> <option value="no">Нет</option> </select><br/> Ваш комментарий:<br/> <textarea name="v" ></textarea><br/> <input type="submit" name="bsubmit" value="Отправить" /> </form> </body> </html>
Теперь давайте рассмотрим, как работает метод POST. Код <form action="script_post.php" method="post" > Введите число <input type="text" name="num" value="" /><br/> У Вас есть компьютер? <select name="type"> <option value="yes">Да</option> <option value="no">Нет</option> </select><br/> Ваш комментарий:<br/> <textarea name="v" ></textarea><br/> <input type="submit" name="bsubmit" value="Отправить" /> </form> Код <html> <head> <title>Форма для передачи данных методом POST и PHP</title> </head> <body> <form action="script_post.php" method="post" > Введите число <input type="text" name="num" value="" /><br/> У Вас есть компьютер? <select name="type"> <option value="yes">Да</option> <option value="no">Нет</option> </select><br/> Ваш комментарий:<br/> <textarea name="v" ></textarea><br/> <input type="submit" name="bsubmit" value="Отправить" /> </form> </body> </html> Для получения в скрипте данных переданным методом POST нужно использовать встроенный массив $_POST. Ключами этого массива будут названия параметров. В нашем случае нужно использовать $_POST["num"], $_POST["type"],$_POST["v"]. Эти элементы массива и будут содержать значения переданных данных. Как видите отличие от использования способа GET, выражается лишь в использовании массива $_POST. Поэтому нам не составит труда написать файл script_post.php: Код <html> <head> <title>Проверка метода POST в PHP</title> </head> <body> <?php echo ($_POST["num"]."<br>"); echo ($_POST["type"]."<br>"); echo ($_POST["v"]); ?> </body> </html> В PHP в независимости, каким способом были отправлены данные - методом POST или методом GET - получить данные можно используя массив $_REQUEST. Сравнение методов GET и POST При использовании метода GET данные передаются путем добавления к URL-адресу. Таким образом, они будут видны пользователю, что с точки зрения безопасности не всегда хорошо. Также максимальный объем передаваемых данных будет зависеть от браузера - от максимально-допустимого количества символов адресной строке браузера. Комментарии к статье Всего комментариев: 12 как передать без формы? Данные можно передать серверу без формы используя Ajax-технологии. E-mail: lexa_s90@mail.ru А можно на php отправить по методу post без формы На PHP можно отправлять различные данные. Посмотрите сокеты PHP. Если я ничего не путаю: есть упрощенные вариант - функция CURL. как отправить параметры формы без submit Предыдущие статьиСледующие статьи
|
Новости сайта
Облако тегов cms css div document.write font html html-форма img indexof innerhtml input javascript onclick php php и get php и post sms-биллинг sms-оплата xhtml анализ текста бесплатная cms бесплатная система управления сайтом бесплатно php скрипт гиперссылка дата дизайн динамические эффекты домен доска объявлений закладки интернет-магазин меню модуль cms оптимизация основы php полезные ссылки раскрутка сайта рисунки php сайт сервис скачать бесплатно скачать бесплатно php скрипт скрипт доски объявлений скрипты создать сайт создать сайт бесплатно таблицы тема управление cms установка cms хостинг часы Также интересно будет посмотреть
Все о создании и раскрутке сайтов на Все секреты успешного сайта.
Подробнее: Создание сайтов и Раскрутка сайта Много полезной и интересной информации о разработке сайтов ждет вас! Помощь сайту
Платежные реквизиты для помощи сайту доступны на странице помощь проекту
|