1

我是 PHP 新手,在编写了几个 CMS 之后,我想尝试一些更复杂的东西。

我想做的是创建一个脚本,借此我可以创建一个包含函数、类和表单等的整个用户区域。类似于用户的个人管理面板,但在他们自己的目录中。目的是然后在网页中创建自己的网页。我认为这是一项常见的任务,因为我猜这是所有博客、投资组合网站、facebook、youtube 所做的。

我一直在试验mkdir fopen fwrite和类似的命令,但我不知道如何使用这些 - 没有大量代码 - 来创建功能齐全的用户区域,如管理面板。

写完这篇文章后,我看到了缩放这个问题。如果用户总是在创建文件,那么这最终会占用大量的服务器空间。更好的方法是通过像 Codeigniter 这样的框架中的 MVC 吗?

或者最好的方法是使用php copy()

4

1 回答 1

1

所以你想在没有大量代码的情况下制作 facebook。祝你好运 :)

但是要创建一个单独的用户区域,您不需要为这些用户物理创建文件。您有一个存储每个用户的数据的数据库,并且您有一个为正确的用户选择正确数据的 php 文件。

下面的例子是一个非常简单的概念证明,不应该直接使用。

你有一个表用户

id | Name
1  | Elisa
2  | Hugo

和一个表格内容

id | UserId | MyBlogEntry
1  | 1      | Hello, this is my blog
2  | 1      | Hello, this is my 2nd blog
3  | 2      | I dont like blogging

现在您有一个名为 usercontent.php 的页面,它接受用户名作为变量。你称之为usercontent.php?user=Eliseusercontent.php?user=Hugo

内容:请记住,为简单起见,我省略了所有验证检查。您需要确保有有效用户并且没有 SQL 注入

<?
$user = isset($_GET['user']) ? $_GET['user'] : ''

if (empty($user)) {
  echo 'I dont know this user';
  exit;
}

echo $user.'\'s Blog<hr>';

$query = "SELECT * FROM content WHERE UserId=(SELECT Id FROM users WHERE name='".$user."')";

//execute mysqli query

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
  echo '<p>' . $row['MyBlogEntry'] . '<p>';
}
?>

对于 Elisa,输出将是这样的

Elisa's blog
---------------------
Hello, this is my blog

Hello, this is my 2nd blog

而对于雨果

Hugo's blog
---------------------
I dont like blogging
于 2013-05-07T07:32:33.147 回答