我使用PHP已经有几个月了。我已经创建了一个小型PHP站点,其中包含三组用户:管理员、教师和学生。
这是我想要做的:
学生们分成不同的小组。我现在有五个不同的小组。这五组中的每一组都可以访问指向在线课堂的链接。我们可以有不同数量的教室。
假设第一组有五间教室。假设第一组的20名学生在下午5点点击了一个链接。这个链接将他们带到一个在线课堂。我希望将前五个学生重定向到一个教室/链接,将第二个五个学生重定向到另一个教室/链接,将第三个五个学生重定向到另一个教室,以此类推。
我的问题是,用PHP做这件事最好吗?JavaScript?这是过于复杂还是相当微不足道?
干杯!
相同的
发布于 2009-12-18 02:51:46
这最好在服务器端完成。给他们提供相同的链接。在链接后面的页面/ PHP文件中,保存一个计数器,该计数器对请求链接的次数进行计数。根据计数,使用location标头重定向到所需的页面。
发布于 2009-12-18 02:54:20
好吧,假设您正在数据库中存储到目前为止点击该链接的人数:
// Get the number of people who clicked from a database or somewhere
$people_clicked = getCurrentNumber();
// Update the Number in the Database ASAP (As per comments)
updateNumber();
// Divide it by room number
// Make sure it is a whole number
$room = floor($people_clicked/5);
// Define each room into an array
$room_links = array("http://firstroom.com", "http://secondroom.com");
// Redirect
// This redirects people 1-5 to the first item in the array, 6-10 to the second, etc.
header("Location: ".$room_links[$people_clicked]);基本上,您可以将链接重定向到一个页面。该页面抓取到目前为止点击该链接的人数。然后找出他们要去的教室,然后更新数据库中的编号。最后,将它们重定向到正确的位置。
有很多开放的空间,但这些都是基本步骤。
此外,正如注释所说,您可能希望同时读/写号码,以确保它被写得尽可能靠近调用。您可能希望以某种方式锁定DB上的计数器,如果脚本遇到锁定,请休眠一秒钟,然后重试。
发布于 2009-12-18 02:55:55
这里的问题是,您需要一些服务器端状态来实现这一点,即存储在服务器上的某种类型的计数器。
您还需要注意,此计数器可能会被锁定,从读取到更新,否则您的数字将会关闭。如果几个人一起点击链接,他们可能都会读到相同的计数器值,最终可能会有超过5个人在教室里。
https://stackoverflow.com/questions/1923773
复制相似问题