Просмотр полной версии : Get фильтруем
.::BARS::.
05.02.2008, 17:51
Делаю такой скриптег http://zanud.net/tests/dalay-lama/ там все запросы передаются через get так вот....
$vopr1_1=$_GET['vopr1_1'];
if($vopr1_1==''){
die('Ошибка.<hr />Возможно не заполнено поле');
}
--------------
что бы я не писал в это поле, все равно ошибка.... как можно подругому профильтровать?
--------------
и еще
$vopr1_1=$_GET['vopr1_1'];
если я введу 1, то получу одно слово (например "один"), если 2, то слово "два".... Как так сделать что бы только именно к этому полю все относилось, и что бы из цыфер переводилось в слова???
http://zanud.net/tests/dalay-lama/ вот тут это скрипт, гланьте, первые 5 вопросов, это из цыфр в слова...
Из цифр в слова - создай ассоциативный массив где ключем масива будут цифры, которые вводились
Хотя грамотней будет сделать так:
$input = "367182";
echo str_replace(array("0","1","2","3","4","5","6","7","8","9"), array("Ноль","Один","Два","Три","Четыре","Пять","Шесть","Семь","Восемь","Девять"), $input);
В резльтате вывод будет:
ТриШестьСемьОдинВосемьДва
.::BARS::.
06.02.2008, 03:05
спасиб... сейчас попробую..... а что с фильтрацией?
если у тя там всегда цифры то прогоняй через intval() - етого хватит)
.::BARS::.
06.02.2008, 03:19
и слова.....
.::BARS::.
06.02.2008, 03:40
Пример... Если поле пустое, "ошибка, поле не заполнено"..... и не пускать символы вида $ % ' ну и т.п.
$vopr1_1=$_GET['vopr1_1'];
if($vopr1_1==''){
die('Ошибка.<hr />Возможно не заполнено поле');
} - - - это я так поле проверял..... а мне все равно пишет что поле пустое, даже если я его и заполнил...
можно регулярками создать шаблон на спец символы и ругаться на них...
На пустое поле проверяй if(empty($vopr1_1)) { }
.::BARS::.
06.02.2008, 11:29
можно регулярками создать шаблон на спец символы и ругаться на них...
На пустое поле проверяй if(empty($vopr1_1)) { }
А можно подробней код написать!? =)
.::BARS::.
06.02.2008, 13:21
гы..........
<?php
$stroka = "sdsadasds2132AASDASDsadasdАВЫАЫВавыаыв da";
if (ereg("[^0-9a-zA-Zа-яА-Я]",$stroka))
echo "ERROR!";
else echo $stroka;
?>
<?php
$input = $_GET['vopr1_1'];
if($input) {
echo ucfirst(str_replace(array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), array('ноль', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'), $input));
} else {
echo('Вы ничего не ввели');
}
?>
2NOmeR1
А где фильтрация? Читай всю тему... Я ему уже показал, как первеодить цифры=>буквы...
2ТС Зачем тебе фильтровать %, если данные передаются GET ом???
<?php
$input = $_GET[\'vopr1_1\'];
if(isset($input)) {
echo ucfirst(str_replace(array(\'0\', \'1\', \'2\', \'3\', \'4\', \'5\', \'6\', \'7\', \'8\', \'9\'), array(\'ноль\', \'один\', \'два\', \'три\', \'четыре\', \'пять\', \'шесть\', \'семь\', \'восемь\', \'девять\'), $input));
} else {
echo(\'Вы ничего не ввели\');
}
?>
А ты пробовал этот код тестить? Вообще то таких случаев что бы вылелось \'Вы ничего не ввели\' никогда не будет. Юзать вместо isset функцию empty.
<?php
$input = (empty($_GET[\'vopr1_1\'])?\'\':$_GET[\'vopr1_1\']);
if($input) {
echo ucfirst(str_replace(array(\'0\', \'1\', \'2\', \'3\', \'4\', \'5\', \'6\', \'7\', \'8\', \'9\'), array(\'ноль\', \'один\', \'два\', \'три\', \'четыре\', \'пять\', \'шесть\', \'семь\', \'восемь\', \'девять\'), $input));
} else {
echo(\'Вы ничего не ввели\');
}
?>
.::BARS::.
06.02.2008, 18:50
Спасиб... а терь вот вопрос.... возможно ли сломать это http://zanud.net/tests/dalay-lama/ каким нить таким способом http://zanud.net/tests/dalay-lama/process.php?vopr1_1=5&vopr1_2=5&vopr1_3=5&vopr1_4=5&vopr1_5=5&vopr2=..%2F..%2Findex.php%2500&vopr3=..%2F..%2Findex.php%2500&vopr4=..%2F..%2Findex.php%2500&vopr5=..%2F..%2Findex.php%2500&vopr6=..%2F..%2Findex.php%2500&vopr7=..%2F..%2Findex.php%2500&vopr8=..%2F..%2Findex.php%2500&vopr9=..%2F..%2Findex.php%2500&vopr10=..%2F..%2Findex.php%2500&vopr11=..%2F..%2Findex.php%2500&vopr12=..%2F..%2Findex.php%2500&vopr13=..%2F..%2Findex.php%2500&vopr1=..%2F..%2Findex.php%2500
I-I()/Ib ты что? Забыл синтаксис пхп или у тебя кавычек на клаве нет? На счёт empty - там вообще надо было if($input) просто. (я ступил)
.::BARS::., мде.. Сделай на всякий случай
$_GET = array_map("htmlspecialchars", $_GET);
До использования массива $_GET.
I-I()/Ib ты что? Забыл синтаксис пхп или у тебя кавычек на клаве нет? На счёт empty - там вообще надо было if($input) просто. (я ступил)
кавычки форумом порезались, не умничай) Да и тем более я показал теорию. кто захочет-тот поймет...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot