【发布时间】:2017-03-23 07:42:28
【问题描述】:
我有以下Index.php 文件的代码。每当用户单击 HTML 页面中的链接时,它就会重定向到 Index.php 页面。该页面随机重定向到三个不同的页面,即:“index_control.php”、“index_non_intrusive.php”、“index_intrusive.php”。 但是,现在,我想做的是:当用户首先点击链接时,它应该导航到数组中的第一个链接(index_control.php),当第二个用户点击链接时,然后数组中的第二个链接(index_non_intrusive.php)等等。当第四个用户点击链接时,它应该再次从数组(index_control.php)重定向到第一个链接。所以排序导航不是随机的。如果有人可以提供一些提示或帮助来实现这一点,那就太好了。
Index.php
<html>
<head>
<title>
abc
</title>
</head>
<?php
$links= array("http://abc/index_control.php","http://abc/index_non_intrusive.php","http://abc/index_intrusive.php");
$randomLink = $links[rand(0, count($links)-1)];
header("Location: {$randomLink}");
exit();
?>
<html>
【问题讨论】:
-
添加一个计数器,每次用户点击加 1,当达到 3 时,重新设置
-
我想做序列导航,因为我想在每个页面上分配相同数量的用户(例如:总共 150 个用户,所以每个页面应该可供 50 个用户访问)。在随机导航中这是不可能的。
-
如果您想知道重定向到哪里,计数器是一种方法。检查计数器是 1、2 还是 3。
-
首先,您应该阅读此php.net/manual/en/session.examples.basic.php,然后您应该能够创建您的解决方案。但只有当您了解 Web 服务器和用户之间的通信是如何工作的。
-
你想要达到的目标叫做A/B Testing。这个问题有无数的解决方案,用 PHP 或 Javascript 编码。此功能集成在 Google Analytics 中(您可以在行为/实验下找到它)并为您完成所有工作:它使用您配置的权重将传入流量拆分到您的索引页面,并向您显示统计信息以了解每个分支的执行情况。而且,额外的好处是,不需要编写一行代码(除了复制粘贴它提供的 Javascript 集成代码)。