【问题标题】:How to: PHP dynamic url checking如何:PHP 动态 url 检查
【发布时间】:2010-11-02 05:48:02
【问题描述】:

我正在为一个小项目制作一个管理面板。我想使用动态 URL 来编辑特定的数据条目。例如:

file.php?edit&n=53

我希望此 URL 编辑条目 53。

我使用 switch 语句来检查编辑页面,但是如何检查 URL 是否在同一个 switch 语句中具有 &n=x 扩展名?

例子:

switch $_SERVER['QUERY_STRING']
{
    case "edit"
        //shows a list of entries to edit  
        break;
}

我会用 reg 表达式再做一个案例吗?我该如何表达?

我意识到我可以只创建一个名为 edit 的单独文件并仅使用一层查询字符串,但我想知道如何做到这一点。

提前致谢!

【问题讨论】:

    标签: php regex url dynamic


    【解决方案1】:

    就像其他人说的那样使用 $_GET

    我建议修改您的网址,使它们看起来像...

    file.php?action=edit&n=53
    

    现在你可以...

    $id = intval( $_GET['n'] );
    
    switch( $_GET['action'] ) {
    
        case 'edit':
            // Edit entry
            break;
        case 'delete':
            // Delete entry
            break;
        case 'create':
            // Create new entry
            break;
        default:
            // Invalid action
    
    }
    

    $_GET 上的 PHP 页面 - http://us.php.net/manual/en/reserved.variables.get.php

    【讨论】:

    • 还要研究与 $_GET 略有不同的 $_POST 和 $_REQUEST
    【解决方案2】:

    查看if $_GET['edit'] and $_GET['n'] exist:

    if (isset($_GET['edit'])) {
        echo 'edit mode';
        if (isset($_GET['n'])) {
            echo 'editing '.intval($_GET['n']);
        }
    }
    

    【讨论】:

      【解决方案3】:

      您应该使用 $_GET 来跟踪通过 URL 传入的变量。

      您可以通过使用 isset($_GET['edit']) 和 isset($_GET['n']) 来检查页面是否存在变量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-15
        • 2011-12-19
        • 2011-04-11
        • 2015-04-11
        • 1970-01-01
        • 2011-07-02
        • 2015-02-18
        • 2011-09-30
        相关资源
        最近更新 更多