Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用AJAX将数据记录到数据库_Php_Javascript_Mysql_Html_Ajax - Fatal编程技术网

Php 使用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

我需要使用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
问题,所以我不会;)