2

我有一些代码可以显示您最近在我的网站上查看过的页面,但是如果您还没有查看过页面,我会收到一个错误,即

Notice: Undefined index: pageurl in C:\xampp\htdocs\project1\recent.php on line 97

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\project1\recent.php on line 97

我需要它说您还没有查看页面而不是收到此错误这是我目前拥有的代码

<?php

foreach( $_SESSION['pageurl'] as $key=>$value) {
echo '<a href="'.$value.'">Click here </a>';
echo 'to see last page which is '."'localhost".$value."'".' <br />';
}
?>

有任何想法吗?

4

3 回答 3

2
if(isset($_SESSION['pageurl']))
  foreach( $_SESSION['pageurl'] as $key=>$value) {
  echo '<a href="'.$value.'">Click here </a>';
  echo 'to see last page which is '."'localhost".$value."'".' <br />';
  }
于 2013-03-20T18:40:51.893 回答
2

在检查会话之前添加 session_start

if (!isset($_SESSION))
 session_start ();

if (isset($_SESSION['pageurl'])) { 
  foreach( $_SESSION['pageurl'] as $key=>$value) {
      echo '<a href="'.$value.'">Click here </a>';
      echo 'to see last page which is '."'localhost".$value."'".' <br />';
  }
} else {
    echo "You haven't viewed a page yet";
}

希望这可以帮助 :)

于 2013-03-20T18:43:48.423 回答
0

您应该在开始 foreach 之前检查是否设置了 pageurl 以及它是否是一个数组。

<?php
if(isset($_SESSION['pageurl']) && is_array($_SESSION['pageurl']))
    foreach( $_SESSION['pageurl'] as $key=>$value) {
        echo '<a href="'.$value.'">Click here </a>';
        echo 'to see last page which is '."'localhost".$value."'".' <br />';
    }
?>
于 2013-03-20T18:45:14.073 回答