[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Форма
mihai
создал форму для передачи двух переменных
$country
$city

и внизу код второго файла куда эти переменные приходят,
вроде всё работает и выводится првильно,
но после каждого значения if
всегда выводится значение else

то есть

"Если вы vvv а дем более из 111 тогда вы гость";
"Ну а если вы vvv тогда Нефига"


"Если вы bbb а дем более из 222 тогда вы гость";
"Ну а если вы bbb тогда Нефига"

я понимаю что цикл надо остановит но куда вставить этот break;

или как...
PHP
<? 

    
$country $_GET['country']; 
    
$city    $_GET['city']; 

    

if 
(
$country == "vvv" and $city == "111")
{
echo 
"Если вы  $country а так же из $city тогда вы гость";
}


if
(
$country == "bbb" and $city == "222")
{
echo 
"Если вы  $country а так же из $city тогда вы гость";
}



if 
(
$country == "nnn" and $city == "333")
{
echo 
"Если вы  $country а так же из $city тогда вы гость";

}

else
{
echo 
"Ну а если вы  $country тогда Нефига";
}





Спустя 18 минут, 8 секунд (3.01.2009 - 18:10) Grazor написал(а):
не совсем понял проблему, но автору на заметку
PHP
if ($country == "vvv" && $city == "111") echo "Если вы  $country а так же из $city тогда вы гость";
elseif ($country == "bbb" && $city == "222") echo "Если вы  $country а так же из $city тогда вы гость";
elseif ($country == "nnn" && $city == "333") echo "Если вы  $country а так же из $city тогда вы гость";
else echo "Ну а если вы  $country тогда Нефига";

//а ещё лучше

if (($country == "vvv" && $city == "111") || ($country == "bbb" && $city == "222") ||
   ($country == "nnn" && $city == "333")) echo "Если вы  $country а так же из $city тогда вы гость";
else echo "Ну а если вы  $country тогда Нефига";

Спустя 5 минут, 22 секунды (3.01.2009 - 18:16) Grazor написал(а):
ааа, понял. это не будет выводиться, если $country = "nnn" и $city = "333", так как условия проверяются последовательно. если первое верно, то пишем первое сообщение, если нет, сморим дальше; если второе - второе.... если не верно последнее(только если именно оно не верно, от других не зависит), то выводим последнее сообщение. вижу два выхода: либо использовать тот код, что выше, либо после вывода строки ставить exit();

PHP
if 
(
$country == "vvv" and $city == "111")
{
echo 
"Если вы  $country а так же из $city тогда вы гость";
exit();
}


тогда, если условие верно, то выводим сообщение и заканчиваем выполнение скрипта

Спустя 15 минут, 47 секунд (3.01.2009 - 18:31) Семён написал(а):
Для начала выучите базовый синтаксис PHP

неверно
PHP
($country == "vvv" and $city == "111")


верно
PHP
($country == "vvv" && $city == "111")


Пример:
PHP
$test1 $_POST[test1];
$test2 $_POST[test2];

if(
$test1 == '123')
{ echo 
'TEST1 = 123'; }
if(
$test1 == '$test2')
{ echo 
'TEST1 = TEST2'; }


Спустя 3 минуты, 31 секунда (3.01.2009 - 18:35) mihai написал(а):
огромное СПАСИБО Grazor

просто, доходчиво и по уму


Спустя 13 минут, 36 секунд (3.01.2009 - 18:48) Grazor написал(а):
Семён, and тоже верно, но в php чаще используется && вместо and, || вместо or и тд. кстати, автор, похоже, раньше на дельфи, или на паскале программировал

Спустя 58 секунд (3.01.2009 - 18:49) Grazor написал(а):
и у && || приоритет выше, т е они выполняются раньше, чем and и or

Спустя 6 часов, 21 минута, 32 секунды (4.01.2009 - 01:11) sergeiss написал(а):
Цитата (Семён @ 3.01.2009 - 18:31)
Пример:
PHP
$test1 = $_POST[test1];
$test2 = $_POST[test2];

if(
$test1 == '123')
{
 echo 'TEST1 = 123'; }
if(
$test1 == '$test2')
{
 echo 'TEST1 = TEST2'; }

Пример неправильный, т.к. test1 и test2 в данном случае подразумеваются как некие константы. Надо писать по-другому, чтобы было четко видно, что это текстовые строки:
PHP
$test1 = $_POST['test1'];
$test2 = $_POST['test2'];

Цитата (Grazor)
но в php чаще используется && вместо and, || вместо or и тд. кстати, автор, похоже, раньше на дельфи, или на паскале программировал

А почему чаще??? Я вот на С++ писал раньше немало, но мне and куда приятнее и понятнее, чем два амперсенда smile.gif И вообще непонятно, зачем ввели эти значки в Си, если можно было и and использовать, для большей наглядности текста.
Я в ПХП and использую всегда. И пытаюсь это делать на С++, когда на нем что-то приходится делать smile.gif

Спустя 3 дня, 19 часов, 45 минут, 55 секунд (7.01.2009 - 20:57) Grazor написал(а):
sergeiss, я тоже больше and, or, not люблю, но после паскаля и дельфи

Спустя 4 минуты, 27 секунд (7.01.2009 - 21:01) kirik написал(а):
Цитата (sergeiss @ 3.01.2009 - 17:11)
И вообще непонятно, зачем ввели эти значки в Си

and - 3 символа, && - два =))))

Спустя 19 часов, 28 минут, 59 секунд (8.01.2009 - 16:30) Sylex написал(а):
kirik жжошь laugh.gif
Быстрый ответ:

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