我正在尝试创建一个论坛,其中有人拥有自己的帐户,而我似乎并不理解这个概念。
在我们创建以用户命名的文件之后,我们是否创建了一个新的PHP文件并将所有代码写入其中,或者是其他内容。
我无法理解它。
答案 0 :(得分:2)
您想要的是数据库和URL重写的组合。
<强>数据库强>
数据库用于存储大量数据。如果您使用的是MySQL之类的数据库,则可以从PHP获取并将数据放入数据库中。 (这可能是最容易学习的内容)有许多指南可用于连接数据库以及获取和放入数据。你解决的问题是,你不需要为每个用户都有一个PHP文件,你只需要一个,并且在其中,你不存储来自用户的任何数据,你只是与数据库进行交互。 / p>
快速谷歌搜索应该弹出数千条关于如何连接MySQL数据库的指南。请确保您遵循使用MySQLi或PDO的指南,这两个驱动程序比标准MySQL驱动程序好很多。 (您将看到函数的不同,使用MySQLi,您将拥有名为mysqli_connect()
的函数。我之所以说这是因为在最新版本的PHP中不推荐使用MySQL驱动程序,并且它具有一些安全性使用MySQLi或PDO可以轻松避免的问题。
网址重写
要让您的网址像http://www.example.com/user/deniz_zoeteman
,甚至http://www.example.com/deniz_zoeteman
一样简单,您需要进行网址重写。现在这在很大程度上取决于您使用的是哪种Web服务器,但如果您与托管公司合作,那么很有可能它将成为Apache。您可以在配置文件中使用类似这样的示例:
RewriteEngine on
RewriteRule ^/(.*)$ /user.php?user=$1 [L]
有很多关于URL重写的指南,例如this一个。如果您使用上面的示例,您可以获取在PHP中放入URL的用户名,如下所示:
$username = $_GET['user'];
答案 1 :(得分:1)
您正在寻找database
。您不需要为每个用户编写一个php文件,而是需要一个php文件从数据库中获取所需的信息并显示它们。
请记住,每次你复制代码时,都会出现严重错误,你应该退一步找到更好的解决方案。数据库允许您执行所需的操作。
答案 2 :(得分:1)
在虚拟主机或.htaccess文件中使用mod_rewrite
,您可以执行以下操作:
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]
哪会将http://abcde.com/index.php?page=aviyankhadka重写为http://abcde.com/aviyankhadka
要帮助生成RewriteRule
,请查看here
顺便说一下,这个答案假设您通过索引文件路由请求。