[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка, безопасность...
uMnepaTop
Добрый вечер!

Скажите, вот такая конструкция, безопасна?:
Код
if ($1 == '1') {
mysql_query...
} elseif ($2 == '2') {
mysql_query...
} elseif ($3 == '3') {
mysql_query...
} else {
mysql_query...
}




Спустя 46 минут, 30 секунд (5.11.2008 - 21:47) kirik написал(а):
Все зависит от того, какой смысл несет эта конструкция. Тоесть какие запросы выполняются внутри (идет-ли проверка переменных $1, $2, $3 для использования в запросе, или просто для обозначения разных запросов.).
А сама по себе -- безопасна =)

Скажите, что именно вы хотите сделать, и может получится прийти к какому-нибудь более совершенному решению =)

зы. переменные _не_ могут обозначаться как $ЦИФРА =)

Спустя 17 минут, 54 секунды (5.11.2008 - 22:05) uMnepaTop написал(а):
Я просто пример показал)
Код
if ($game == '1') {
mysql_query... WHERE `game` = '1' ...
} elseif ($game == '2') {
mysql_query... WHERE `game` = '2' ...
} elseif ($game == '3') {
mysql_query... WHERE `game` = '3' ...
} else {
mysql_query... WHERE ...
}

Вот у меня так)
Безопасно? Или может быть есть варианты по проще?)

Спустя 10 минут, 37 секунд (5.11.2008 - 22:16) kirik написал(а):
безопасно, но есть проще..)

Код
$array = array(1, 2, 3); // разрешенные номера
if (in_array($game, array)) {
mysql_query... WHERE `game` = '$game' ...
} else {
mysql_query... WHERE ...
}

или if-elseif-else заменить на switch -

Код
switch($game)
{
case '1':
   mysql_query... WHERE `game` = '1' ...
break;

case '2':
   mysql_query... WHERE `game` = '2' ...
break;

case '3':
   mysql_query... WHERE `game` = '3' ...
break;

default:
   mysql_query...
}


что будет удобнее)

Спустя 38 секунд (5.11.2008 - 22:17) Sephiroth_Lukaw написал(а):
Если вариантов игры только три, то конечно же, так можно. Но если их больше то просто нужно проверить на то, числа ли они или использовать функцию - http://ru2.php.net/intval
И не надо везде запрос перерисовать, не легче ли создавать переменную? Примерно таким образом
Код
switch ($game) {
case 1:
    $res = 1;
    break;
case 2:
    $res = 2;
    break;
case 3:
    $res = 3;
    break;
    default;
    $res = 1;
    break;
}
или
Код
if($game == 1 or $game == 2 or $game == 3) {
$res = $game;
} else {
$res = 1;
}

Код
mysql_query... WHERE `game` = '$res' ...

Если же, у вас для каждого game разные запросы, то, ИМХО, http://ru2.php.net/manual/ru/control-structures.switch.php в данной ситуации выглядит всё-равно красивше)

Спустя 5 минут, 56 секунд (5.11.2008 - 22:22) uMnepaTop написал(а):
Мне вот этот:
Код
$array = array(1, 2, 3); // разрешенные номера
if (in_array($game, array)) {
mysql_query... WHERE `game` = '$game' ...
} else {
mysql_query... WHERE ...
}

Понравился)

Спустя 7 минут, 23 секунды (5.11.2008 - 22:30) Sephiroth_Lukaw написал(а):
Мне тоже rolleyes.gif
Ещё, возможно, вам функция http://ru2.php.net/manual/ru/function.range.php понадобиться.

Спустя 10 минут, 6 секунд (5.11.2008 - 22:40) uMnepaTop написал(а):
ы) Спасибо, но мне эта функция не понадобится)

Спустя 5 минут, 9 секунд (5.11.2008 - 22:45) uMnepaTop написал(а):
Цитата(uMnepaTop @ 5.11.2008, 22:22) [snapback]53666[/snapback]
Мне вот этот:
Код
$array = array(1, 2, 3); // разрешенные номера
if (in_array($game, array)) {
mysql_query... WHERE `game` = '$game' ...
} else {
mysql_query... WHERE ...
}

Понравился)

Ошибочка
Parse error: parse error, unexpected ')', expecting '('
тут:
if (in_array($game, array)) {
=)

Спустя 1 час, 39 минут, 24 секунды (6.11.2008 - 00:24) Sephiroth_Lukaw написал(а):
Цитата(uMnepaTop @ 6.11.2008, 1:45) [snapback]53669[/snapback]
if (in_array($game, array)) {
=)

Ну, дык, символ $ перед array поставил?

Спустя 44 минуты, 30 секунд (6.11.2008 - 01:09) kirik написал(а):
Цитата(uMnepaTop)
Ошибочка
Parse error: parse error, unexpected ')', expecting '('
тут:
if (in_array($game, array)) {
=)

Да, сори.. пропустил)

Код
$array = array(1, 2, 3); // разрешенные номера
if (in_array($game, $array)) {
mysql_query... WHERE `game` = '$game' ...
} else {
mysql_query... WHERE ...
}

Спустя 14 часов, 49 минут, 28 секунд (6.11.2008 - 15:58) uMnepaTop написал(а):
))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.