当我运行此代码时,警报无法显示值,而是弹出一个空警报框。
<?php
$x = 20;
$y = "Hello World!";
$list = array();
$list[0] = "January";
$list[1] = "February";
$list[2] = "March";
$list[3] = "April";
$list[4] = "May";
?>
<script type="text/javascript">
alert("JS code executed");
alert(<?php $x ;?>);
alert(<?php echo $list[3];?>);
</script>
答案 0 :(得分:1)
首先,你没有回应$x
。
其次,你需要引用JavaScript的字符串,所以:
alert("<?php echo $list[3]; ?>");
会起作用。
答案 1 :(得分:0)
您应该使用浏览器的开发工具来查看javascript正在发生的事情。
如果你看一下Console,你会看到类似的东西:
Uncaught ReferenceError: April is not defined
这是因为你忘了在你的剧本上加上行情,你也忘了回复$ x。正确的代码是:
<script type="text/javascript">
alert("JS code executed");
alert("<?php echo $x ;?>");
alert("<?php echo $list[3];?>");
</script>
@Slaks表示此代码存在XSS漏洞,但这取决于$x
和$list
变量的来源是否安全。