首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将用户从一个链接定向到不同URL的好方法是什么?

将用户从一个链接定向到不同URL的好方法是什么?
EN

Stack Overflow用户
提问于 2009-12-18 02:48:24
回答 4查看 120关注 0票数 0

我使用PHP已经有几个月了。我已经创建了一个小型PHP站点,其中包含三组用户:管理员、教师和学生。

这是我想要做的:

学生们分成不同的小组。我现在有五个不同的小组。这五组中的每一组都可以访问指向在线课堂的链接。我们可以有不同数量的教室。

假设第一组有五间教室。假设第一组的20名学生在下午5点点击了一个链接。这个链接将他们带到一个在线课堂。我希望将前五个学生重定向到一个教室/链接,将第二个五个学生重定向到另一个教室/链接,将第三个五个学生重定向到另一个教室,以此类推。

我的问题是,用PHP做这件事最好吗?JavaScript?这是过于复杂还是相当微不足道?

干杯!

相同的

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-18 02:51:46

这最好在服务器端完成。给他们提供相同的链接。在链接后面的页面/ PHP文件中,保存一个计数器,该计数器对请求链接的次数进行计数。根据计数,使用location标头重定向到所需的页面。

票数 3
EN

Stack Overflow用户

发布于 2009-12-18 02:54:20

好吧,假设您正在数据库中存储到目前为止点击该链接的人数:

代码语言:javascript
复制
// 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上的计数器,如果脚本遇到锁定,请休眠一秒钟,然后重试。

票数 0
EN

Stack Overflow用户

发布于 2009-12-18 02:55:55

这里的问题是,您需要一些服务器端状态来实现这一点,即存储在服务器上的某种类型的计数器。

您还需要注意,此计数器可能会被锁定,从读取到更新,否则您的数字将会关闭。如果几个人一起点击链接,他们可能都会读到相同的计数器值,最终可能会有超过5个人在教室里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1923773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档