我需要知道从数据库中检索数据的更好方法。例如,在我正在开发的页面中,当我单击检查产品按钮时,该特定产品的 id 被传递到产品页面,例如http://domainname.com/products.php?id=1。显然这是检索数据的不好方法。如何在不使用 ?id=1 的情况下将此 id 值传递给产品页面。
谢谢
我需要知道从数据库中检索数据的更好方法。例如,在我正在开发的页面中,当我单击检查产品按钮时,该特定产品的 id 被传递到产品页面,例如http://domainname.com/products.php?id=1。显然这是检索数据的不好方法。如何在不使用 ?id=1 的情况下将此 id 值传递给产品页面。
谢谢
显然这是检索数据的不好方法
这是完全不真实的。在这种情况下,使用 $_POST 而不是 $_GET 会使纯 URL 无法访问特定产品的页面。如果我想将 id 为 2321 的产品链接分享给我在 facebook 上的朋友怎么办?
看看这个网站,例如 londonperfumeshop.co.uk/diesel-zero-plus-men。我猜的产品是从数据库中检索到的,但没有通过域传递的 id。这是如何在php中完成的?– 用户2257461
这称为URL 重写。基本上,它不是 PHP 特性。它是一个 Web 服务器功能。URL 重写背后的概念是将一种 URL 模式映射到另一种 URL 模式。例如。我要映射
products/(.*) -> products.php?alias=$1
如果有人尝试访问以下链接:
它将映射到以下链接:
所以基本上,它仍然是一个 $_GET。虽然使用别名使您的 URL 看起来更漂亮、更友好,但存在一个小问题。别名可以更改。假设您想重命名您的产品,因此也应该更改别名。它会导致旧链接无效。为了克服这个问题,您可以将别名与 id 结合使用。
products/([0-9]+)-(.*) -> products.php?id=$1
如果有人尝试访问以下链接:
它将映射到以下链接:
使用ID和别名提高查询速度;并且产品的 ID 将始终保持不变(更改产品 ID 是不常见的)