如何导航用户更正页面?

时间:2013-01-03 23:29:19

标签: php

<?php

$pages = array('Text1.php', 'Text2.php', 'Text3.php', 'Text4.php', 'Text5.php');

// Track $latest in either a session variable
// $current will be dependent upon the page you're on

$latest = $_SESSION['latest'];
$current = basename(__FILE__); 

$currentPages = array_search($current, $pages);
$latestPages = array_search($latest, $pages);

if ($currentPages - $latestPages > 1 ) {
    ?>
<div class="boxed">
  <a href="">Continue</a>
<br/>
<a href="Text1.php" id="createLink">Create New</a>
</div>

<?



} else {
    // let user do their step
}

?>

我有一个包含五个页面的数组。现在这个页面steps.php被外部化并存储在一个include()中,该Continue存储在5个php页面中,相同的php页面存储在数组中上面的数组中。

现在我要做的是用户假设遵循页面结构。因此,如果用户位于阵列中的某个页面上,则在他们提交了当前所在页面之前,他们无法访问其他页面。

但我的问题是,如果用户点击</a>链接,我如何才能将链接{{1}}链接到正确的页面,以便将用户导航到他们应该正确的页面上。

2 个答案:

答案 0 :(得分:1)

如果您的意思是如何在用户点击Continue时将用户引导至正确的“下一页”,则可以使用currentPages索引输出下一页+ 1

<? if ($currentPages - $latestPages > 1 ) { ?>
<div class="boxed">
  <a href="<?= $pages[$currentPages+1] ?>">Continue</a>
<br/>
<a href="Text1.php" id="createLink">Create New</a>
</div>

<? } ?>

答案 1 :(得分:0)

据我所知,你正试图实现像分页一样的东西?您应该将当前页面,上一页面和下一页面放在SESSION变量中,因此在每个请求中,您都可以检查用户是否在SESSION['current']页面中,并尝试转到SESSION['previous']或者SESSION['next']页面,你也应该向服务器发送一个'hiddenfield'值,以检查用户是否“提交”了页面(当然,你可以简单地阅读你的HTML并找到'隐藏'领域)。或者您可以简单地检查提交按钮的“名称”是否在POST(或GET)中? (if($_POST['NAME_OF_SUBMIT']){}) - 但同样,伪造也很简单。