Forum Webscript.Ru

Программирование => PHP => Тема начата: Foshvad от 22 Августа 2002, 12:36:15

Название: parse_str() и проверка переменных
Отправлено: Foshvad от 22 Августа 2002, 12:36:15
Вопрос есть. Следующий.
Через parse_str() в скприт сообщаются данные (именно так, и так в данном случае надо)

Есть набор разрешенных имен переменных (их значения проверяются отдельно)

Можно ли как-то обезапаситься от лишних переменных?
Название: parse_str() и проверка переменных
Отправлено: Foshvad от 22 Августа 2002, 15:04:26
Сайт работает на ErrorDocument; POST и GET в открываемом по нему index.php запрещены. Все, включая меню, карту сайта и хлебные крошки генериться из шаблонов. Но для работы поиска надо сообщить несколько переменных.
Название: parse_str() и проверка переменных
Отправлено: Меняздесьдавнонет от 22 Августа 2002, 16:15:55
спасибо.
я думаю, вместо парсе_стр
надо использовать собственную функцию.
ведь это совсем нетрудно сделать
эксплоде по &
по парам пробежаться проверкой значений, а остальное выкинуть на помойку.
Название: parse_str() и проверка переменных
Отправлено: Foshvad от 22 Августа 2002, 16:21:36
RomikChef
хм... это идея.
Я так понимаю, готовой функции в php такой нет?
Что ж, тогда придется сделать.
Название: parse_str() и проверка переменных
Отправлено: KBA-KBA от 24 Августа 2002, 04:58:41
сделаешь, выкинь сюда... PLZ
Название: parse_str() и проверка переменных
Отправлено: Foshvad от 24 Августа 2002, 09:17:50

// $urlvars - массив, с именами разрешенных переменных
function parsestr($url) {
global $urlvars;
$url = explode(\'&\',substr($url,1,strlen($url)));
for($i=0; $ilist($name,$value) = explode(\'=\',$url[$i]);
if(in_array($name,$urlvars)) { $GLOBALS[$name] = urldecode($value); }
}
}
Название: parse_str() и проверка переменных
Отправлено: Доктор от 24 Августа 2002, 14:39:38
А нафига:
Цитировать
substr($url,1,strlen($url))

???
Название: parse_str() и проверка переменных
Отправлено: GotZfild от 24 Августа 2002, 15:58:38
Я думаю, это попытка избавиться от начального "?", хотя лучше было бы опустить третий аргумент.
Название: parse_str() и проверка переменных
Отправлено: Alexandr от 24 Августа 2002, 16:04:43
Цитировать
это попытка избавиться от начального "?",

Тогда уж лучше так IMHO:
ltrim($url, "?");
Название: parse_str() и проверка переменных
Отправлено: GotZfild от 24 Августа 2002, 17:12:03
Alexandr
Это можно проделать тысяча и одним способом...
Название: parse_str() и проверка переменных
Отправлено: Foshvad от 25 Августа 2002, 20:28:48
Цитировать
Я думаю, это попытка избавиться от начального "?", хотя лучше было бы опустить третий аргумент.


именно , эт я не подумал :(