PHP为登录用户保存数据


PHP saving data for logged in users

我是PHP的新手,如果能给我一条关于存储数据的建议,我将不胜感激。我设法创建了一个功能齐全的登录脚本,将注册用户带到他们的"成员区"。

接下来,我希望用户能够创建自己的内容并保存它。然后可以通过他们的成员区域访问这些内容。

如果只有一个用户,这对我来说就不是问题了,但我如何才能让更多不同的用户使用它呢?

编辑:我不是要求代码或任何深刻的见解,我只是想知道一个处理这个问题的一般方法。

您希望用户"能够创建自己的内容并保存它",大概是为了让其他用户看到。这意味着您需要存储内容。数据库通常对此最有意义。

一般的方法是:当用户保存自己的内容时,您将其提交到数据库中。然后,当另一个用户想要查看您的用户的内容时(可能是通过访问URL中包含您的用户ID的配置文件页面),您将从数据库中查询该内容。

一个好的PHP模型-视图-控制器框架将使您能够将数据库数据作为PHP对象进行操作。有几种这样的框架可用;试试看!

一个模糊的问题。不打算详细说明,因为你要求一个一般的方法,但这里有一些指针
  • 用户登录后,将其用户名(以及其他内容)保存在会话中
  • 创建一个他们可以在其中输入内容的页面。在此页面中,您将检查是否设置了$_SESSION['username']。如果没有,请将它们重定向到登录页面
  • 一旦他们输入了自己的内容(即a),就将其保存在某种数据库中(即mysql)

最基本的mysql表(对于本例)有两列:

  • id
  • 用户名
  • 内容

用户表:

    +----------+--------------+----------------+ 
    |   id     |   username   |   content      |
    +----------+--------------+----------------+
    |    1     |    ondra     | white pony!    |
    +----------+--------------+----------------+

假设你想向世界展示用户输入的内容。你会有这样的页面www.example.com/content.php

在content.php中,您可以获取存储在用户登录后设置的$_SESSION['username]中的用户名的信息,

select * from `users` where username = $_SESSION['username']

由于我已经登录,并且有一个会话保存着我的用户名,所以上面的查询会起作用。

请注意,以上内容非常基础,而且不安全。只是想告诉你大致的方向。