关于PHP的一些小错误我很害怕

时间:2015-01-08 11:02:52

标签: php

我正在为我的导航栏制作一个主动/非主动系统。我只是用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  

提前致谢

6 个答案:

答案 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)

这应该适合你:

(你忘记了分号!如果homeleveringen不是常数,你必须在它们周围加上引号“

<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对齐。