-6

我目前只想在某个页面上显示链接。网站本身的架构已经超过index.php?menu=<pagename>. 所以我想我可以简单地使用:

<?php 
      echo $_GET["menu"];
      if($_GET["menu"] = "mMenu-Point") : 
?>
         <a href="www.google.ch">Test</a>
<?php 
      endif; 
?>

执行 htm 代码。但是,无论“菜单”的值是什么,似乎都将执行代码。我通过 echo 对此进行了测试,这奇怪地让我得到了正确的值。

我希望你能解释我为什么这不起作用。

非常感谢您的时间和努力!

4

5 回答 5

3

尝试

if($_GET["menu"] == "mMenu-Point") : 

目前您正在设置(=)$_GET["menu"]而不是比较它(==)

于 2013-07-22T14:11:11.550 回答
3

赋值运算符 (=) 用于为变量、数组元素或对象的属性赋值

相等运算符 (==) 用于比较两个值或表达式。它用于比较数字、字符串、布尔值、变量、对象、数组或函数。

您在=这里使用赋值运算符。你需要

if($_GET["menu"] == "mMenu-Point") : 

希望这可以帮助!

于 2013-07-22T14:12:23.497 回答
1

您使用赋值运算符(这是一个等于)您需要使用比较运算符(==)甚至(===对于完全匹配)

http://php.net/manual/en/language.operators.comparison.php

所以你需要使用:

if ($_GET["menu"]) == "mMenu-Point") :

为了与字符串进行比较,我建议使用完全匹配运算符===

于 2013-07-22T14:13:30.357 回答
0

双“=”:

if($_GET["menu"] == "mMenu-Point")
于 2013-07-22T14:12:32.123 回答
0
if($_GET["menu"] == "mMenu-Point") :

拖“=”请

于 2013-07-22T14:12:48.513 回答