Forum Webscript.Ru

Программирование => PHP => Тема начата: Lord DEVIL от 16 Мая 2002, 15:22:30

Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 15:22:30
В PHP 4.2 передаваемые заголовки, а значит и переменные, передаваемые в них не объявляются глобальными по умолчанию.
Что сдалать, чтобы можно было передавать параметры из одного .php файла в другой???
Название: Как передать параметры в PHP 4.2???
Отправлено: Britva от 16 Мая 2002, 15:25:50
php.ini:

register_globals=On
Название: попробую предположить, что так...
Отправлено: Croaker от 16 Мая 2002, 15:25:55
для страницы page.php?param=value


$param = $HTTP_GET_VARS[\'param\'];
Название: Как передать параметры в PHP 4.2???
Отправлено: Britva от 16 Мая 2002, 15:29:13
или

$param = $_GET[\'param\'];
Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 16:12:36
А если у меня из параметры из формы передаются, то для каждого параметра такую вату писать?
Название: Как передать параметры в PHP 4.2???
Отправлено: Croaker от 16 Мая 2002, 16:19:54
$HTTP_GET_VARS = это массив, т.е в принципе ты можешь пользоваться $HTTP_GET_VARS[\'param\'] как отдельной переменной (правда писать долго). Потом можно цикл написать, который этот массив рюхает - что конкретно тебе надо?
Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 16:31:26
Да так, на будущее интересуюсь
Название: Как передать параметры в PHP 4.2???
Отправлено: Макс от 16 Мая 2002, 16:53:35
Lord DEVIL
можешь написать extract($_GET);
Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 17:32:12
Как быть если передается несколько параметров, чтобы не писать для каждого $HTTP_GET_VARS[\'\'];?
Если параметры передаются из формы методом POST, тогда, как я понимаю $HTTP_POST_VARS[\'topic\'];.

Что делает функция extract($_GET);?
Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 17:39:58
Догнал.
При передаче параметров, полученных из другого скрипта, в функцию нужно в функции писать global $xxx;

Заработало.

Все таки зря они убрали заголовки глобальными по умолчанию.
Название: Как передать параметры в PHP 4.2???
Отправлено: Макс от 16 Мая 2002, 20:37:15
Цитировать
Все таки зря они убрали заголовки глобальными по умолчанию.
Так более безопасно (для начинающих).
Кстати никто (кроме хостера) не мешает тебе изменить значение register_globals
Название: Как передать параметры в PHP 4.2???
Отправлено: Lord DEVIL от 16 Мая 2002, 20:43:17
Так я ставил register_globals=On, один фиг не работало пока ручками параметры не получил.

Интересно, есть ли какая-нибудь функция, которая получает как GET, так и POST переменные, а то у меня в один и тот же файл в одном случае переменные передаются методом GET, а в другом (при передаче из формы) методом POST.
Название: Как передать параметры в PHP 4.2???
Отправлено: Oak от 16 Мая 2002, 21:27:26
читай доки по Array function - там склеивание 2х arrays есть
Название: Как передать параметры в PHP 4.2???
Отправлено: Макс от 17 Мая 2002, 01:05:17
Lord DEVIL
Цитировать
Интересно, есть ли какая-нибудь функция, которая получает как GET, так и POST переменные, а то у меня в один и тот же файл в одном случае переменные передаются методом GET, а в другом (при передаче из формы) методом POST.

А зачем одни и теже данные передавать и через get и через post. ИМХО post вообще стоит применять в 2 случаях:
1. Авторизация - так как post немного безопаснее чем get
2. если нужно передавать большие объемы данных

А если по вопросу - то примерно такое:
function get($name){
if (isset($_GET[$name])){
return $_GET[$name];
}elseif (isset($_POST[$name])){
return $_POST[$name];
}
....
$val=get(\'val\');
код не тестировал, но думаю идея ясна.
Название: Как передать параметры в PHP 4.2???
Отправлено: Britva от 17 Мая 2002, 01:40:03
Цитировать
Так я ставил register_globals=On, один фиг не работало пока ручками параметры не получил.

Если php как модуль Апача стоит, то последний нужно перезапускать, чтобы изменения в php.ini вступили в силу.
Название: Как передать параметры в PHP 4.2???
Отправлено: Dm от 17 Мая 2002, 02:16:43
http://www.php.net/manual/en/language.variables.predefined.php
Название: Как передать параметры в PHP 4.2???
Отправлено: от 18 Мая 2002, 23:40:05
while(list($key, $value) = each($HTTP_POST_VARS))
{$$key=$value;}

или

while(list($key, $value) = each($HTTP_GET_VARS))
{$$key=$value;}


это не моё но сам мучался, ставишь в начале файла и всё работает как раньше
Название: Как передать параметры в PHP 4.2???
Отправлено: Dm от 20 Мая 2002, 00:36:15
vladimir
8) нифига себе! :) кто-нибудь думал о безопасности? ;)