当我尝试进入时
<script type="text/javascript" >
alert("hello");
</script>
在我的PHP页面的评论框中,我没有得到警告框。我在文本文件中看到了脚本,而不是在网页上。由于某种原因<script>
没有执行。我在所有浏览器上都启用了活动脚本和JavaScript。
My PHP code:
<?php //CFPcomments.php
include_once 'CFPheader.php';
if (isset($_POST['content']))
{
$fp = fopen('comments.txt', 'a');
fwrite($fp, $_POST['content'] . "<br />");
fclose($fp);
}
echo nl2br(file_get_contents('comments.txt'));
echo <<<_END
<h3>Post comment</h3>
<form action='CFPcomments.php' method='post'>
<textarea name='content' rows ='3' cols='100'></textarea>
<br/>
<input type='submit' value='Post' />
</form>
_END;
?>
奇怪。我得到了它的工作,不知道为什么。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
alert("hello");
</script>
</head>
<body>
</body>
</html>
当我输入它时,似乎可以正常工作
任何人都知道为什么????很困惑。
答案 0 :(得分:4)
您的nl2br()
最有可能翻译
<script type="text/javascript" >
alert("hello");
</script>
到
<script type="text/javascript" ><br/>
alert("hello");<br/>
</script><br/>
并打破JavaScript代码。
答案 1 :(得分:0)
我为内容分配了一个变量,然后在PHP代码中显示了变量。现在它有效。
<?php //CFPcomments.php
include_once 'CFPheader.php';
setcookie("username", $GLOBALS['user'], time()+3600);
setcookie("password", $GLOBALS['pass'], time()+3600);
if (isset($_POST['content']))
{
$fp = fopen('comments.txt', 'a');
fwrite($fp, $_POST['content'] . "<br />");
fclose($fp);
}
$comment = file_get_contents('comments.txt');
echo <<<_END
<h3>Post comment</h3>
'$comment'
<form action='CFPcomments.php' method='post'>
<textarea name='content' rows ='3' cols='100'></textarea>
<br/>
<input type='submit' value='Post' />
</form>
_END;
?>