从URL中获取值的方法

5

我想从URL中获取值,通过ID选择数据库中的数据。 我需要id的值。

例如,如果我打开www.example.com/index.php?id=12。 我想要获得id = 12的值在数据库中。

如果我打开www.example.com/index.php?id=7

我想要获得id = 7的值在数据库中,依此类推。

5个回答

20

网站网址:

http://www.example.com/?id=2

代码:

$id = intval($_GET['id']);

10

在PHP中,获取URL中的变量有两种方法:

当你的URL是:http://www.example.com/index.php?id=7 时,你可以通过 $_GET['id'] 或者 $_REQUEST['id'] 命令获取这个 id 并将其存储在 $id 变量中。

让我们来看一下:

// url is www.example.com?id=7

//get id from url via $_GET['id'] command:
$id = $_GET['id']

同样的将会是:

//get id from url via $_REQUEST['id'] command:
$id = $_REQUEST['id']

不同之处在于变量可以通过URL或POST方法传递到文件。

如果变量通过URL传递,则可以使用$_GET['variable_name']$_REQUEST['variable_name']获取它,但如果变量是通过POST提交的,则需要使用$_POST['variable_name']$_REQUEST['variable_name']来获取。

因此,如您所看到的,$_REQUEST['variable_name']可用于两种方式。


你的示例中仍然使用了 $_REQUEST,但如果你想获取 GET 数据,应该使用 $_GET。这意味着你不应该使用 $_REQUEST - djot
1
@djot,我同意你关于“GET”的看法。使用确切的方法缓存变量总是更好,但我只是为了让@Vaja理解变量如何发送到文件并如何缓存而写的。 - zur4ik
感谢大家,很抱歉我无法给你们所有人评分,但是最简单和最先点赞的那个。谢谢大家。 - Vaja Axobadze

1
你可以使用 $_GET 数组来获取该值。因此,id 值将存储在 $_GET['id'] 中。
因此,在您的情况下,您可以将该值存储在 $id 变量中,方法如下:
$id = $_GET['id'];

这对我没用。我不知道为什么,但变量变为空了... :| - Raul Chiarella

1
您也可以获取查询字符串值,如下所示:

$uri =  $_SERVER["REQUEST_URI"]; //it will print full url
$uriArray = explode('/', $uri); //convert string into array with explode
$id = $uriArray[1]; //Print first array value

1
您可以使用全局变量 $_GET 访问这些值。
//www.example.com/index.php?id=7
print $_GET['id']; // prints "7"

您应该检查所有“传入”的用户数据 - 比如这里的 “id” 是一个 INT 类型。不要直接在 SQL 中使用它(容易受到 SQL 注入攻击)。

感谢大家,很抱歉无法评分每一个人。但是对于那些回答简单并且第一时间给出赞的人,特别的感谢。 - Vaja Axobadze
我是第一...好吧,第二 ;) - djot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接