Php 使用AJAX将数据记录到数据库
我需要使用AJAX将用户输入的注释立即保存到数据库中。 这是评论框Php 使用AJAX将数据记录到数据库,php,javascript,mysql,html,ajax,Php,Javascript,Mysql,Html,Ajax,我需要使用AJAX将用户输入的注释立即保存到数据库中。 这是评论框 <div class="comment"> <form action="comment.php"> <textarea cols="35" name="comments"> Give us comment </textarea> <input type="button" value="comment" onclick="ajax
<div class="comment">
<form action="comment.php">
<textarea cols="35" name="comments"> Give us comment </textarea>
<input type="button" value="comment" onclick="ajaxFunction()">
</form>
</div>
请给我们评论
这是php代码
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("continental_tourism");
$comments = $_POST['comments'];
if($comments == "")
echo "Please type your comment";
else
{
$query = "insert into comment(comment) values('$comments') ";
mysql_query($query);
}
return;
?>
我会像这样修改你的HTML
<textarea cols="35" id="comments"> Give us comment </textarea>
<input type="button" value="comment" id="btnSave" />
上面的脚本将向yourphfile.php发送一个ajax请求,该请求的值出现在带有id注释的textarea中。然后,一旦它从服务器页面返回一些数据。它只是提醒它(如果你愿意,你可以在一个单独的div中显示)。您应该在将数据保存到数据库后从php文件中回显响应
正如bracketworks已经提到的,在保存从querystring值读取的数据时,应该小心SQL注入。在将其放入查询之前进行适当的清理。对不起,我不是一个php的家伙。所以我不知道该怎么做
不要忘记将jQuery库包含到页面中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
如果遇到任何脚本错误,您可以使用firebug控制台来调试脚本错误。我会这样更改您的HTML
<textarea cols="35" id="comments"> Give us comment </textarea>
<input type="button" value="comment" id="btnSave" />
上面的脚本将向yourphfile.php发送一个ajax请求,该请求的值出现在带有id注释的textarea中。然后,一旦它从服务器页面返回一些数据。它只是提醒它(如果你愿意,你可以在一个单独的div中显示)。您应该在将数据保存到数据库后从php文件中回显响应
正如bracketworks已经提到的,在保存从querystring值读取的数据时,应该小心SQL注入。在将其放入查询之前进行适当的清理。对不起,我不是一个php的家伙。所以我不知道该怎么做
不要忘记将jQuery库包含到页面中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
如果遇到任何脚本错误,您可以使用firebug控制台调试脚本错误。我认为有必要查看ajaxFunction()
。另外,如果你想让别人帮你放下桌子,只要问问就行了。SQL注入不应该这么容易。请查看准备好的语句。您需要在ajaxfunction()中发送数据。您可以包含ajaxfunction()的代码吗?一般来说,你可以看看prototype或jQuery之类的框架。你看到了吗?@davidz我没有使用Ajax函数。这就是我在这里需要的:)我认为有必要看看ajaxFunction()
。另外,如果你想让别人帮你放下桌子,只要问问就行了。SQL注入不应该这么容易。请查看准备好的语句。您需要在ajaxfunction()中发送数据。您可以包含ajaxfunction()的代码吗?一般来说,你可以看看prototype或jQuery之类的框架。你看到了吗?@davidz我没有使用Ajax函数。这就是我在这里需要的:)@jeroen:当然我将把它添加到答案中,你可以做一些简单的事情,比如运行$escape\u value=mysql\u real\u escape\u string($\u POST['comment']);为了避免这种情况,有很多不同的框架,所以你肯定有自己的选择(即)。但是,我肯定会使用其中一种,而不是自己滚动,因为在不同的浏览器中肯定有隐藏的陷阱。@jeroen:我忘了阻止默认行为。我更新了我的answeer。谢谢你提出来。'preventDefault'比returnfalse更可取;通常我也会建议将jQueryUI改为jQuery,但我不喜欢这些给我codez
问题,所以我不会;)@杰罗恩:当然可以我将把它添加到答案中,你可以做一些简单的事情,比如运行$escape\u value=mysql\u real\u escape\u string($\u POST['comment']);为了避免这种情况,有很多不同的框架,所以你肯定有自己的选择(即)。但是,我肯定会使用其中一种,而不是自己滚动,因为在不同的浏览器中肯定有隐藏的陷阱。@jeroen:我忘了阻止默认行为。我更新了我的answeer。谢谢你提出来。'preventDefault'比returnfalse更可取;通常我也会建议将jQueryUI改为jQuery,但我不喜欢这些给我codez
问题,所以我不会;)