注册后生成配置文件页面-PHP
可能重复:注册后生成配置文件页面-PHP,php,profiles,Php,Profiles,可能重复: 一旦用户注册,我希望他们选择的用户名用于生成任何人(不仅仅是用户)都可以查看的唯一配置文件页面。如果“bob”注册,他将在website.com/bob上拥有个人资料 我看过类似的问题,这些问题都是为了解决.htaccess的问题,但它们没有描述如何解决这个问题。如果您使用的是PHP,您可以将用户信息存储在数据库中,并使用fopen('bob.PHP')在目录中创建一个文件。然后让bob.php调用显示用户信息所需的任何函数 您可能需要随机化用户url,因为肯定会有重复的url 我
一旦用户注册,我希望他们选择的用户名用于生成任何人(不仅仅是用户)都可以查看的唯一配置文件页面。如果“bob”注册,他将在website.com/bob上拥有个人资料
我看过类似的问题,这些问题都是为了解决.htaccess的问题,但它们没有描述如何解决这个问题。如果您使用的是PHP,您可以将用户信息存储在数据库中,并使用fopen('bob.PHP')在目录中创建一个文件。然后让bob.php调用显示用户信息所需的任何函数 您可能需要随机化用户url,因为肯定会有重复的url
我不相信。htaccess可以做到这一点。您不需要在注册时生成唯一的个人资料页面。您可以简单地创建一个脚本,如
profile.php
,它通过访问/profile.php?user=bob
获取参数user
,动态显示给定用户的配置文件。例如:
<?php
$u = $_GET['user'];
echo "<h2>Profile of ".htmlentities($u)."</h2>";
?>
Jimmy Sawczuck指出了一个答案,但为了解释这一点: 在这种情况下,您希望实现的是使用url中的用户名访问配置文件页面。 为每个用户创建php文件很麻烦,可能会导致bug(可维护性也很差) 您可以创建一个profile.php脚本,该脚本使用名为
username
的参数。所以你的链接将是
mysite.com/profile.php?username=bob
但是,它不是您想要的url。为了保存您,存在Web服务器的Rewrite Mod(Mod_Rewrite for apache,搜索其他Web服务器的相应实用程序)
此模块允许您重写url以匹配所需内容:
例如:webbrowser中的website.com/bob被重写为服务器的website.com/profile.php?username=bob
这意味着您的用户可以拥有漂亮/微小的url,但Web服务器会将其更改为调用所需的脚本。所以两人都很开心
要进行此重写,请使用具有重写规则的模块。如果使用apache,则使用mod_rewrite并将规则放入网站配置文件或.htaccess目录中
有关规则,请查看Jimmy Sawczuck给出的链接
关于对不起,Kevin,此解决方案将导致每个用户一个文件。使用htaccess,您将拥有一个用于所有用户的文件。使用重写规则,htaccess完全可以完成这一任务。您能解释一下为什么您认为这是一个错误的答案吗?它将放在您的www主目录中的
.htaccess
文件中。
mysite.com/profile.php?username=bob