Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注册后生成配置文件页面-PHP_Php_Profiles - Fatal编程技术网

注册后生成配置文件页面-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