我对这东西有点菜鸟。
但我一直在浏览,我看到类似这样的网站
www.store.com/product.php?id=123
这真的很酷。但我该怎么做呢?
我坚持使用这样的东西
www.store.com/product/product123.php
如果你能告诉我我该怎么做,那就太棒了!
我对这东西有点菜鸟。
但我一直在浏览,我看到类似这样的网站
www.store.com/product.php?id=123
这真的很酷。但我该怎么做呢?
我坚持使用这样的东西
www.store.com/product/product123.php
如果你能告诉我我该怎么做,那就太棒了!
你正在看的是一个$_GET
论点。
在您的 PHP 代码中,尝试编写如下内容:
$value = $_GET['foo'];
然后像这样打开你的页面:
hello.php?foo=123
这将设置$value
为123
。
你需要在$_GET
这里使用。
如果您使用以下内容:
?id=123
那么这将是如何使用它和结果
$_GET['id'] (returns the 123)
您可以根据$_GET
需要使用任意数量的参数,例如:
?id=123&foo=bar&type=product
$_GET
是 url 中包含哪些参数的数组,因此您可以像使用数组一样使用它。
您可能想查看 www.php.net 上的文档,尤其是这些页面:http ://www.php.net/manual/en/reserved.variables.php
具体来说,看看$_GET和$_POST,它们是从浏览器向服务器传输信息的两种常用方法。(简而言之,GET参数在URL中指定,就像你的问题一样,而POST参数是“从视图中隐藏的”,但可以包含更多数据 - 通常是表单的内容等,例如你发布的文本框你的问题在)。
这些称为 URL 参数(其中包含的称为查询字符串),它们不是 PHP 独有的,但可以在 PHP 中使用$_GET
superglobal访问。
同样,您可以使用超全局获取 POST 参数$_POST
,但在 POST 请求中,这些参数不会附加到 URL中。
注意:通常,出于可用性目的(因此也是 SEO 目的),您希望尽可能避免使用查询字符串。如今,标准做法是使用 URL 重写来向用户显示友好的 URL。因此,您的应用程序可能会接受如下 URL:
/products.php?id=32
但用户只看到:
/product/32
您可以通过使用mod_rewrite
或类似的 URL 重写功能在内部将友好的 URL 转换为以前的查询字符串 URL 来做到这一点,而无需用户键入查询字符串。
创建一个product.php
使用以下代码调用的文件:
<?php
echo "The argument you passed was: " . $_GET['id'];
?>
现在在浏览器中运行此 URL:
http://<yourdomain>/product.php?id=123
你就会明白 $_GET 是如何工作的。