Вам понадобится
- Базовые знания языков PHP и HTML
Инструкция
1
Первая часть задачи (передача переменных из HTML-страниц) решается размещением в коде страниц тех элементов формы, которые больше подходят для ввода пользователем и передачи нужного типа данных. Это могут быть текстовые поля "text", "textarea" или "password", переключатели "checkbox" или "radio", списки "select", поле выбора файла "file", кнопки "input" или скрытые поля "hidden". HTML-код каждого из этих элементов обязательно должен содержать тег "name" - в нём указывается имя передаваемой переменной. Например, HTML-код для многострочного текстового поля "textarea" может выглядеть так:
<textarea name="strings">здесь текст по умолчанию</textarea>
А код для скрытого поля hidden так:
<input type="hidden" name="hideMe" value="скрытая переменная" />
Любой из элементов формы должен быть помещён внутрь тегов формы. Открывающий тег выглядит так:
<form action="script.php" name="formName" method="POST">
Здесь тег "action" указывает имя серверного скрипта, которому должны быть переданы отправляемые перменные, а тег "method" - способ передачи данных. Способов может быть всего два - POST или GET. Основная разница между ними в том, что методом GET переменные передаются вместе с адресом страницы (URL), а методом POST - в специальной области сетевых пакетов (header).
Закрывающий тег формы прост:
</form>
И, конечно, в форму следует добавить кнопку - чтобы пользователь имел возможность дать команду на отправку переменных на сервер. В результате HTML-код формы с элементами для отправки переменных на серверному скрипту может выглядеть, например, так:
<form action="script.php" name="formName" method="post">
<textarea name="strings">здесь текст по умолчанию</textarea>
<input type="hidden" name="hideMe" value="скрытая переменная" />
<input type="submit" value="Отправить" />
</form>
<textarea name="strings">здесь текст по умолчанию</textarea>
А код для скрытого поля hidden так:
<input type="hidden" name="hideMe" value="скрытая переменная" />
Любой из элементов формы должен быть помещён внутрь тегов формы. Открывающий тег выглядит так:
<form action="script.php" name="formName" method="POST">
Здесь тег "action" указывает имя серверного скрипта, которому должны быть переданы отправляемые перменные, а тег "method" - способ передачи данных. Способов может быть всего два - POST или GET. Основная разница между ними в том, что методом GET переменные передаются вместе с адресом страницы (URL), а методом POST - в специальной области сетевых пакетов (header).
Закрывающий тег формы прост:
</form>
И, конечно, в форму следует добавить кнопку - чтобы пользователь имел возможность дать команду на отправку переменных на сервер. В результате HTML-код формы с элементами для отправки переменных на серверному скрипту может выглядеть, например, так:
<form action="script.php" name="formName" method="post">
<textarea name="strings">здесь текст по умолчанию</textarea>
<input type="hidden" name="hideMe" value="скрытая переменная" />
<input type="submit" value="Отправить" />
</form>
2
Теперь рассмотрим - как из серверного php-скрипта получить доступ к отправленным ему переменным. Здесь всё очень просто - переменные, отправленные методом GET, помещаются в суперглобальный массив $_GET, а отправленные методом POST - в аналогичный массив $_POST. Есть и ещё один суперглобальный массив - $_REQUEST. В него попадают все переменные, независимо от того, каким способом они были переданы. Простейший php-код, который печатает информацию о полученных из формы переменных с именами hideMe и strings может выглядеть так:
<?php
if($_POST) {
echo('Переменная hideMe содержит значение "'.$_POST['hideMe'].'"<br />');
echo('Переменная strings содержит значение "'.$_POST['strings']);
}
?>
Здесь оператор сравнения "if" использован для проверки присланы ли вообще какие-либо переменнные методом POST. Если объединить код HTML-формы и PHP-скрипта в одном PHP-файле, то после нажатия кнопки «Отправить» получим такой результат:
<?php
if($_POST) {
echo('Переменная hideMe содержит значение "'.$_POST['hideMe'].'"<br />');
echo('Переменная strings содержит значение "'.$_POST['strings']);
}
?>
Здесь оператор сравнения "if" использован для проверки присланы ли вообще какие-либо переменнные методом POST. Если объединить код HTML-формы и PHP-скрипта в одном PHP-файле, то после нажатия кнопки «Отправить» получим такой результат:
3
Видим, что задача отправки параметров из HTML-формы и получения их PHP-скриптом нами решена.
Источники:
- как передать переменную из