Php 面包屑状步骤导航

Php 面包屑状步骤导航,php,navigation,breadcrumbs,Php,Navigation,Breadcrumbs,我有件小事情搞不懂 我有一个页面,其中有6个步骤。 在接下来的步骤处于非活动状态而之前的所有步骤都处于活动状态的情况下,如何创建类似面包屑的导航 即 步骤1>步骤2>步骤3>步骤4>步骤5>步骤6 当我在第4步时会是这样 步骤1步骤2步骤3步骤4>步骤5>步骤6 这些活动步骤的url中会有一个参数指向该步骤页面 即,步骤1的页面参数为page=intro 希望有人能帮忙 -------解决方案------- session_start(); $_会话['page'][]=$_获取[“page”]

我有件小事情搞不懂

我有一个页面,其中有6个步骤。 在接下来的步骤处于非活动状态而之前的所有步骤都处于活动状态的情况下,如何创建类似面包屑的导航

步骤1>步骤2>步骤3>步骤4>步骤5>步骤6

当我在第4步时会是这样

步骤1步骤2步骤3步骤4>步骤5>步骤6

这些活动步骤的url中会有一个参数指向该步骤页面

即,步骤1的页面参数为page=intro

希望有人能帮忙

-------解决方案-------

session_start();
$_会话['page'][]=$_获取[“page”];
$steps=数组(
“selecthouse”=>“Vælg hustype og tagform”,
“选择屋顶瓷砖”=>“Vælg tagsten”,
“angleinput”=>“Tagvinkel”,
“rfinish”=>“标记detaljer”,
“inputdims”=>“Indsæt mål”,
“材料列表”=>“材料列表”,
);
foreach($key=>$value的步骤){
如果(在数组($key,$\u会话['page']){
回声'>';
}否则{
回声$value.“>”;
}
}

有很多方法可以做到这一点,最好的方法实际上取决于代码的其余部分

我个人对这种线性导航的偏好是将用户访问的页面存储在会话中的数组中,例如

<?php
  session_start();
  $_SESSION['pages'][] = $_SERVER['REQUEST_URI'];
?>

然后,您只需在“面包屑”中的每个项目周围放置一个if-in数组,例如

<?php
  if (in_array('/step1.php',$_SESSION['pages'])) {
    ?>
    <a href="/step1.php">Step 1</a>
    <?php
  } else {
    ?>
    Step 1
    <?php
  }
?>

第一步
编辑

从您新发布的代码中,有一个结束标记
,但没有开始标记

至于恢复到某个步骤,您最好执行以下操作:

<?php
  $stepskeys = array_keys($steps);
  $_SESSION['pages'] = array(
    0 => $stepskeys[1],
    1 => $stepskeys[2],
    2 => $stepskeys[3]
  );
?>


这会将阵列重置回第3步。

在我的头顶上,我会想到阵列中的
;检查数组中是否存在链接,如果是,请应用类和链接,否则请保留它,因为我已根据您的答案编辑了我的问题!似乎有用!非常感谢。后续问题!当假设我在第6步并返回到第3步时,我可以取消设置一些键吗。然后步骤4、5和6将再次处于非活动状态。感谢您发现缺少的开始标记:)我已接受您的答案!
<?php
  $stepskeys = array_keys($steps);
  $_SESSION['pages'] = array(
    0 => $stepskeys[1],
    1 => $stepskeys[2],
    2 => $stepskeys[3]
  );
?>