2014-10-07 37 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