我正在使用 PHP 开发一个动态网站。当网站的用户创建帐户时,应为该用户创建个人资料页面。假设一个名为“dev23”的用户在我的网站上创建了一个帐户,他的个人资料应该可以通过链接 www.mysite.com/dev23 访问
我如何创造这样的东西?我应该创建一个像 userprofile.php 这样的标准页面,其中填充特定于所提供用户名的数据吗?或者我应该为每个用户创建一个永久网页?
请让我知道解决这个问题的正确方法。
我正在使用 PHP 开发一个动态网站。当网站的用户创建帐户时,应为该用户创建个人资料页面。假设一个名为“dev23”的用户在我的网站上创建了一个帐户,他的个人资料应该可以通过链接 www.mysite.com/dev23 访问
我如何创造这样的东西?我应该创建一个像 userprofile.php 这样的标准页面,其中填充特定于所提供用户名的数据吗?或者我应该为每个用户创建一个永久网页?
请让我知道解决这个问题的正确方法。
www.mysite.com/dev23 是公开的还是只对登录用户可见?
如果它只对登录用户可见,您可以创建一个 myprofile.php 文件,该文件从会话中检索登录用户并相应地检索数据。
如果它是其他用户可以点击的 URL,您可能需要某种带有传递数据的 userprofile.php 页面来识别要查看的用户。例如,url 可能是 www.mysite.com/userprofile.php?user=dev23。如果您将 Apache 用于您的 Web 服务器,您可以查看使用mod_rewrite使 URL 更漂亮。因此,您可以将 URL www.mysite.com/user/dev23 路由到 userprofile.php?user=dev23 并且您的 PHP 处理相同。它只是使 URL 比裸查询字符串更易于使用的一种方法。这在许多基于 PHP 的 CMS 系统中很常见,例如 WordPress、Joomla 等。
理想情况下,您应该创建一个处理所有用户的文件。
某些框架(如SkyPHP)通过将有效页面后的属性定义为“查询文件夹”来实现这一点,该查询文件夹可以像 GET/POST 变量一样使用。
如果您不使用框架,我可能会建议您考虑使用一个来简化您的任务。
SkyPHP 还有一个功能,可以使用表中的单个字段来提取此数据,只需将页面定义为 _table.field_name_
它将检查是否有匹配的表和字段可以从中提取数据,并将自动提取字段值与 url 值匹配的记录的 id 并将其分配给变量。
示例...如果我们有一个名为 category 的表和一个名为 slug 的字段,我们将创建一个名为_category.slug_.php
然后 url... http://mydomain.com/watches将在 category.slug 中查找“ watches ”并拉回记录的标识符,因为$category_id
它$category_slug
也可用。
如果您愿意试一试,它将解决您的问题。
再次参考这里的文档... http://switchbreak.com/skyphp