1
<?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()存储在5个php页面中的an中,相同的php页面存储在数组中的数组中。

现在我想做的是用户应该遵循页面结构。因此,如果用户在数组中的一个页面上,他们将无法访问另一个页面,直到他们提交了他们当前所在的页面。

但我的问题是,如果用户点击Continue链接,我怎样才能获得链接</a>到正确页面的链接,以便将用户导航到他们应该正确访问的页面。

4

2 回答 2

1

If you mean how you can direct the user to the correct 'next' page when they click on Continue, you can output the next page using the currentPages index + 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>

<? } ?>
于 2013-01-03T23:55:35.373 回答
0

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

于 2013-01-03T23:53:14.933 回答