【问题标题】:php code if then else tag [closed]php代码if then else标签[关闭]
【发布时间】:2014-12-27 09:46:15
【问题描述】:

我对 php 世界很陌生。我在这个网站上搜索了我正在寻找的特定东西,但找不到它。

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

现在我已经达到了这一点,没有任何问题。我的问题是,如果有人在没有 ?u=user 值的情况下访问 index.php,我仍然想显示一些东西。

例如:如果 url 中没有任何内容,那么我希望页面显示“User = Unknown”。

我知道这可以通过 if 语句来完成,但我需要一些帮助我找不到正确的概念。

谢谢。

【问题讨论】:

  • Surf for php s $_GET 变量...
  • 感谢大家的快速回复!我的问题已解决:)

标签: php html web


【解决方案1】:

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

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

echo "User = $user";

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        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.
        }
        

        【讨论】:

        • 当心,此代码会起作用,但会在您的 error_log 文件中产生错误。您必须改用 isset()。
        • 会出现什么错误?
        • 我测试了你的代码,这是我在 error.log 文件中得到的:PHP Notice: Undefined index: u in /home/public/test.php on line 3
        • 好吧。那只是因为我正在检查一个尚未设置的变量。我不认为这有什么大不了的。但是,isset() 函数当然可以解决这个问题......您也可以通过首先设置变量 ($_GET['u']='') 来删除该通知,我认为这没有必要,因为它只是一个通知。但是,是的。使用 isset() 并不难写 ;)
        • 是的,我知道,这没什么大不了的,但我过去遇到过与此问题相关的问题。我的 error.log 文件变得如此巨大,以至于我的服务器出现故障。我不知道为什么,但我清理了error.log,之后一切都很好。另外,如果你像我一样,偶尔检查一下你的 error.log 文件以进行调试,那么摆脱无用的通知是件好事;)
        【解决方案5】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-25
          • 2013-12-29
          • 2018-03-29
          • 2016-08-30
          • 1970-01-01
          • 1970-01-01
          • 2023-04-05
          • 1970-01-01
          相关资源
          最近更新 更多