【问题标题】:How to get URL path in PHP index file?如何在 PHP 索引文件中获取 URL 路径?
【发布时间】:2020-11-01 06:20:38
【问题描述】:

我正在使用 cpanel 和 php 创建我的网站。

我如何从 url http://example.com/id 获取 id

问题是当我尝试获取 url 时,我重定向到带有 id 名称 404 错误的文件!

我无法在index.php 页面中获取路径?

例如,当我尝试获取此网址时

http://example.com/01OWUY

我想得到01OWUY

$link .= $_SERVER['REQUEST_URI']; 

代码,但我会遇到 404 错误

更新:

每个用户都有一个 id

有了这个ID,他可以看到她的信息

例如,ID 为 01OWUY 的用户可以从数据库中查看她的信息 像这样 ->

<?php

require 'config.php';

//Database connection
$conn = mysqli_connect(SERVERNAME, USERNAME, PASSWORD, DBNAME);

$user = handle_user($conn, $_SERVER['REQUEST_URI'])
?>

功能就是这个->

// Return true if link is active
function handle_user($conn, $linkId)
{
    $sql = "SELECT *FROM users WHERE link_id = '" . $linkId . "'";
    $result = $conn->query($sql);

    // get user data from db
    if ($result->num_rows > 0) {
        return $result;
    }
    return false;
}

但我收到 404 错误!!!

【问题讨论】:

  • 试着像这样形成你的问题:鉴于这个世界......(解释情况),当我这样做......(解释你做什么),我希望这会发生...... .(解释你预期会发生什么)。
  • “获取” id 是什么意思?因为 404 错误与 $_SERVER 有什么关系?
  • @lewis4u 好的,我更新我的问题
  • 表示链接http://example.com/01OWUY不存在!它应该在那里???
  • 请展示您的源代码。你需要帮助,所以表现出来。相信我,你的意思会比你目前作为初学者使用的编程术语更清楚。

标签: php cpanel


【解决方案1】:

如果文件不存在,则需要加载 index.php。

这是在 Laravel 等 php 框架中非常常见的做法。

.htaccess 文件

# Not for real file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

为此,您必须拥有mod_rewrite enabled

然后您将在 index.php 文件中获得可用的数据。 你仍然需要sanitize the input$_SERVER["REQUEST_URI"]


轻量级框架推荐包括routing features

流明

https://lumen.laravel.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2011-11-06
    • 2011-08-23
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多