为什么我的Javascript无法从PHP文件中运行?

时间:2013-03-09 21:05:32

标签: php javascript

我有以下文件。出于某种原因,我的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),但这不是重点。

2 个答案:

答案 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');

然而,这不是一个安全的查询......不是重点。

以下是可能发生这种情况的更多原因:

  1. include("connect-db.php');可能会终止脚本的执行。
    • 如果内部有问题。
  2. 查询可能会死亡。
  3. 输出被重定向到其他地方,在php配置中, 或者在“connect-db.php”
  4. 里面
  5. getRealIPAddress()未记录,可能导致脚本中断。
  6. $_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);
}
?>