2014-10-07 60 views
0

嘿,我檢查,如果從JavaScript的$ _SESSION變量的存在..會話檢查isset停止的JavaScript

  if (<?php echo isset($_SESSION["variable"]); ?>){ 
      //alert ("lol"); 

     } 

如果它存在,它工作正常,否則它使Java腳本錯誤。 例如

alert("<?php echo isset($_SESSION["variable"]); ?>"); 

給空警戒,但它並沒有給出錯誤

我失去了什麼?

+1

那麼區別在於你的第二條語句在內插的php blob附近有引號,但是第一條語句沒有。你是否在控制檯檢查了第一段代碼中的錯誤? – Pointy 2014-10-07 22:37:42

+1

此外,這是一種,一個傻傻的方式來生成代碼。在PHP中執行'if'語句會更好,並且只有在會話變量存在時纔會生成警報。 – Pointy 2014-10-07 22:38:22

+0

嗯是的thnx。修復。我的NetBeans不給JavaScript錯誤這樣的IM還挺在黑暗中:// – Student 2014-10-07 22:40:32

回答

1

echo將不會輸出false所以你得到if()這是一個語法錯誤。你可以使用var_export(isset($_SESSION['variable']))相反,它要麼輸出truefalse

+0

得到它的工作,如果{ 警報(「LOL( 」「) 「); } – Student 2014-10-07 22:41:03

1

你也可以做以下的isset($ _ SESSION [「變」])不會導致一個字符串,你可以重複

alert("<?php echo isset($_SESSION["variable"])?"lol":""; ?>"); 

alert("<?= isset($_SESSION["variable"])?"lol":""; ?>"); 
+0

該警報只是檢查,如果語句的工作的xD。 thxn仍答案 – Student 2014-10-07 23:13:56

+0

呀它已經回答太另一種方式 - 也許應該扔了它的註釋。但是,這是一個輸出調試的簡單方法。 – airtech 2014-10-07 23:17:08