Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как передать данные (post\get)

2.4K
11 февраля 2004 года
Kasheftin
15 / / 26.10.2003
На локальном apache все работает, а закачиваю на сервер - нет.

//--index.htm--//
<form method="post" action="do.php">
<input type="text" name="password">
<input type="submit" name="enter" value="enter"></td></tr>
</form>

//--do.php--//
<?php if ($enter) { echo $password; } ?>

Наверное, любые данные просто не передаются post-ом (и get-ом тоже (проверял)) между страничками.
Что делать?
4
11 февраля 2004 года
mike
3.7K / / 01.10.2002
Q: Форма не отображает данные.
Q: Не видно параметров передаваемых скрипту.
Q: Переменная $page пустая, хотя я передаю do.php?page=2
Q: Что делать, если хостер выключил register_globals


Использование Register Globals

Возможно, самое заметное изменение в PHP, это то что, изминилось значение по умолчанию для директивы
register_globals. С версии 4.2.0 ее значение OFF.

Зачем это сделано может продемонстировать простой пример:

 
Код:
<?php
if (authenticated_user()) {
   $authorized = true;
}

if ($authorized) {
   include "/highly/sensitive/data.php";
}
?>

Если register_globals=on, то переменной $authorized может стать TRUE, даже не если функция
authenticated_user() вернет FALSE.

Теперь рассмотрим методы борьбы:

1. Использование предустановленных массивов:

- $HTTP_GET_VARS - переменные переданные методом GET
- $HTTP_POST_VARS - переменные переданные методом POST
- $HTTP_COOKIE_VARS - значения Cookie
- $HTTP_SESSION_VARS - переменные сессий

Помните, что если вы используете предустановленные массивы не видны внутри функции, по этому необходимо дейтсвовать
следущим образом:
 
Код:
function myfunction() {
    GLOBAL $HTTP_POST_VARS;

    print $HTTP_POST_VARS["page"];
    }


2. Использование суперглобальных массивов

$_GET - переменные переданные методом GET
$_POST - переменные переданные методом POST
$_COOKIE - значения Cookie
$_SESSION - переменные сессий

Суперглобальные массивы не имеют недостатка описанного выше:
 
Код:
function myfunction() {
    print $_POST["page"];
    }


[phpdoc]language.variables.predefined[/phpdoc]

3. Использование функции [phpdoc]import_request_variables[/phpdoc]()

Функция позволяет импортировать GET/POST/Cookie переменные.

Синтаксис:

bool import_request_variables ( string типы [, string префикс])

Типы могут быть:

- G - GET
- P - POST
- C - Cookies

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

Пример импортирующий GET, а поверх них POST переменные:
 
Код:
import_request_variables("gP", "rvar_");
echo $rvar_foo;

См. еще [phpdoc]extract[/phpdoc]
283
11 февраля 2004 года
Alone
910 / / 20.11.2002
2Mike and Joker
По развернутости ответа и оформлению ясно видно что выдранно из мана :)
Может пора зделать ссылки на маны из каждого форума?
Ну или создать топики, приклеить и написать жуткими буквами
"ЧАЙНИК! ЗДЕСЬ ЛЕЖАТ ОТВЕТЫ НА ВСЕ ТВОИ ВОПРОСЫ!!!" ну или что то вроде этого...
и на ман проще посылать будет да и может однообразных вопросов будет поменьше. За эту неделю я уже было вроде 3 вопроса про register_globals а неделя только началась :)
4
12 февраля 2004 года
mike
3.7K / / 01.10.2002
Да это я FAQ писать начал.

Предлагайте ваши вопросы, которые стоит занести в FAQ.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог