php代码if then else标签

时间:2014-09-03 20:50:51

标签: php html web

我对php世界很新。我在这个网站上搜索了我正在寻找的具体东西,却找不到它。

问题:我有一个页面,我想要一个标签,例如" User ="所以如果有一个url有index.php?u = Joe那么我想要" User = Joe"显示在该用户的页面上。

现在我已经毫无疑问地走到了那一步。我的问题是,如果有人在不使用?u = user值的情况下访问index.php,我仍想显示一些内容。

例如:如果网址中没有任何内容,那么我希望该网页说出" User = Unknown"。

我知道这可以用if语句完成,但我需要一些帮助,我找不到合适的概念。

感谢。

5 个答案:

答案 0 :(得分:1)

使用isset()测试是否已提供参数变量。

if (isset($_GET['u'])) {
    $user = $_GET['u'];
} else {
    $user = "Unknown";
}

echo "User = $user";

答案 1 :(得分:1)

您只需要检查该值是否设置为isset()

<?php

if(isset($_GET["u"]) && $_GET["u"] != ""){
  $var = $_GET["u"];
} else{
  $var = "Joe";
}

?>

答案 2 :(得分:0)

与其他答案类似,但我更喜欢array_key_exists而不是isset

if (array_key_exists('u', $_GET))

原因是array_key_exists特定于数组,并且具有比isset更少的“神奇”异常。

答案 3 :(得分:0)

我建议使用filter_input($input_type,$input_var_name)来获取变量的值。这是因为如果找不到变量,则返回false。如果从数组中提取它,则会抛出错误。你可以使用这样的东西:

$user = filter_input(INPUT_GET,'u');
$user = !isset($user) ? 'Unknown' : $user;

但是,您应该将其封装在一个函数中,这样您就不必在每次需要用户名时都重写它。事实上,如果您需要在多个页面中保留用户名,我建议您使用Cookie。

答案 4 :(得分:0)

这可以解决问题:快速而简单..

if($_GET['u']!=''){
    echo 'user = '.$_GET['u'];  //  The parameter has been set, and is not empty.
} else {
    echo 'Unknown user';    //  The parameter has not even been set. So the value has no impact, and is not checked.
}