Forum Webscript.Ru
Программирование => PHP => Тема начата: Lord DEVIL от 16 Мая 2002, 15:22:30
-
В PHP 4.2 передаваемые заголовки, а значит и переменные, передаваемые в них не объявляются глобальными по умолчанию.
Что сдалать, чтобы можно было передавать параметры из одного .php файла в другой???
-
php.ini:
register_globals=On
-
для страницы page.php?param=value
$param = $HTTP_GET_VARS[\'param\'];
-
или
$param = $_GET[\'param\'];
-
А если у меня из параметры из формы передаются, то для каждого параметра такую вату писать?
-
$HTTP_GET_VARS = это массив, т.е в принципе ты можешь пользоваться $HTTP_GET_VARS[\'param\'] как отдельной переменной (правда писать долго). Потом можно цикл написать, который этот массив рюхает - что конкретно тебе надо?
-
Да так, на будущее интересуюсь
-
Lord DEVIL
можешь написать extract($_GET);
-
Как быть если передается несколько параметров, чтобы не писать для каждого $HTTP_GET_VARS[\'\'];?
Если параметры передаются из формы методом POST, тогда, как я понимаю $HTTP_POST_VARS[\'topic\'];.
Что делает функция extract($_GET);?
-
Догнал.
При передаче параметров, полученных из другого скрипта, в функцию нужно в функции писать global $xxx;
Заработало.
Все таки зря они убрали заголовки глобальными по умолчанию.
-
Все таки зря они убрали заголовки глобальными по умолчанию.
Так более безопасно (для начинающих).
Кстати никто (кроме хостера) не мешает тебе изменить значение register_globals
-
Так я ставил register_globals=On, один фиг не работало пока ручками параметры не получил.
Интересно, есть ли какая-нибудь функция, которая получает как GET, так и POST переменные, а то у меня в один и тот же файл в одном случае переменные передаются методом GET, а в другом (при передаче из формы) методом POST.
-
читай доки по Array function - там склеивание 2х arrays есть
-
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\');
код не тестировал, но думаю идея ясна.
-
Так я ставил register_globals=On, один фиг не работало пока ручками параметры не получил.
Если php как модуль Апача стоит, то последний нужно перезапускать, чтобы изменения в php.ini вступили в силу.
-
http://www.php.net/manual/en/language.variables.predefined.php
-
while(list($key, $value) = each($HTTP_POST_VARS))
{$$key=$value;}
или
while(list($key, $value) = each($HTTP_GET_VARS))
{$$key=$value;}
это не моё но сам мучался, ставишь в начале файла и всё работает как раньше
-
vladimir
8) нифига себе! :) кто-нибудь думал о безопасности? ;)