WEBYK WEBYK Індивідуальні OnLine уроки з web технологій
+38 093 766 39 11
oleggpann@gmail.com

Принять файлы из формы 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-сущности:

& станет &amp;

" станет &quot;

 ' станет &#039;

< станет &lt;

> станет &gt;

<?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
Обов`язково оперативно відповімо на усі запитіння


Поділіться в соцмережах




facebook
×
Підришіться на цікаві пости.
Підписатись