Принять файлы из формы php
В этом уроке разберем как работать с данными полученными от формы в php. Вот простенький пример html-формы:
<form action="page.php" method="get">
<input type="text" name="name">
<input type="text" name="email">
<input type="submit">
</form>
В этой форме мы передадим данные файлу page.php, который мы указали в атрибуте action. Передавать данные мы можем двумя методами GET и POST. Метод указывается в атрибуте method. Какой метод передачи данных использовать зависит от конкретной задачи.
Данные переданные GET видны всем в URL-адресе, также данные GET имеют ограничение около 2000 символов.
Информация, переданная методом POST, не видна пользователям. Данные передаются HTTP-запросе браузера. Размер передаваемых данных не имеет никаких ограничений.
Оба метода передают данные в php в виде массива array( key => value, key2 => value2, key3 => value3, ...). Где key это имена элементов формы, а value их значения. В нашем примере мы получим массив array(name => "Введенные данные", email => "Введенные данные").
Теперь рассмотрим как же мы можем получить данные из формы в php. Когда используется метод GET, данные попадают в суперглобальную переменную $_GET. В нашем примере мы можем вывести данные на экран таким способом:
<?php
echo 'Имя: '.$_GET['name'];
echo 'Email: '.$_GET['email'];
?>
Если использовать POST, то данные окажутся в суперглобальной переменной $_POST. Соответственно, мы могли бы их вывести так:
<?php
echo 'Имя: '.$_POST['name'];
echo 'Email: '.$_POST['email'];
?>
Также мы можем использовать переменную $_REQUEST. Эта переменная содержит в себе данные GET, POST и COOKIE. Если в php мы напишем:
<?php
echo 'Имя: '.$_REQUEST['name'];
echo 'Email: '.$_REQUEST['email'];
?>
Мы получим тот же результат, что и в первых двух вариантах, причем, не важно, какой метод передачи данных мы использовали.
Когда же нужно использовать GET, а кода POST?
GET используют, когда нужно чтобы пользователь мог сохранить страницу в закладки или поделиться ей с друзьями. Например, у нас есть сайт интернет-магазина и пользователь искал какие-то характеристики товара. Лучше передавать эти характеристики через GET, чтобы пользователю не пришлось заново вводить все характеристики.
Метод POST используется, когда нужно ограничить других пользователей от введенной информации. Например, у нас есть форма входа на сайт. И логин с паролем разумнее передавать через POST.
Полученные данные от формы в php лучше проверять, ведь недоброжелательные пользователи могут нанести вред вашему сайту. Рассмотрим, какие php функции нам в этом помогут. Функцию trim() используют для удаления пробелов из начала и конца строки:
<?php
$value = $_POST['name'];
$value = trim($value);
?>
Функцию stripslashes() используют для удаления экранированных символов ("O\'reilly?" => " O'reilly?"):
<?php
$value = $_POST['name'];
$value = stripslashes($value);
?>
Функция strip_tags() нужна для удаления HTML и PHP тэгов:
<?php
$value = $_POST['name'];
$value = strip_tags($value);
?>
Последня функция htmlspecialchars() преобразует специальные символы в HTML-сущности:
& станет &
" станет "
' станет '
< станет <
> станет >
<?php
$value = $_POST['name'];
$value = htmlspecialchars($value);
?>
Для проверки email можно использовать функцию filter_var() с параметром FILTER_VALIDATE_EMAIL:
<?php
$value = $_POST['email'];
$value = filter_var($value, FILTER_VALIDATE_EMAIL);
?>
Якщо у вас виникли питання, вбо ви бажаєте записатися на індивідуальний урок, замовити статтю (інструкцію) або придбати відеоурок, пишіть нам на: скайп: olegg.pann telegram, viber - +380937663911 додавайтесь у телеграм-канал: t.me/webyk email: oleggpann@gmail.com ми у fb: www.facebook.com/webprograming24 Обов`язково оперативно відповімо на усі запитіння
Поділіться в соцмережах
Подобные статьи: