我正在开发一个使用PHP的动态网站。当网站用户创建帐户时,应为该用户创建个人资料页面。比方说,一个叫'dev23‘的用户在我的网站上创建了一个帐户,他的个人资料应该可以通过www.mysite.com/dev23链接访问
我如何创建这样的东西?我应该创建一个像userprofile.php这样的标准页面,填充特定于所提供用户名的数据吗?或者我应该为每个用户创建一个永久的网页?
请告诉我解决这个问题的正确方法。
发布于 2013-02-28 03:19:31
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的内容管理系统中很常见,比如WordPress、Joomla等。
发布于 2013-02-28 03:22:30
理想情况下,您应该创建一个处理所有用户的文件。
某些框架,如SkyPHP,通过将有效页面后的属性定义为“queryfolder”(可以像GET/POST变量一样使用)来实现这一点。
如果您没有使用框架,我建议您考虑使用框架来简化您的任务。
SkyPHP还具有一个功能,只需将页面定义为_table.field_name_,即可使用表中的单个字段来提取此数据
它将检查是否有匹配的表和字段可以从中提取数据,并自动提取其字段值与url匹配的记录的id,并将其分配给一个变量。
例如。如果我们有一个名为category的表和一个名为slug的字段,则会创建一个名为_category.slug_.php
的页面
然后是网址..。将在category.slug中查找"watches“,并将记录的标识符拉回为$category_id
,同时$category_slug
也可用。
如果你愿意试一试,它就会解决你的问题。
再次参考这里的文档...http://switchbreak.com/skyphp
https://stackoverflow.com/questions/15126739
复制