【发布时间】:2020-09-28 04:42:36
【问题描述】:
我正在做一个项目,我需要有多个用户的登录系统,每个用户都将登录并将表单条目保存在一个文件中。我最多有 10 个内部用户,这个项目仅供内部用户使用。
这就是想法-
- 我有一个带有两个文本框和一个保存按钮的简单表单。此页面上还有一个
logout链接。此页面名为index.php。 - 一旦用户在
login.php页面上成功登录,他将被重定向到具有上述表单的index.php页面。 - 现在用户将在
index.php页面的文本框中输入一些条目,然后单击保存按钮。单击保存按钮后,数据将以 json 格式保存在文件中,并弹出警告框,显示写入文件中的数据(或者如果写入文件中有任何问题)。 - 单击
logout按钮后,它会重定向回login.php页面。
现在整个系统适用于多个用户,如果多个用户登录,则在给定时间只允许一个用户将条目保存在文件中。
案例 1:
- 如果“userA”第一次登录成功,那么他可以将表单条目保存在一个文件中。
- “userA”退出。
案例 2:
- 现在“userB”登录成功。然后他应该能够通过覆盖将表单条目保存在同一个文件中。
- “userB”退出。
案例 3:
- 现在“userA”再次成功登录。他正在努力改变表格。
- “userB”突然尝试从不同的浏览器登录。然后他应该能够看到一个提示告诉
userA is logged in. Do you want to take over?。如果他点击ok按钮,那么他应该可以成功登录。但是如果他点击cancel按钮,他将无法登录。 - 假设“userB”点击确定按钮并且他现在也登录了。此时“userA”和“userB”都已登录。因此,一旦“userB”登录,如果“userA”尝试单击表单中的保存按钮,尝试将条目保存在文件中,那么它应该弹出告诉您“由于用户 B 现在登录,写访问被撤销”。所以用户 A 仍然可以看到表单,但由于他的写入权限被撤销,因此应该无法保存任何内容。
案例 4:
- 如果“userC”也成功登录。现在我们所有三个用户都登录了。此时应该只有“userC”能够进行更改,因为“userA”和“userB”的写访问权限将被撤销。
- 但如果“userC”退出,那么“userB”在尝试保存时应该能够保存表单。因为“userB”的访问权限是最后被撤销的,所以如果“userC”退出,他将恢复访问权限,但“userA”的访问权限仍将被撤销。
问题陈述
php 服务器中有什么东西可以在特定时间后终止我的会话。
【问题讨论】:
-
搜索 php session lifetime 以获得所有答案
-
@JaromandaX 我明白了。有趣的是,当我在我的 Mac 上运行时,我使用的是 XAMPP,并且在我的 php.ini 文件中,我也有 24 分钟的默认时间,但它根本不会让我退出,但是当我在公司服务器上运行这个确切的代码时,它会让我退出24 分钟后的样子。为什么这在我的 mac 和我的公司服务器之间有所不同?如果这是关于这个文件的,那么它在两种情况下都应该类似,对吧?
-
是的,我应该在我的问题中提到这一点,但因为我认为可能不需要它。对不起,我结束了。不过我会添加这个细节。现在我在想,在使用 XAMPP 服务器时,可能由于某种原因没有考虑 mac php.ini 文件?
-
我现在已经删除了关于其他服务器的 cmets
标签: javascript php html jquery ajax