Уроки я не перестал выпускать
А сегодня мы поговорим о формах. Формы отправляют данные, введенные пользователем на сервер.
Запустив этот код, вы увидите 2 поля ввода и кнопку подтверждения.
Если вы введете правильные или неправильные данные, то вам отобразится соответствующий текст.
_________________________________________________________________________
Если у вас возникли вопросы - пишите в теме. Надеюсь, отвечу :)
Если вы нашли у меня ошибку - пишите в ЛС, чтобы не засорять тему - поправлю.
Если вы хотите дополнить меня - пишите в теме, либо в ЛС - добавлю, оставлю credits.
А сегодня мы поговорим о формах. Формы отправляют данные, введенные пользователем на сервер.
Формы являются одним из важных элементов любого сайта и предназначены для обмена данными между пользователем и сервером. Область применения форм не ограничена отправкой данных на сервер, с помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению.
Определение взято с htmlbook (не реклама)
Определение взято с htmlbook (не реклама)
В HTML я углубляться не буду, только код простой формы.
HTML:
<form method="POST"> <!-- Метод формы - POST, его можно не указывать, по умолчанию - GET; поговорим об этом позже. -->
<input type="text" name="login"> <!-- имя этого поля ввода - "login" -->
<input type="text" name="password"> <!-- а этого - "password" -->
<input type="submit" value="Отправить"> <!-- Кнопка отправки формы -->
</form>
Для начала нам надо получить данные из формы.
Данные формы лежат либо в массиве $_POST, либо в массиве $_GET, смотря, какой метод мы выбрали в HTML коде формы.
В данном случае, мы выбрали метод POST -
Чтобы получить значение конкретного ввода, нам надо обратиться к элементу массива $_POST с индексом, равным параметру
Мы сделали 2 поля для ввода с именами "login" и "password". Соответственно, чтобы получить значение поля с именем "login", надо обратиться к $_POST['login'].
Данные формы лежат либо в массиве $_POST, либо в массиве $_GET, смотря, какой метод мы выбрали в HTML коде формы.
В данном случае, мы выбрали метод POST -
method="POST"
. Значит, данные формы лежат в массиве $_POST.Чтобы получить значение конкретного ввода, нам надо обратиться к элементу массива $_POST с индексом, равным параметру
name
поля для ввода.Мы сделали 2 поля для ввода с именами "login" и "password". Соответственно, чтобы получить значение поля с именем "login", надо обратиться к $_POST['login'].
Чем отличаются методы POST и GET:
- Метод GET отправляет скрипту всю собранную информацию формы как часть URL:
site.com/page.php?login=admin&password=root
- Метод POST передает данные таким образом, что пользователь сайта уже не видит передаваемые скрипту данные:
site.com/page.php
Чтобы форма направлялась не на текущую страницу, а на другую, можно использовать параметр
Соответственно, этот код перенаправит вас на страницу somepage.php.
action
HTML:
<form action="somepage.php">
<input type="submit" value="Отправить">
</form>
Сначала пишем PHP код для проверки данных, если они существуют:
PHP:
<?php
$login = "admin"; //Переменная с логином
$password = "root"; //Переменная с паролем
if (isset($_POST['login']) && isset($_POST['password'])) { // Если существует значение полей логина и пароля
if ($_POST['login'] == $login && $_POST['password'] == $password) { // Если логин и пароль соответствуют
echo "Авторизация успешна!";
} else {
echo "Авторизация завершилась с ошибкой :(";
}
}
?>
PHP:
<?php
$login = "admin"; //Переменная с логином
$password = "root"; //Переменная с паролем
if (isset($_POST['login']) && isset($_POST['password'])) { // Если существует значение поля логин и пароль
if ($_POST['login'] == $login && $_POST['password'] == $password) { // Если логин и пароль соответствуют
echo "Авторизация успешна!";
} else {
echo "Авторизация завершилась с ошибкой :(";
}
}
?>
<form method="POST"> <!-- Метод формы - POST, его можно не указывать, по умолчанию - GET; поговорим об этом позже. -->
<!-- Еще можно указать параметр action, он определяет страницу, на которую будет производиться запрос -->
<input type="text" name="login"> <!-- имя этого поля ввода - "login" -->
<input type="text" name="password"> <!-- а этого - "password" -->
<input type="submit" value="Отправить"> <!-- Кнопка отправки формы -->
</form>
Пожалуйста, авторизуйтесь для просмотра ссылки.
(логин - admin, пароль - root).Если вы введете правильные или неправильные данные, то вам отобразится соответствующий текст.
Если у вас возникли вопросы - пишите в теме. Надеюсь, отвечу :)
Если вы нашли у меня ошибку - пишите в ЛС, чтобы не засорять тему - поправлю.
Если вы хотите дополнить меня - пишите в теме, либо в ЛС - добавлю, оставлю credits.