0

我正在尝试设置一个仅提取 URL 一部分的页面,但我什至无法让它在我的页面上回显。

因为我用 PHP 编码,我更喜欢动态页面,所以我的网址通常有“index.php?page=whatever”,我只需要“whatever”部分。

有人能帮我吗。这是我到目前为止所拥有的,但就像我说的那样,我什至无法让它回响。

$suburl = substr($_SERVER["HTTP_HOST"],strrpos($_SERVER["REQUEST_URI"],"/")+1);

为了回应它,我当然有这个:

echo "$suburl";
4

3 回答 3

2

如果您需要获取page参数的值,只需使用$_GET全局变量访问该值即可。

$page = $_GET['page']; // output => whatever
于 2020-08-29T16:41:56.097 回答
1

你的网址是index.php?page=whatever,你想从中得到什么

如果零件在后面 ( abc.com/xyz.php?......) ,你可以使用 $_GET['name']


为您的网址index.php?page=whatever

利用 :

$parameter= $_GET['page']; //( $parameter 的值将是任何值)


为您的网址index.php?page=whatever&no=28

利用 :

$parameter1= $_GET['page']; //( $parameter1 的值将是任何值)

$parameter2= $_GET['no']; //( $parameter2 的值为 28 )


请在使用 $_GET 接收到的参数之前对其进行清理,否则您可能会发现恶意脚本/代码注入的麻烦

对于 url:index.php?page=whatever&no=28

喜欢 :

if(preg_match("/^[0-9]*$/", $_GET['no'])) {
   $parameter2= $_GET['no'];
}

它将检查,如果GET参数no是数字(仅包含 0 到 9 个数字),则仅将其保存在 $parameter2 变量中。这只是一个示例,请根据您的要求进行检查和验证。

于 2020-08-29T17:06:06.033 回答
1

您可以使用基本的 PHP 函数parse_url例如:

<?php

$url = 'http://site.my/index.php?page=whatever';

$query = parse_url($url, PHP_URL_QUERY);

var_dump(explode('=', $query));

此处的工作代码示例:PHPize.online

于 2020-08-29T16:28:30.363 回答