1

我对这东西有点菜鸟。

但我一直在浏览,我看到类似这样的网站

www.store.com/product.php?id=123

这真的很酷。但我该怎么做呢?

我坚持使用这样的东西

www.store.com/product/product123.php

如果你能告诉我我该怎么做,那就太棒了!

4

5 回答 5

1

你正在看的是一个$_GET论点。

在您的 PHP 代码中,尝试编写如下内容:

$value = $_GET['foo'];

然后像这样打开你的页面:

hello.php?foo=123

这将设置$value123

于 2012-07-02T07:08:06.880 回答
1

你需要在$_GET这里使用。

如果您使用以下内容:

?id=123

那么这将是如何使用它和结果

$_GET['id'] (returns the 123)

您可以根据$_GET需要使用任意数量的参数,例如:

?id=123&foo=bar&type=product

$_GET是 url 中包含哪些参数的数组,因此您可以像使用数组一样使用它。

于 2012-07-02T07:11:11.027 回答
0

您可能想查看 www.php.net 上的文档,尤其是这些页面:http ://www.php.net/manual/en/reserved.variables.php

具体来说,看看$_GET$_POST,它们是从浏览器向服务器传输信息的两种常用方法。(简而言之,GET参数在URL中指定,就像你的问题一样,而POST参数是“从视图中隐藏的”,但可以包含更多数据 - 通常是表单的内容等,例如你发布的文本框你的问题在)。

于 2012-07-02T07:29:07.317 回答
0

这些称为 URL 参数(其中包含的称为查询字符串),它们不是 PHP 独有的,但可以在 PHP 中使用$_GETsuperglobal访问。

同样,您可以使用超全局获取 POST 参数$_POST,但在 POST 请求中,这些参数不会附加到 URL中。

注意:通常,出于可用性目的(因此也是 SEO 目的),您希望尽可能避免使用查询字符串。如今,标准做法是使用 URL 重写来向用户显示友好的 URL。因此,您的应用程序可能会接受如下 URL:

/products.php?id=32

但用户只看到:

/product/32

您可以通过使用mod_rewrite或类似的 URL 重写功能在内部将友好的 URL 转换为以前的查询字符串 URL 来做到这一点,而无需用户键入查询字符串。

于 2012-07-02T07:10:52.677 回答
0

创建一个product.php使用以下代码调用的文件:

<?php
echo "The argument you passed was: " . $_GET['id'];
?>

现在在浏览器中运行此 URL:

http://<yourdomain>/product.php?id=123

你就会明白 $_GET 是如何工作的。

于 2012-07-02T07:12:11.753 回答