Когда я пытаюсь войти
<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>
Когда я набираю это, кажется, работает
У кого-нибудь есть идея, почему???? Очень смущенный.
Я назначил переменную содержимому, а затем отобразил переменную в 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;
?>
ваш nl2br()
, скорее всего, переводит
<script type="text/javascript" >
alert("hello");
</script>
в
<script type="text/javascript" ><br/>
alert("hello");<br/>
</script><br/>
и взломать код JavaScript.
window.alert
является частью jQuery?