在我的侧边栏中添加了用于使用以下代码的活动链接的类:
<?php echo ($_GET['do'] == "") ? "class='"current'"": "";?>
// This is root link
一切正常,但我的error_log文件有错误....
这是在下一个菜单项中:
<?php echo ($_GET['do'] == "add_account") ? "class='"current'"": "";?>
也可以工作,但没有错误!所以我需要一些东西添加到"?或者我怎样才能更好地用 php 在菜单中制作根链接标记?
感谢您的意见!!问候马克罗马特
<?php echo (isset($_GET['do']) && $_GET['do'] == "add_account") ? "class='current'" : ""; ?>
检查它是否存在,然后检查它持有哪个值。
访问 PHP 中尚不存在的变量(或数组索引或对象属性)会触发Notice
(不是错误)。当您访问不存在的$_GET['do']
时就是这种情况。
为了解决这个问题,请替换:
<?php echo ($_GET['do'] == "") ? "class='"current'"": "";?>
跟:
<?php echo !isset($_GET['do']) ? "class='"current'"": "";?>
这同样适用于可能不存在的变量(或数组索引或对象属性)的任何地方。因此,当您检查$_GET['do']
与""
或"add_account"
的相等性时,您需要首先检查是否isset($_GET['do'])
。
这意味着您还需要编辑代码中第二次出现的$_GET['do']
:
<?php echo ($_GET['do'] == "add_account") ? "class='"current'"": "";?>
成为:
<?php echo (isset($_GET['do']) AND $_GET['do'] == "add_account") ? "class='current'" : ""; ?>
就像@Houssni说的。