如何让多个用户访问后端和保存数据?

时间:2013-01-18 09:19:23

标签: php jquery mysql

我希望有人可以用非专业人的术语帮助解释这个过程,因为我仍然是“新的”并且在学习。

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

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

示例:数十名用户访问WordPress并可以创建帖子,但无法在其帐户中看到其他用户帖子。

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

非常感谢任何建议。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

以下是一个示例查询:

// 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版本中删除)