© Cваял этот сайтик для вас и себя bes13.
-=2009-2013=-




природа однако)

⇐ туда | на память | сюда ⇒
Доллар - 98.4785
Евро   -  103.8680
Вторник
3 Октябрь 2023
‹‹ map ››
ПнВтСрЧтПтСбВс
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
     




Яндекс.Метрика Рейтинг@Mail.ru

Метод передачи данных формы

нужно знать обязательно. [2009-10-12]
Автор: не знаком с ним

Методы передачи данных с одной страницы на другую


Метод передачи данных формы


(методы GET или POST, есть ещё , но сейчас)


У нас есть файл-передатчик(transmitter)


1.php
<form method="[GET или POST]" action="2.php">
<p>Текстовое поле<br>
    <input type="text"  size="40"  name="pole1">
</p>
<p> Поле для ввода пароля<br>
    <input type="password"   size="40"  name="pole2"></p>
<p>Чекбокс(галка)<br>
    <input   type="checkbox" name="pole3" value="[значение]">
</p>
<p>Радиокнопки<br>
    <input type="radio" name="pole4"   value="[значение 1]"> - вариант1
<br>
    <input type="radio" name="pole4"   value="[значение 2]"> - вариант2
</p>
</form>
                    

Текстовое поле

Поле для ввода пароля

Чекбокс(галка)

Радиокнопки
- вариант1
- вариант2


И есть файл-приемник(receiver)



2.php
<?php
 //выдаст значение   введённое в текстовое поле
echo $_GET['pole1'];
 //выдаст значение введённое в   поле для ввода пароля
echo $_GET['pole2'];
 //Если галка стоит вернёт:   [значение], иначе: пустое значение ""
echo $_GET['pole3']; 
 //Вернёт   значение выбранного пункта радиокнопки ([значение 1] или [значение 2])
echo $_GET['pole4']; 
/*С POST тоже самое*/
?>

Принципиальное отличие GET и POST:

Методы:
GET передаётся вместе с URL страницы приёмника. Цепляется к ней сразу после имени в виде перечислений
? - означает начало передачи данных
& - разделяет перечисления
= - приравнивает к имени переменной значение


URL(адрес): http://имя_сайта/2.php?pole1=&pole2=[значение]&pole3=[значение]&pole4=[значение]

Какие-то значения могут быть пустыми (pole1=), это значит, что им не присвоили никакого значения.


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



Метод передачи данных через URL(адресную строку)


Вот к примеру у нас есть обычная ссылка на странице

<a href="./file.php">Ссылка</a>
 

Нажав на которую пользователь попадёт на страницу с именем file.php.
Тогда мы можем воспользоваться всё теме методом передачи GET и сформировать список параметров сами


<a   href="file.php?[имя_переменной1]=[значение1]&[имя_переменной2]=[значение2]"></a>


Тогда при переходе по данной ссылке мы можем использовать данные переменные


<?php
echo $_GET['имя_переменной1'];   //Выведет [значение1]
echo $_GET['имя_переменной2'];   //Выведет [значение2]
?>
или присвоить эти данные переменным и использовать их для управления страницей
<?php
$per1 = $_GET['имя_переменной1'];   //$per1;
$per2 = $_GET['имя_переменной2'];   //$per2;
?>


Метод передачи данных через Cookies


Для этого нам понадобится знание хранения данных в браузере.

В данном случае все данные будут храниться в папке вашего компьютера определяемой браузером. Такие данные существуют только определённое количество времени. Через которые они просто чистятся, также их можно удалить и через сами браузеры
В сокращённом виде определение функции можно записать так:

setcookie ( 
	[имя_cookie], 
	[значение],   
	[время_существования_в_секундах] 
	);

Пример: задаем cookie(печенье в простонародии) с именем name, со значением "gold" на 20 секунд;

setcookie("name", "gold", 20);

Теперь на любой страницы данного сайта в течении 20 секунд, после определения cookie, эта переменная будет вам доступна.

<?php 
echo $_COOKIE['name']; 
//Выведет   Vasya 
?>

Метод передачи данных через Сессии(Sessions)


Эти переменные хранятсмя на сервере в временной папке и доступ к ним имеет исключительно только сервер. Сессии существуют до закрытия пользователем браузера. Но в отличии данных уникальный идентификатор сессии хранится либо в COOKIES о которых мы говорили выше, либо передаётся через переменную GET способом, о котором мы уже также сказали. (почитайте про сессии(sessions) )

Для начала нужно зарегистрировать сессии на странице, это делается помощью функции session_start()
Затем можно с помощью глобального массива $_SESSION заносить в сессию значения
Вот пример:

file1.php

<?php
session_start(); // Объявили о том что   мы будем использровать сессию
/* заносим значения в сессию   */
 // С помощью глобального   массива 
$_SESSION["param1"] = [Значение_1];
 // С помощью глобального   массива
$_SESSION["param2"] = [Значение_2]; 
?>

Пока вы не закроете браузер вы можете использовать данные переменные на всём сайте, на котором они были зарегистрированны

<?php
// Объявили о том что   мы будем использровать сессию
session_start(); 
 //Выведет   [Значение_1]
echo $_SESSION["param1"];
 //Выведет   [Значение_2]
echo $_SESSION["param2"];
?>

Помимо этих способов существуют ещё, самые важные я вам перечислил.
Есть также способ передачи данных скрипту JS, который будет реализовывать отправку данных на сервер в рабочем режиме
(Вы сможете продолжать работать с сайтом)
На основе этой передачи работает принцип AJAX технологии.

И конечно же... Все перечисленные типы можно совмещать на одной странице, например... Передача данных формы+данные через URL

<form method="[GET или POST]"   action="2.php?id=1">
<input type="text" name="pole1"> Текстовое   поле <br>
</form>


• • •
13


  3 2 1 0 1 2 3  
   всего коментов:4

* * *

bes

рад что пригодилось)

| Добавлено: [2011-03-06 03:45:34].

* * *

Zeu$$

Спасибо, как раз то, что я искал. Методы передачи переменыых между страницами.

| Добавлено: [2011-02-22 10:59:00].

* * *

Настя

спасибо, действительно помогли

| Добавлено: [2011-02-13 18:43:00].

* * *

Ирина

Спасибо - полезно

| Добавлено: [2011-02-07 17:49:00].