最近写了关于实现php+ajax留言板实时更新的功能,在此分享
首先index.php中
<html>
<?php
session_start();
$user=$_SESSION['username'];//通过之前的页面传过来的全局变量,可以自行替换变量值
?>
<form action="deal.php" method="get">
<textarea name="pinlun" id="fb" style="width: 500px;height: 70px;"></textarea>
<input type="button" value="发布" id="sub" /> //这里类型只能是button,submit还是会进入刷新
</form>
<script src="jquery.min.js"></script>//引入jquery文件库
<script type="text/javascript">
$(function(){
$("#sub").click(function(){$.post("deal.php",{username:"<?php echo $user ?>",content:$("#fb").val()},function(data){
//这里需要传几个值就写几个,我的用户名变量是通过登录之后传值过来的,所以这里混编php
if(data.status){
var str="<p>用户:"+data.username+"</p><p>内容:"+data.content+"</p>"//将显示的内容赋给一个变量
$("#show").prepend(str);//在id为show的div下展示
}else
{
alert("评论失败");
}
},'json');
});
});
</script>
<div id=show>//这里用于显示你的留言
<?php
//连接数据库~~不写了
$sql="select * from 表";
$res=mysqli_query($link,$sql);
while($rows=mysqli_fetch_array($res)){
echo '<p>用户:'.rows['name'].'</p>
<p>留言内容:'.rows['content'].'</p>';
}
?>
</div>
</html>
接下来是处理页面deal.php
<?php
$link=mysqli_connect('用户名','账号','密码');
if(!$link){exit.("数据库连接失败")}
mysqli_set_charset($link,'utf8');//设置字符集
myslqi_select_db($link,'数据库名');
$pl=$_POST['content'];//index.php传来的留言信息的值
$user=&_POST['username'];//同样是传来的用户名的值
$sql="insert into 表名(name,content) values('$user','$pl')";//将用户名和留言内容添加到表中
$res=mysqli_query($link,$sql);//执行sql
if($res){
echo'{"username":"'.$user.'","content":"'.$pl.'","status":"1"}';//将值赋给变量 于status判断,传的变量应是username与content
}
?>
注意的点写jquery语句时传参的值,若是文本则用$("#fb").val()
#fb为你的文本框id,以及data.status的判断,在处理页面需要赋予一个为真的status用于将值传给主页jquery中用于判断且将值传输到主页上。