|
|
|
| есть функция
function check_url($str)
{
$len = strlen($str);
if (preg_match("/[^a-z_0-9]+/i" , $str) || ($len > 20 )) // если в строке есть что то кроме a-z_ 0-9 то
{
$str = "error"; сторка = error
}
else
{
$str = $str; а если все хорошо то самой себе
}
return $str;
}
|
потом код
<?
$mod = check_url($_GET['mod']);
if (($mod == ..... перечесление) || ($mod === 'error'))
{
switch ($_GET['mod'])
{
различные кейсы;
case 'error' : die ('Mod function error'); break;
}
}
else
{
die ('Mod name error');
}
?>
|
по идее если ввести урл вида index.php?mod=dsd/// , то функция возвращает error, и помещает в $mod = "error" , потом этот $mod передается кейсу, и там срабатывает case 'error' : die ('Mod function error');
однако если ввести такой урл, то выдается пустая страница, а если после вызова функции вывести echo $mod , то отобразится error . в итоге $mod = error , но почему не срабатывает кейс?? | |
|
|
|
|
|
|
|
для: RV
(17.03.2005 в 19:50)
| | switch ($_GET['mod']) замените на switch($mod) | |
|
|
|
|
|
|
|
для: isset
(17.03.2005 в 19:58)
| | ууу. и действительно. благодарствую | |
|
|
|