|
|
|
| вот есть у меня такой код, который проверяет $_GET[ ] на совпадения, непредвиденной ситуации вроде не может быть. Обязательна ли проверка GET данных конкретно в моем случае?
<?php
$rub=$_GET['параметр']
if(!empty($rub)) //если не пуста
{
if($rub=="n") {$a=1;}
if($rub=="t") {$a=2;}
if($rub=="ra") {$a=4;}
if($rub=="ru") {$a=5;}
if($rub=="oth") {$a=6;}
if($rub=="u") {$a=7;}
if($rub=="o") {$a=8;}
//если не пуста, но не сошлась
if($rub!=="n"&&$rub!=="t"&&$rub!=="ra"&&$rub!=="ru"&&$rub!=="oth"&&$rub!=="u"&&$rub!=="o") {$a=8888;}
echo $a;
}
else //если пуста
{
$glavnaya="index.php";
header("location: $glavnaya");
}
?>
|
| |
|
|
|
|
|
|
|
для: Рома
(15.12.2008 в 23:13)
| | Переменная $rub у вас поступает в массиве GET? В таком примере нет, не нужно проверять, хотя ИМХО желательно всегда писать что-то типа
<?php
$rub = mysql_real_escape_string(htmlspecialchars($_GET['rub']));
?>
|
Кстати, пользуйтесь else :) | |
|
|
|
|
|
|
|
для: devil943
(15.12.2008 в 23:19)
| | >, хотя ИМХО желательно всегда писать что-то типа
>$rub = mysql_real_escape_string(htmlspecialchars($_GET['rub']));
желательно не нести чушь. | |
|
|
|
|
|
|
|
для: Рома
(15.12.2008 в 23:13)
| | Вообще не нужна, но лучше написать так:
<?
<?php
$rub=trim($_GET['параметр']); //Тут вы, кстати, забыли ";" (точка с запятой)
if(!empty($rub))
{
if($rub=="n") {$a=1;}
elseif($rub=="t") {$a=2;}
elseif($rub=="ra") {$a=4;}
elseif($rub=="ru") {$a=5;}
elseif($rub=="oth") {$a=6;}
elseif($rub=="u") {$a=7;}
elseif($rub=="o") {$a=8;}
else {$a=8888;}
echo $a;
}
else
{
$glavnaya="index.php";
header("location: $glavnaya");
}
?>
?>
|
| |
|
|
|
|
|
|
|
для: DEM
(15.12.2008 в 23:19)
| | фенькью за быстрый ответ, а что, последний скрипт с применением elseif работает быстрее? | |
|
|
|
|
|
|
|
для: Рома
(15.12.2008 в 23:22)
| | а switch в данном вопросе не подойдет? | |
|
|
|
|
|
|
|
для: bronenos
(16.12.2008 в 01:26)
| | я не знаю че тут лучше подойдет, но если мне не изменяет память, то elseif выполнив условие не проверяет до конца остальные elseif. но я не уверен | |
|
|
|
|
|
|
|
для: bronenos
(16.12.2008 в 01:26)
| | Подойдет, но вот так ещё меньше писанины ))):
<?php
$rub = ($_GET['a'])?trim($_GET['a']):null;
$arr = array(
"n"=>1,
"t"=>2,
"ra"=>4,
"ru"=>5,
"oth"=>6,
"u"=>7,
"o"=>8
);
if($rub) //если не пуста
{
$a = ($arr[$rub])?$arr[$rub]:8888;
echo $a;
}
else //если пуста
{
$glavnaya="index.php";
header("location: $glavnaya");
}
|
| |
|
|
|
|
|
|
|
для: Николай2357
(16.12.2008 в 09:06)
| | $a = isset($arr[$rub])?$arr[$rub]:8888; | |
|
|
|
|
|
|
|
для: Trianon
(16.12.2008 в 09:23)
| | Спасибо, действительно поторопился. | |
|
|
|
|
|
|
|
для: Николай2357
(16.12.2008 в 09:06)
| | да, действительно меньше писать, только боюсь запутаюсь:(
я конструирую ссылку типа
http://localhost/body.php?rubrika=n&kategory=1&razdel=a&...
|
и неизвестно когда это закончится, еще уровень пользователя нужно приписать к ссылке, и sid
когда же условие выполнится, внутри условия определятся переменные, которые будут подставляться в готовый шаблон.
если воспользоваться твоим способом, где мне потом писать значение переменных, если сойдется 1й элемент 1 массива, 3й элемент 2 массива, 5й элемент 3 массива.
думаю ничего не получится... | |
|
|
|
|
|
|
|
для: Рома
(16.12.2008 в 09:38)
| | Так то, что я написал, это суть то же самое, просто короче. Могу раскомментить, если не всё понятно.
<?php
//Инициализация, тут наверное и так ясно
$rub = isset($_GET['a'])?trim($_GET['a']):null;
//Массив, можно добавлять значения по мере надобности
$arr = array(
"n"=>1,
"t"=>2,
"ra"=>4,
"ru"=>5,
"oth"=>6,
"u"=>7,
"o"=>8
);
if($rub) //если не пуста
{
// Проверяем, есть ли такой в массиве. Если нету, то значит будет 8888
$a = isset($arr[$rub])?$arr[$rub]:8888;
echo $a;
}
else //если пуста
{
$glavnaya="index.php";
header("location: $glavnaya");
}
//Вуаля
|
| |
|
|
|
|
|
|
|
для: Рома
(15.12.2008 в 23:13)
| | Люди! Человек только начинает разбираться в РНР (не новичёк, но такие вещи как swuth $a = () ? ** : ** еще не знает)... Зачем зря запутывать? Придёт время - узнает...
ЗЫ. а свич ИМХО тут только немного сократит код в размере ;) | |
|
|
|
|
|
|
|
для: DEM
(16.12.2008 в 10:44)
| | А вот не надо привыкать, надо сразу учиться писать читаемый и компактный код. Свич длиннее, я проверял. | |
|
|
|