为什么<script>标签不能在这个PHP页面上工作?</script>

时间:2014-04-16 04:26:54

标签: javascript php html forms

当我尝试进入时

<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>

当我输入它时,似乎可以正常工作

任何人都知道为什么????很困惑。

2 个答案:

答案 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;
?>