2015-11-09 1 views
-1

У меня есть простая тестовая страница, которая предназначается для подтверждения получения значенийPHP получить возвращения нераспределенных значений

<?php 
if ($_GET ['car'] = 'yes') { 
echo 'You have a car. It is set to: ' . $_GET ['car'] . '<br>'; 
} 
if ($_GET ['boat'] = 'yes') { 
echo 'You have a boat. It is set to: ' . $_GET ['boat'] . '<br>'; 
} 
?> 

Я проверка с несколькими строками URL:

  1. test.php машина = да не & лодки = нет
  2. test.php? автомобиль = нет & лодки = нет
  3. test.php? автомобиля = нет & лодки = да
  4. не
  5. test.php? машина = да & лодка = да

Если я перейти к URL «test.php? автомобиль = нет & лодки = нет» эхо-функция печатает «да» вместо «нет» ,

Пожалуйста, помогите мне понять, почему я не получаю желаемый результат «нет» вместо «да». Спасибо.

ответ

0

Ваши заявления if присваивают $ _GET ['автомобиль'] равным «да», вместо того, чтобы проверять, чтобы IF $ _GET ['car'] равнозначно «да». Попробуйте это:

<?php 
    if ($_GET['car'] == 'yes') { 
     echo 'You have a car. It is set to: ' . $_GET['car'] . '<br>'; 
    } 
    if ($_GET['boat'] == 'yes') { 
     echo 'You have a boat. It is set to: ' . $_GET['boat'] . '<br>'; 
    } 
?> 
+1

Хотя все остальные ответы были правильными, я нашел это самым легким в переваривании. Спасибо вам всем! –

0

Оператор присваивания

$a=$b 

Основной оператор присваивания "=". как «равный». Не. Это действительно означает, что левый операнд устанавливается в значение выражения справа (то есть, «устанавливается в»).

Оператор сравнения

$a == $b 

Results TRUE, if $a is equal to $b after type juggling. 

Таким образом, изменить код ниже код для сравнения, как вы не назначаем.

<?php 
if ($_GET ['car'] == 'yes') { 
echo 'You have a car. It is set to: ' . $_GET ['car'] . '<br>'; 
} 
if ($_GET ['boat'] == 'yes') { 
echo 'You have a boat. It is set to: ' . $_GET ['boat'] . '<br>'; 
} 
?> 
Смежные вопросы