我对一些PHP会话问题感到困扰。
我有一个主页面,我开始会话,一些链接到第二页。我想跟踪页面(面包屑),所以我将它们存储在会话中。 当我测试时,这适用于某些人,而不适合其他人......我没有看到问题。
第1页:(index.php)
<?php
session_start();
if (!isset($_SESSION['kruimels'])){
$_SESSION['kruimels']["home"]="index.php");
}else{
unset($_SESSION['kruimels']);
array_push($_SESSION['kruimels']["home"]="index.php");
}
?>
<a href='sub.php?id=1'>item1</a>
<a href='sub.php?id=2'>item2</a>
<a href='sub.php?id=3'>item3</a>
<a href='sub.php?id=4'>item4</a>
&#13;
第二页:(sub.php)
<?php
session_start();
/* I get the name of the page by querying the DB...*/
if (isset($_SESSION['kruimels'])){
$_SESSION['kruimels'][$nameOfPage]="sub.php?id=".$_GET['id'];
}
?>
<?php
foreach ($_SESSION['kruimels'] as $naam => $path) {
echo "<li><a href='$path'>$naam</a></li>";
}
?>
&#13;
奇怪的是,有些时候会被保存,有时它并没有... 我没有看到问题...
帮助? 问候, 马亭
答案 0 :(得分:0)
您无需为此使用基本名称启动会话($ _ SERVER ['REQUEST_URI']);这个功能的PHP。这将为您提供当前文件的名称。 在此之后,你得到了你的文件名,然后用(。)和你想要显示的地方回显 而不是尝试下面的代码
$pagename = explode('.', basename($_SERVER['SCRIPT_NAME']));
echo $pagename[0];