САМОСТОЯТЕЛЬНОЕ СОЗДАНИЕ САЙТА, ЕГО РАСКРУТКА, ОПТИМИЗАЦИЯ И ПРОДВИЖЕНИЕ
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:
Пример создания сайта
всего статей (10)

» Использование Ajax
» Использование smarty
» Переменные php, метод Get и Post
» Favicon - иконки Вашего сайта
» Таблица символов в html коде
» Технология создания web-проекта
» Практический урок
» Создаем «файл-шаблон»
» Создаем «файл PHP»
» Полезные елементы сайта



Полезные ссылки

sape



Кнопка сайта:

Самостоятельное создание сайта, веб-дизайн, web-программирование, продвижение и оптимизация сайта







По всем вопросам пишите на webmaster@info-pages.com.ua. Вы можете свободно использовать/размещать/перепечатывать статьи сайта всего лишь указав ссылку на источник.
Переменные в php, используем метод Get и Post
  

   Переменные php, метод Get и Post

Размещено: 11 августа 2008   
   Начинающий web-программист начинает свою работу с изучения переменных php. Почти вся полезная для пользователей информация на страничке сайта находится в переменных, а сама конструкция страницы в шаблоне.
   Таким образом, веб-программист лишь меняет значение переменных и пользователь получает новую страничку.

   Переменные, передача их значений (присвоение/отправка/получение) необходимая часть работы веб-мастера без знания которой, Вы не создадите динамической странички.

  1. Создание переменных и их виды.
  2. Период действия переменных.
  3. Отправка и получение переменных с помощью методов Get и Post.

  Создание переменных и их виды
   Переменная - это буквенно-символьное представление кусочка информации которая находится в памяти у Web-сервера. В php переменная выглядит вот так:

   $name = "я информация в памяти тчк";

   Переменные в PHP представляются в виде строки, которая начинается знаком доллара, а за ним следует имя переменной. Имя переменной может состоять из латинских букв, обычных цифр и некоторых символов или комбинаций букв, цифр и символов. Оно чувствительно к регистру и не может начинаться с цифры.

   Пример названия переменной:
   $4mysite = 'держи курс'; // неправильно: начинается с цифры
   $my_site = 'hello'; // правильно: символ "_" допускается
   $big4_1 = 'раздел 4.1.'; // правильно: допустимая комбинация

   Все переменные делятся на определенные типы:
Название типа
Описание типа
Пример
boolean (двоичные данные)
Логический тип, может иметь только два значения либо TRUE, либо FALSE. Значения от регистра не зависят.
$x = True;
$y = false;
integer (целые числа)
Числовой тип, значение целого числа (32-х битного) от –2 147 483 648 до 2 147 483 647.
$x = 23;
$y = -2000000;
float или double (числа с плавающей точкой)
Числовой тип с плавающей точкой, могут иметь частичные значения в диапазоне от -3.14E-38 до 3.14E+38.
$x = 1,23;
$y = 3,2559876;
string (строки)
Строковый текстово-цифровой буквенный набор символов любой длины. Строки, также, можно использовать для хранения бинарных данных (записать код любого файла). Длина строки ограничена только размером свободой оперативной памяти.
$x = "Здесь был Коля";
$y = "43-два яблока будет 41";
array (массивы)
Упорядоченная связка данных, где каждой части данных присвоен индексный номер, по которому можно обратится для получение/записи информации. Другими словами это массив (матрица), может быть 2,3 .. n - мерная.
$x[0] = "Кот";
$y[2,5] = 45;

   В PHP, также, существуют зарезервированные предопределенные переменные которые используются для определенных значений таких как параметров PHP, Web-сервера, параметров браузера пользователя.
   Например, тип и версия браузера пользователя находится в зарезервированной переменной $_SERVER["HTTP_USER_AGENT"], перечень всех переданных переменных и их значение находятся в $_SERVER["QUERY_STRING"] и т.д. Рано или поздно Вы все их изучите, их не так много.

   Сейчас для нас представляет интерес лишь две зарезервированные предопределенные переменные: $_GET и $_POST. Эти две переменные важны тем, что позволяют передавать в себе имя переменной и ее значение в запросе пользователя.

   В PHP значение переменных может быть получено следующим образом:
   1. заранее определено web-программистом;
   2. получено в результате выполнения веб-сервером функций/операций;
   3. получено через запрос браузера методом Get или Post.

   Последний вариант и используется для создания интерактивного общения страницы сайта с пользователем. Выбирая тот или иной вариант ответа, вводя информацию в поля, или мы просто хотим запомнить выбранные настройки пользователем программистами используется методы Get или Post для отправки/получения запросов с информацией.

  Период действия/существования переменных
   Переменные в PHP существуют только на время выполнения пользователем одного запроса к серверу. Это означает, что когда пользователь заходит на главную страничку сайта, а с нее переходит на внутреннюю страничку, то все переменные. которые были созданы при создании главной странички не передаются дальше, а при новом запросе создаются заново.
   Если, например, меню сайта находится в базе данных MySQL, то при каждом запросе пользователя (перехода со странички на страничку) web-сервер, выполняя код PHP, будет запрашивать из базы данных информацию по меню и заносить ее в одну и туже переменную.
   Почему же тогда все странички разные, если все переменные начинаются с нуля? Потому что, когда пользователь нажимает на ссылку он передает web-серверу переменную с определенным значением. А веб-сервер, каждый раз при выполнении кода PHP проверяет на существование переменной с определенным значением и если она существует, то выполняет определенный сценарий. И в результате вы получаем другую страничку. Потому что веб-сервер, выполнил код PHP по другому сценарию.

  Отправка и получение переменных с помощью методов Get и Post
   Передача переменных методами Get и Post отличается лишь в отправке данных.
   Метод Get передает имя переменной и ее значение в самой ссылке, а метод Post передает имя переменной и ее значение в специальном скрытом запросе. Поэтому, для передачи секретных данных всегда используют метод Post.

   Давайте, рассмотрим пример отправки данных методом Get (передача имен переменных и их значений в самой ссылке):

