我的代码 -
<?php
session_start();
$_SESSION['errors']="failed";
?>
<head>
function myfunc()
{
alert(<?php echo $_SESSION['errors']; ?>);
}
</head>
<body onload="myfunc();">
但警告信息没有弹出。
答案 0 :(得分:7)
代码中有两个错误:
<script>
代码试试这个:
<?php
session_start();
$_SESSION['errors']="failed";
?>
<head>
<script>
function myfunc()
{
alert('<?php echo $_SESSION["errors"]; ?>');
}
</script>
</head>
您可能希望将myfunc()
置于window.load
事件或某个click
事件中进行测试。此外,正如ThiefMaster正确建议的那样,您可能希望在addslashes
中使用$_SESSION["errors"]
函数。{/ p>
注意:假设代码的文件扩展名为 php 。
答案 1 :(得分:2)
PHP将打印出failed
,它不会打印出字符串分隔符,因此请确保将它们放入:
function myfunc()
{
alert("<?php echo $_SESSION['errors']; ?>");
}
答案 2 :(得分:2)
事实上,在javascript中插入PHP代码片段是不可能的。因为它是无意义的JS引擎不懂PHP 您只能使用PHP 生成整个javascript。
所以,要提出这样的问题,你必须提供
答案 3 :(得分:1)
此外,你应该确保你的php输出不包含任何破坏javascript字符串的内容:
function myfunc()
{
alert('<?php echo addcslashes($_SESSION['errors'], "'/\\"); ?>');
}
请注意,我也转义正斜杠以确保</script>
不会结束脚本标记(除了转义正斜杠以防止这种情况之外没有其他好方法。)