我有以下文件。出于某种原因,我的JavaScript(在PHP'echo'标签内)不起作用:
HTML(index.php):
<form action="submit.php" method="post">
<div id="edit-box">
<INPUT type="submit" name="save-text" id="save-text" value="Save">
<textarea id="editor" name="editor">
<?php echo $content; ?>
</textarea>
</div>
</form>
PHP(submit.php):
<?php
include('connect-db.php');
$submit_date = date("Ymd");
$content = mysql_real_escape_string(htmlspecialchars($_POST['editor']));
$ip_address = getRealIPAddress();
if ($content != '') {
mysql_query("INSERT source SET submit_date='$submit_date', ip='$ip_address', content='$content'")
or die(mysql_error());
// The following line is not working! I need help here!
echo '<script type="text/javascript"> alert("Your file saved!");</script>';
mysql_close($connection);
}
?>
“submit.php”没有任何其他PHP或HTML脚本/标记。我知道我使用过时的PHP / MySQL API(而不是PDO / MySQLi),但这不是重点。
答案 0 :(得分:0)
应该打印警报。 确定要打印脚本吗?我可以看到它可能会死于 查询中的错误。
如果不是这样,你在connect-db.php中包含了什么, 它可能是你所需要的文件中的某个地方弄乱了 输出缓冲区..
另外我很确定sql是不正确的:
INSERT source SET submit_date='$submit_date', ip='$ip_address', content='$content'
INSERT INTO source (submit_date, ip, content) values('$submit_date','$ip_address','$content');
然而,这不是一个安全的查询......不是重点。
以下是可能发生这种情况的更多原因:
include("connect-db.php');
可能会终止脚本的执行。
getRealIPAddress()
未记录,可能导致脚本中断。$_POST['editor']
中可能存在可能导致故障的虚假内容
sql to die。答案 1 :(得分:-1)
尝试以下代码
<?php
include('connect-db.php');
$submit_date = date("Ymd");
$content = mysql_real_escape_string(htmlspecialchars($_POST['editor']));
$ip_address = getRealIPAddress();
$content = $_POST["editor"];
if ($content != '') {
mysql_query("INSERT source SET submit_date='$submit_date', ip='$ip_address', content='$content'")
or die(mysql_error());
// The following line is not working! I need help here!
echo '<script type="text/javascript"> alert("Your file saved!");</script>';
mysql_close($connection);
}
?>