我正在为我的导航栏制作一个主动/非主动系统。我只是用if / else做了,因为我的PHP技能并不好。但是现在我有两条PHP规则,但它给了我一个错误:
解析错误:语法错误,意外'}',期待','或';'在C:\ xampp \ htdocs \ De Campagne \包含第36行的\ header.php
<li class="<?php if($page == home){echo 'nav-active'} else{ echo 'nav-unactive'};?>"></li><a href="index.php">Home</a></li> //Line 36
<li class="<?php if($page == leveringen){echo 'nav-active'} else{ echo 'nav-unactive'};?>"><a href="leveringen.php">Leveringen</a></li> //Line 37
提前致谢
答案 0 :(得分:2)
在每个语句后添加它们以指示语句已完成。 e.g。
echo 'nav-active';
但是,你应该在else语句之后添加分号,因为花括号会处理它。
在 home 和 leveringen 周围添加“或”以表示您正在比较字符串值 - 除非这些是您已经在其他地方定义的常量。
<li class="<?php if($page == "home"){echo 'nav-active';} else{ echo 'nav-unactive';}?>"><a href="index.php">Home</a></li>
<li class="<?php if($page == "leveringen"){echo 'nav-active';} else{ echo 'nav-unactive';}?>"><a href="leveringen.php">Leveringen</a></li>
A tweeked demo demonstrating how the links should look like with this(按执行代码)
<强> Offtopic:强>
将ternary operator视为if-else语句的替代。
请记得在过早发生的情况下删除额外的</li>
。
答案 1 :(得分:0)
这应该适合你:
(你忘记了分号!如果home
和leveringen
不是常数,你必须在它们周围加上引号“
<li class="<?php if($page == home){echo 'nav-active';} else{ echo 'nav-unactive';} ?>"></li><a href="index.php">Home</a></li>
<li class="<?php if($page == leveringen){echo 'nav-active';} else{ echo 'nav-unactive';}?>"><a href="leveringen.php">Leveringen</a></li>
如果你想使用三元运算符,请使用:
<li class="<?= (($page == home) ? "nav-active" : "nav-unactive") ?>"></li><a href="index.php">Home</a></li>
<li class="<?= (($page == leveringen) ?"nav-active" : "nav-unactive") ?>"><a href="leveringen.php">Leveringen</a></li>
答案 2 :(得分:0)
你在回声后错过了分号,没有必要;在其他之后
<li class="<?php if($page == home){echo 'nav-active';} else{ echo 'nav-unactive';} ?>"></li>
<a href="index.php">Home</a>
</li>
<li class="<?php if($page == leveringen){echo 'nav-active';} else{ echo 'nav-unactive';}?>">
<a href="leveringen.php">Leveringen</a>
</li>
答案 3 :(得分:0)
我的朋友,
在IF语句中回显后,你缺少分号:
line 36: <li class="<?php if($page == home){echo 'nav-active';} else{ echo 'nav-unactive'};?>"></li><a href="index.php">Home</a></li>
line: 37 <li class="<?php if($page == leveringen){echo 'nav-active';} else{ echo 'nav-unactive'};?>"><a href="leveringen.php">Leveringen</a></li>
您需要阅读已经显示的语法错误。缺少&#39 ;;&#39;。
答案 4 :(得分:0)
你可以简单地实现它:
<li class="<?php echo (($page == 'home') ? 'nav-active' : 'nav-unactive');?>"><a href="index.php">Home</a></li>
答案 5 :(得分:0)
它终于完成了。感谢大家的帮助。我用三元运算符修复它,并纠正CSS对齐。