0

我希望有人可以用外行的方式帮助解释这个过程,因为我仍然是“新手”并且正在学习。

我已经构建了一个带有后端的基本内容管理系统,并且我正在尝试创建一个系统,让数十名用户可以访问一项服务,将数据保存到他们的帐户,并在以后选择时调用这些数据。

到目前为止,我已经完成了登录、注册和表单(用于保存数据)。我只是在一点我不知道如何在 MySQL 中保存这些数据(顺便使用 PHP),以便几十个用户都可以保存数据而不是一个。

例如:数十名用户访问 WordPress 并可以创建帖子,但无法查看其他用户在其帐户上发布的帖子。

我了解如何设置一个帐户来保存数据,而不是多个。

任何建议将不胜感激。

PS如果有人有任何指南/教程/推荐文章要阅读,我将非常感激!

4

1 回答 1

0

我认为您在 PHP 的工作方式中缺少一个相当重要的部分。

每个单独的用户使用您的应用程序的不同实例。例如,如果我进入并登录到应用程序,而您也这样做,我们将(例如)设置变量 $_SESSION,但我将拥有$_SESSION['idUser'] = 3,而您将拥有$_SESSION['idUser'] = 5. 他们不会知道彼此的存在。

因此,基本上,您需要为单个用户考虑您的应用程序,并具有适当的限制。这意味着,例如,如果您想创建编辑配置文件页面,您将$idUser = $_SESSION['idUser']在 SQL 查询中使用来选择/更新/插入适当的信息。

这是一个示例查询:

// view users profile page
$idUser = intval($_SESSION['idUser']);
$query = "SELECT * FROM `users` WHERE id = {$idUser}";

// edit profile checks/database update
$idUser = intval($_SESSION['idUser']);
$userData = $_POST['user']; // let's say all your inputs have a name="user[...]"
// !!! validation for the user data !!!
$query = "UPDATE `users` SET col1='{$userData[col1]}', col2='{$userData[col2]}' WHERE id = {$idUser}";

希望这会有所帮助,如果您需要进一步的说明,请告诉我。

PS:不要忘记在 SQL 查询中使用数据之前正确转义数据,并使用 mysqli 或 PDO 扩展(不要使用 mysql,因为它已被弃用,并将在未来的 PHP 版本中删除)。

于 2013-01-18T09:31:04.343 回答