PHP如果/ else切换不起作用

las*_*rew 2 php if-statement

目标:当URL等于"enhanced.php"时,尝试将翻转按钮状态保持为"ON".

问题:当URL等于"enhanced.php"时,按钮状态不会保持"打开"状态.

(按钮可正确用作翻转)


sidemenu.php sidemenu.php用作所有页面上的PHP包含(我不知道这是否有所作为

<?php

$script = $_SERVER['SCRIPT_NAME'];


//Set the default state to OFF and only turn ON if we are on the current URL.

$enhancedstate = OFF;


$pos = strpos($script, "enhanced.php");
if($pos === true) {
$enhancedstate = ON;
}


?>


 <div class="sideMenu">   

   <a href="enhanced.php" 
      onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','/images/Button_ON_01.gif',1)">
      <img src="/images/Button_<? echo $enhancedstate; ?>_01.gif" name="Image1" border="0">
   </a>
Run Code Online (Sandbox Code Playgroud)

当当前URL为"enhanced.php"时,任何人都会看到为什么按钮状态不会保持"ON"的任何原因.TIA

Roc*_*mat 12

strpos 成功时返回int,失败时返回FALSE.

更改if($pos === true)if($pos !== false).

===运算符比较值和类型.因此,成功时strpos返回一个int,它可能具有与TRUE相同的值,但它不是同一类型.

编辑:正如其他人所说,你应该改变:

$enhancedstate = OFF$enhancedstate = 'OFF'

PHP是非常宽容的,并且允许你使用未引用的字符串,但你应该尽量不要,除非ON和OFF实际上是常量.

  • 在一系列正确答案中成为最快的要点;) (2认同)