Отображать динамический текст на основе параметров GET - PullRequest
3 голосов
/ 16 марта 2011

Я пытаюсь выучить PHP, и я решил сделать простое упражнение по созданию сайта, который, если кто-то зайдет на него, получит "Привет, друг!" но если моя жена (которую зовут Рассвет) идет на это, она получает другое сообщение.

К сожалению, он всегда отображается пустым, и я не совсем уверен, почему.

Я знаю, что он работает для index.html только с текстом, и я знаю, что он работает для index.php, пока у меня нет тега <?php (только текст работает). Но когда я пытаюсь сделать его настоящим php, он просто не работает.

  • Я бы хотел site/index.php уступить «Привет, друг!»
  • Я бы хотел site/index.php?who=Bob выдает "Привет друг!"
  • Я бы хотел site/index.php?who=Dawn уступить "Здравствуй Рассвет! Я люблю тебя!"

Вот что у меня есть:

<?php
print 'Hello ';
$who = $_GET("who");
if($who && $who == "Dawn")
    print "Dawn! I love you!";
else
    print "friend!";
/>

Итак, что не так?

Ответы [ 3 ]

7 голосов
/ 16 марта 2011

Доступ к массивам ($_GET - это массив), как и в Java, использует квадратные скобки:

$who = $_GET['who'];

Также if($who) оценивается как истинное, если $who не ложно, чтобы проверить его, вам нужно использовать isset:

if(isset($who) && $who == "Dawn")

Последний, как отметил @Shivan, конечный тег должен быть ?>, а не />.

3 голосов
/ 16 марта 2011

Несколько вопросов, должно быть:

<?php
print 'Hello ';
$who = $_GET["who"];
if(isset($who) && $who == "Dawn") {
    print 'Dawn! I love you!';
} else {
    print 'friend!';
}
?>

Дополнительная информация:

  • если возможно, используйте одинарные кавычки для более быстрого разбора
  • это хорошая привычка закрывать, если еще случай с скобками
  • конечный тег должен быть ?>
1 голос
/ 16 марта 2011

примерьте размер:

<?php
echo 'Hello ';
$who = isset($_GET["who"])?$_GET["who"]:false;
if($who)
    echo "Dawn! I love you!";
else
    echo  "friend!";
?>

Этот параметр проверяет наличие значения _GET с ключом who, иначе php выдаст ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...