<html>
<head>
<title>Пример передачи значений переменных методом Get</title>
</head>
<body>
<a href=http://info-pages.com.ua/index.php?name=Franki&age=35>нажми</a>
</body>
</html>

   В примере изображен код простейшей html страницы с одной ссылкой, где:
   http://info-pages.com.ua - адрес домена (хост);
   index.php - название файла с кодом PHP (скрипт) к которому мы обращаемся и который будет выполнятся web-сервером;
   ? - символ запятой указывает веб-серверу про передачу скрипту параметров;
   name=Franki&age=35 - здесь мы передаем скрипту имена переменных и их значения, между собой переменные должны разделятся символом "&". Первая переменная будет называться "name" и иметь текстовое значение "Franki", а вторая называться "age" и иметь числовое значение "35".

   Теперь в скрипте "index.php" нам нужно получить значение переменных, для этого мы будем использовать зарезервированную предопределенную переменную $_GET.
   Рассмотрим код PHP внутри скрипта "index.php":

<?php

if (!empty($_GET["name"])&&!empty($_GET["age"])) { echo " Получены новые вводные: имя - ".$_GET["name"].", возраст - ".$_GET["age"]." лет";} else { echo "Переменные не дошли. Проверьте все еще раз."; }

?>

   Теперь разберем код: функция "empty" проверяет существование переменных с названием "name" и "age" и, если они существуют и имеют значение отличное от нуля, то выполняется сценарий вывода текста "Получены новые вводные..." вместе со значением полученных переменных.

   Чтобы наочно увидеть получение веб-сервером переменных - вставьте этот кусок кода в Ваш любой *.php файл или создайте новый и обратитесь к нему в адресной строке браузера с запросом типа: http://myhost/my.php?name=myname&age=myage

   Как Вы уже догадались, глобальная переменная $_GET является масивом, в который записывается передаваемые значения, а имя переменной есть индексным номером (ключом). Таким образом, когда мы по ссылке передаем значение переменной "...index.php?name=Franki&...", то в скрипте "index.php" получаем значение переменной $_GET["name"] которое будет равняться "Franki". Что это нам дает? Если $_GET["name"]="Franki" запускаем первый сценарий, а если $_GET["name"]="Billi" - то другой сценарий.    Это и есть принцип работы динамичного сайта, страница формируется по-разному в зависимости от полученных значений переменных.
ПредупреждениеВсе операции будут работать, если на компьютере установлен и активирован web-сервер, а также установлен и настроен PHP.

   Давайте, посмотрим как отправляются данные с помощью метода POST. Для этого создадим файл "post.html" со следующим текстом:

<html>
<head>
<title>Пример передачи значений переменных методом Post</title>
</head>
<body>

<form method="post" action="index.php"> Заполняем поля для передачи информации:<br><br>
Укажите Ваше имя: <input name="user_name" type="text" maxlength="20" size="25" value="" />
<br><br> Укажите Ваш возраст: <input name="age" type="text" maxlength="2" size="3" value="" />
<br><br> <input type=submit value="Передать информацию"></form>
</body>
</html>

   Как видно на примере выше, мы создали файл "post.html" с формой. Метод Post используется только в форме.
   Параметр формы "method" определяет вид метода передачи данных и может принимать только 2 значения: "get" или "post". Если установлен "get", то все имена полей (название переменных) с их значениями передаются по ссылке. Если установлен "post", то все имена полей (название переменных) с их значениями передаются в виде запроса браузера к веб-серверу.
   Параметру формы "action" присваивается в виде значения путь и название скрипта которому вы передаете данные. Это может выглядеть также как и: action="http://my_site.com.ua/script.php". Если Вы не указываете значение параметру "action", то вся передаваемая информация передается запускному скрипту (индексной странице) Вашего сайта.

   Чтобы получить передаваемую в запросе информации в скрипте, которому направлен запрос, создаем следующие записи:

<?php

if (!empty($_POST["user_name"])&&!empty($_POST["age"]))
{
echo "Получены новые вводные:<br>";
echo "имя - ";
echo $_POST["user_name"];
echo "<br>возраст - ";
echo $_POST["age"];
echo " лет";
}
else
{
echo "Переменные не дошли. Проверьте все еще раз.";
}

?>

   Как видите, ничего сложного нет, просто вытягиваете из зарезервированной предопределенной переменной массива $_POST переданную информацию. Для этого проверяем существование переданной переменной и, если она существует со значением отличным от нуля, получаем ее.
   Обращаемся к $_POST через имя поля (<input>), например $_POST["user_name"] и получаем информацию, которую пользователь ввел в это поле.

   Вот, пожалуй, и все. Наведенных выше примеров вполне достаточно, чтобы Вы смогли понять как передавать значения переменных и получать их. Попрактикуйтесь немного.

Коментариев к статье (0)
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:
   
   Почтовый ящик @:
    * - не отображается
   Текст комментария:
   

   Введите защитный код: :) :( ;) :| 8) :] :0 :S :Ok :sos :B B( yes boom write
   kod
   
 

Где еще почитать на эту тему?
 

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

Логин:    
Пароль:  
          


















 
Семен Горбунков. Все права защищены, 2007-2008рр. Статистика: всего статей 50, на модерации 0, комментариев 27, всего ссылок 10, новых 1, выполнено за 0.03 sec.