我一直在调试一个php网站,该网站在页面标题navsection的顶部实现导航栏,标题为sidenavcat的侧导航栏。在运行时,我的导航部分显示:
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 25 Hospitality Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 28 Sustainability Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 31 Events Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 34 Press Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 37 Catalogues Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 40 Locations Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 43 Shop Online
header.php中的以下对应行如下
<li <?php echo ($navsection == 'hospitality') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/hospitality.php">Hospitality</a>
</li>
<li <?php echo ($navsection == 'sustainability') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/sustainability.php">Sustainability</a>
</li>
<li <?php echo ($navsection == 'events') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/events.php">Events</a>
</li>
<li <?php echo ($navsection == 'press') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/press.php">Press</a>
</li>
<li <?php echo ($navsection == 'catalogue') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/catalogue.php">Catalogues</a>
</li>
<li <?php echo ($navsection == 'retail') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/code/locations.php">Locations</a>
</li>
<li <?php echo ($navsection == 'register') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/index.php">Shop Online</a>
</li>
您可以提供的任何建议都将非常感谢。谢谢你的时间
答案 0 :(得分:0)
错误信息不是直接的。在执行ternary
运算符时,未定义变量$navsection
。
一种可能的解决方案是将该变量定义为Session变量并按以下方式访问它:
$_SESSION["navsection"]
所以你的代码看起来像那样:
<li <?php echo ($_SESSION["navsection"] == 'register') ? ' class="current"' : ''; ?> >
<a href="http://localhost/NOALivingWebsite/index.php">Shop Online</a>
</li>
注意:确保在上述检查之前定义了session
变量navsection
,可能在另一个.php
文件中。
您需要在html文件中使用this一个。这应该在你的html文件的顶部使用,如:
<?php
session_start( );
$_SESSION["navsection"] = "register"; // Temporary fix.
?>
<html>
.
.
.
这样您就可以访问会话变量了。