PHP代码中的Javascript
我在互联网上找到了关于如何显示消息/弹出框的代码PHP代码中的Javascript,php,javascript,Php,Javascript,我在互联网上找到了关于如何显示消息/弹出框的代码 <? echo "<script language=\"JavaScript\">\n"; echo "alert('$msg1')"; echo "alert('$msg2')"; </script>"; ?> 而不是: echo "alert('$msg1')"; echo "alert('$msg2')"; 尝试: 如果要在处理提交之前显示消息,下面是修改后的示例
<? echo "<script language=\"JavaScript\">\n";
echo "alert('$msg1')";
echo "alert('$msg2')";
</script>";
?>
而不是:
echo "alert('$msg1')";
echo "alert('$msg2')";
尝试:
如果要在处理提交之前显示消息,下面是修改后的示例:
<html>
<head>
<script type="text/javascript">
function disp_alert()
{
<?php echo "alert('".$msg1.'\n'.$msg2."');"; ?>
}
</script>
</head>
<body>
<input type="button" onclick="disp_alert()" value="Display alert box" />
</body>
</html>
函数disp_alert()
{
这里还有一些其他问题
- 它使用的Javascript警报框很难看,而且是模态的。这对用户不好。在整个浏览器意义上是模态的,所以(取决于浏览器)当此消息显示在屏幕上时,用户甚至不能在另一个选项卡中执行某些操作;他们必须先将其关闭。例如,最好将消息放置在一个良好的样式中。如果您愿意,您仍然可以使用一些不引人注目的脚本(如jQuery)允许用户隐藏该框
- $msg1和$msg2中的任何撇号都不会在Javascript输出中转义。如果您接受用户输入作为这些变量的一部分,这可能是一个安全问题。您可以使用addslashes()部分修复此问题,但还需要转义字符“您可能希望在使用时修复语法…:)您可能可以删除language属性,因为它已不再使用。您可能需要解释为什么引用了不同的“
\n
”。例如,什么分隔符,如“和”“做和不做。$msg1和$msg2可能包含撇号或字符”@Ben,实际上alex是对的。4.01 Strict要求脚本使用类型
。它甚至不允许语言
。我尝试了这个,但得到了关于“堆栈溢出…”的消息。这是为什么?thx
echo "alert('$msg1')";
echo "alert('$msg2')";
echo "alert('$msg1, $msg2')";
<html>
<head>
<script type="text/javascript">
function disp_alert()
{
<?php echo "alert('".$msg1.'\n'.$msg2."');"; ?>
}
</script>
</head>
<body>
<input type="button" onclick="disp_alert()" value="Display alert box" />
</body>
</html>
<?
echo "<script type=\"text/javascript\">";
echo "alert('" . str_replace("</", "<'+'/", addslashes($msg1).'\n'.addslashes($msg2)) . "');";
echo "</script>";
?>