【问题标题】:Combining JavaScript with PHP? [closed]将 JavaScript 与 PHP 结合起来? [关闭]
【发布时间】:2013-03-08 17:03:06
【问题描述】:

这就是我想要做的...... 当用户单击表单中的提交按钮时(我使用的 jQuery Form plugin 工作正常),这应该将 textarea 的内容保存在数据库中。 JavaScript 警报应显示数据库中最后更新的 ID。但是由于某种原因,虽然数据正在保存,但 JavaScript 却无法正常工作,不知道为什么。

HTML 表单(index.html):

<form action="submit.php" method="post" id="myForm">
<input type="submit" name="submit" value="Submit"/>
<div id="edit-box">
<textarea id="editor" name="editor"><?php echo $content; ?></textarea>
</div>
</form>

提交表单(submit.php):

<?

// connect to the database
include('connect-db.php');


// get form data, making sure it is valid
$submit_date = date("Ymd");
$content = mysql_real_escape_string(htmlspecialchars($_POST['editor']));
$ip_address = getRealIPAddress(); //$_SERVER['REMOTE_ADDR'];

// check to make sure both fields are entered
if ($content != '') {

// save the data to the database
mysql_query("INSERT source SET submit_date='$submit_date', ip='$ip_address', content='$content'");
or die(mysql_error());

$lastrow = mysql_query("SELECT MAX(id) FROM source");

echo '<script type="text/javascript"> alert("' . echo $lastrow . '");</script>';

}
?>

另外,我每次都要关闭连接吗?

【问题讨论】:

  • 您应该始终关闭连接。总是。此外,您在连接时使用echo;把它拿出来,这不是 echo 的工作原理。
  • 您使用的是an obsolete database API,应该使用modern replacement
  • "JavaScript 不工作" — 我们看不到 JavaScript。查看 PHP 输出的内容。它会生成你想要的 JavaScript 吗?如果没有,这就是你应该问的问题。是这样,然后向我们展示 JavaScript 而不是 PHP。
  • mysql_real_escape_string(htmlspecialchars — 在将数据输出到 HTML 之前,而不是在将其插入数据库之前,对数据运行 htmlspecialchars
  • @Qix 关于为什么要始终关闭连接的任何参考?一旦脚本完成执行,即使是已弃用的 mysql_* 扩展,AFAIK 也会自动关闭连接。

标签: php javascript mysql


【解决方案1】:

你为什么不使用 'mysql_insert_id' 来获取最后插入的 id?

$lastrow = mysql_insert_id();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    相关资源
    最近更新 更多