【问题标题】:Set variable default if $_get is empty如果 $_get 为空,则设置变量默认值
【发布时间】:2013-03-23 03:03:44
【问题描述】:

以下是我用于其中一个页面的代码,但如果 $_GET['file'] 不存在,我想设置默认文件。

$catalogfile = $_GET['file'];
$catalogfileend = "Product_Catalog.xml";
$xmlfile = $catalogfile . $catalogfileend;
$startPage = $_GET['page'];

【问题讨论】:

  • 为什么人们在回答我的问题?我的问题没有意义吗?

标签: php xml variables


【解决方案1】:

检查 $_GET['file'] 不为空并且是字符串也很好

$catalogfile = !empty($_GET['file']) && is_string($_GET['file']) ? 
    $_GET['file'] : 'defaultFile';

【讨论】:

    【解决方案2】:

    我会使用:

    $catalogfile = 'defaultfile';
    if (isset($_GET['file']) && file_exists($_GET['file'])) {
        $catalogfile = $_GET['file'];
    }
    

    为了更好的可读性。

    【讨论】:

      【解决方案3】:

      使用这个:

      $catalogfile = isset($_GET['file']) ? $_GET['file'] : "DEFAULT File";
      

      【讨论】:

        【解决方案4】:
        $catalogfile = isset($_GET['file']) && file_exists($_GET['file'])
            ? $_GET['file'] : 'defaultfile';
        

        【讨论】:

        • 不,你误会了,我有像 dispaly.php 这样的文件,我像 display.php?file=xmlfile.xml 一样使用它,我的意思是如果我只是把 dispaly.php我想在那里设置一些默认文件,这样我的页面就不会显示任何错误
        • @KhushwantSingh 这就是 defaultfile 应该是的
        • @KhushwantSingh,上面的答案可以满足您的要求。
        • @KhushwantSingh 不要忘记投票并接受对您有帮助的答案
        • 这不会对各种攻击开放吗?将文件名分配给这样的变量 htmlspecialchars($_GET["file"]) 并使用它。这不是更安全吗?
        猜你喜欢
        • 2020-03-19
        • 1970-01-01
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        • 2017-12-03
        • 1970-01-01
        相关资源
        最近更新 更多