【发布时间】:2013-03-26 13:30:13
【问题描述】:
我有一个功能可以收集有关您在接下来的十分钟内是否有任何回电给公司的信息。一切正常,除了一件事。如果找到回调,我想显示 JavaScript 警报。我将 $_SESSION['callback'] 设置为 'yes' 并重定向。
在第 #2 页,我检查 $_SESSION['callback'] 是否为“是”,如果是,则输出 JS 代码并将 $_SESSION['callback'] 设置为“否”。
这并不像人们想象的那样有效。它将 $_SESSION['callback'] 设置为 'no' 但它不输出 JS 代码,即使我在单独的 if 子句中将 $_SESSION['callback'] 设置为 'no' 也是如此。
这是有问题的代码:
if(@$_SESSION['callback'] == 'yes') {
echo "<script type=\"text/javascript\">alert('Du har en återkoppling till detta företag inom tio minuter!');</script>";
$_SESSION['callback'] = 'no';
};
【问题讨论】:
-
使用
true和false可能会更好。 -
是不是因为警报文本中的特殊字符?
"Du har en återkoppling till detta företag inom tio minuter!" -
检查浏览器控制台中的错误
-
@PrasanthBendra:不,不是。我也试过
echo "test";,但也没有用。我目前正在尝试布尔值。 -
如果你想养成生成高质量代码的习惯,你应该摆脱默认使用
@的习惯。即使在这种情况下,也可能会出现您没有看到的错误,因为您隐藏了它。例如,您可能没有运行session_start(),当您尝试从$_SESSION访问变量时会显示为通知。