Rambler's Top100
Главная
Скачать (Download)
Dreamweaver CS6
Dreamweaver CS5
Dreamweaver CS4
Dreamweaver 8
Dreamweaver MX 2004
Dreamweaver 4
Уроки (Tutorials)
Видеоуроки new!!!

Fireworks
ЧаВо
Документация
Статьи
Программы и скрипты
Бесплатные шаблоны
Каталог сайтов
Форум
Карта сайта
Контакты



Документация - Главная
- Macromedia Dreamweaver
- CSS
- Раскрутка
- PHP
- SQL
- Дизайн [1 2]
- Java
- Разное

главная > статьи >

Передача переменных в php

Очень часто возникает потребность передачи переменных скрипту на php. Самый просто пример - заполнение какой-либо формы, например формы с логином и паролем.

В данной статье мы рассмотрим самые распространенные и доступные методы решения данной задачи.

Итак, прежде всего, давайте определимся с формой. Например, ее html код может выглядеть следующий образом:

<form method="post" action="login.php">
Логин:<br><input type="edit" name="login"><br>

Пароль:<br><input type="password" name="pas"><br>
<input type="submit" value="Ok">
</form>

Раз вас заинтересовал вопрос передачи переменных на php, то вы уже знакомы с синтаксисом составления html форм, но все же мы немного рассмотрим открывающий тэг Form. В нашем случае он содержит два параметра:

method="post"
action="login.php"

Action указывает, на какой именно документ должна воздействовать форма (в нашем случае на login.php - ему и будут передаваться переменные). Параметр method указывает метод передачи переменных. В данном случае существует два таких метода: post и get.

Чем же они отличаются? Принцип их отличия лишь в одном - в методе передачи переменных. Если вы будите использовать метод get, переменные и их значения будут передаваться прямо в адресной строке, в нашем случае это будет строка вида:

login.php?login=введенное значение логина&pas=введенное значение пароля

В общем виде, такой метод передает переменные и их содержание по следующему синтаксису:

[адрес сайта][имя скрипта]?([переменная 1]=[значение переменной 1])&([переменная 2]=[значение переменной 2])...&([переменная N]=[значение переменной N])

Например, если ввести в нашу форму логин User и пароль 12345 и нажать на кнопку Ok, то откроется страница с адресом:

[адрес сайта, где размещен скрипт]login.php?login=User&pas=12345

Прежде, чем мы рассмотрим, как же принимать переменные на php методом get, давайте немного ознакомимся и с методом post.

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

Чтобы принять на php переданные переменные, не смотря на то, что этого иногда можно и не делать, все же лучше всего непосредственно указывать, откуда нужно брать их значение. А данные значения берутся из соответствующих массивов - для метода get это массив $_GET, для post - $_POST. Не забывайте, что в php имена переменных, написанные маленькими и большими символами являются различными переменными.

Например, чтобы в скрипте login.php принять переменные, которые ему передает наша форма, нам нужно взять их значения из соответствующего массива:

<?php
//...

$login=$_POST['login']; //логин
$pas=  $_POST['pas'];   //пароль

//...
?>

Аналогично нужно поступать и когда используется метод get.

Какой метод передачи переменных в php лучше выбрать? Все зависит от конкретных задач. Например, если это скрипт форума - нужно использовать метод post иначе get будет накладывать существенное ограничение - не забывайте, что он передает имена и значения переменных через адресную строку, максимальная длина которой ограничена 256 символами.

Если же вам нужно передавать какие-либо переменные для перехода от страницы к странице удобней использовать метод get - ведь передачу переменных в нем можно осуществить, просто указав соответствующим образом адрес скрипта (добавив к нему ?([переменная 1]=[значение переменной 1])&([переменная 2]=[значение переменной 2])...&([переменная N]=[значение переменной N]) ).

Автор: Владислав Путяк
Источник: www.ru-coding.com

главная > статьи >

Реклама

Простой конкурс с денежными призами!





Rambler's Top100 Рейтинг@Mail.ru