如何将用户导航到正确的页面


how to navigate user to correct page?

<?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被外部化并存储在一个存储在 5 个 php 页面中的include()中,与存储在数组中上述数组中的 php 页面相同。

现在我试图做的是用户应该遵循页面结构。因此,如果用户位于数组中的一个页面上,则在提交当前所在的页面之前,他们无法访问另一个页面。

但我的问题是,如果用户单击Continue链接,我如何才能让链接</a>链接到正确的页面,以便将用户导航到他们应该正确所在的页面。

如果您的意思是如何在用户单击"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>
<? } ?>

我了解,您正在尝试实现分页之类的东西?您应该将当前、上一页和下一页放在 SESSION 变量中,因此在每个请求中,您可以检查用户是否在SESSION['current']页面中,并尝试转到SESSION['previous']SESSION['next']页面,您还应该向服务器发送一个"hiddenfield"值,以检查用户是否"提交"了该页面(当然, 人们可以简单地读取您的 HTML 并找到"隐藏"字段(。或者您可以简单地检查提交按钮的"名称"是否在 POST(或 GET(中?(if($_POST['NAME_OF_SUBMIT']){}(——但同样,伪造也很简单。