Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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_Mysql - Fatal编程技术网

PHP为登录用户保存数据

PHP为登录用户保存数据,php,mysql,Php,Mysql,我对PHP很陌生,如果能给我一点关于存储数据的建议,我将不胜感激。我设法创建了一个功能齐全的登录脚本,将注册用户带到他们的“成员区” 接下来,我希望用户能够创建自己的内容并保存它。然后可以通过其成员区域访问这些内容 如果只有一个用户,这对我来说不会是一个问题,但是我如何才能让更多不同的用户使用它呢 编辑:我不是要代码或任何深刻的见解,我只是想知道处理这个问题的一般方法。您希望用户“能够创建自己的内容并保存”,大概是为了让其他用户看到。这意味着您需要存储内容。数据库通常对此最有意义 一般的方法是:

我对PHP很陌生,如果能给我一点关于存储数据的建议,我将不胜感激。我设法创建了一个功能齐全的登录脚本,将注册用户带到他们的“成员区”

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

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

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

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

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


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

有点模糊的问题。由于您要求的是一般方法,所以不打算详细介绍,但这里有一些建议

  • 用户登录后,在会话中保存其用户名(以及其他内容)
  • 创建一个他们可以输入内容的页面。在此页面中,您将检查是否设置了$\u会话['username']。如果没有,请将它们重定向到登录页面
  • 一旦他们输入了他们的内容(即,a),将其保存在某种类型的数据库(即,mysql)中
最基本的mysql表(本例中)将有两列:

  • 身份证
  • 用户名
  • 内容
用户表:

    +----------+--------------+----------------+ 
    |   id     |   username   |   content      |
    +----------+--------------+----------------+
    |    1     |    ondra     | white pony!    |
    +----------+--------------+----------------+
假设您想向世界展示该用户作为内容输入的内容。你会有一个像这样的页面 www.example.com/content.php

在content.php中,您将获取在用户登录后设置的$_会话['username']中存储的用户名的信息

select * from `users` where username = $_SESSION['username']
由于我已经登录,并且有一个会话保存着我的用户名,所以上面的查询可以工作


请注意,以上是超基本的和不安全的。只是想告诉你大致的方向。

你问的是一件非常重要的事情!也许您应该开始阅读关系数据库,然后阅读PHP中的会话变量。祝你好运为什么多个用户的情况会有所不同,而不是一个用户?如果你认为是这样的话,那么你可能对一个用户做得不对。使用将被证明是有益的。使用人员ID并为其分配变量。即:
$id=$\u会话['id']---然后,如果设置了会话,只需获取(回显)列(和/或写入内容)。会话数据是特定于用户的。换句话说,如果会话ID存在,则意味着用户已登录(如果Ondra以这种方式实现登录),但其他用户将无法访问此用户会话中存储的任何数据,如果会话丢失(例如,如果服务器确定会话已超时),则数据将消失。您好,非常感谢您的回复。我可能没有很清楚地解释我的问题,但这似乎非常接近。我已经在使用会话,并且已经在会话中存储了用户名。我没有指出我希望内容是私有的——只有创建它的用户才能看到它并从数据库中读取它。我只是不清楚如何将特定的数据库表/列与特定的用户链接。每个用户在数据库中都有一个唯一的用户名或ID。因此,当我登录时,您将我的用户名存储在会话中($\会话['username'])。然后在要显示我的信息的页面上,您将“从
users
where username$\u SESSION['username']中选择*