Home >php教程 >php手册 >php无刷新发表评论实现代码

php无刷新发表评论实现代码

WBOY
WBOYOriginal
2016-06-07 11:43:161189browse

ajax发表评论的原理很简单就是把以前php提交数据给后面处理程序,然后用户等待再返回页面重新读取数据,我们利用了一个ajax来实现无刷新了,其实就是局部刷新,利用XMLHttpRequest就可以实现局部数据发送了。


PS:PHP+Ajax实现页面无刷新发表评论,希望对初学ajax的PHPer有所帮助。 我们需要一个基本的ajax开发框架,文件ajax.js就包含了这个框架,ajax.js文件我们第一步就有讲述了,只要大家按下面的方法一步步来操作就可以实现无刷新发评论了
var http_request=false;<br>   function send_request(url){//初始化,指定处理函数,发送请求的函数<br>     http_request=false;<br> //开始初始化XMLHttpRequest对象<br> if(window.XMLHttpRequest){//Mozilla浏览器<br>   http_request=new XMLHttpRequest();<br>   if(http_request.overrideMimeType){//设置MIME类别<br>     http_request.overrideMimeType("text/xml");<br>   }<br> }<br> else if(window.ActiveXObject){//IE浏览器<br>   try{<br>    http_request=new ActiveXObject("Msxml2.XMLHttp");<br>   }catch(e){<br>    try{<br>    http_request=new ActiveXobject("Microsoft.XMLHttp");<br>    }catch(e){}<br>   }<br>     }<br> if(!http_request){//异常,创建对象实例失败<br>   window.alert("创建XMLHttp对象失败!");<br>   return false;<br> }<br> http_request.onreadystatechange=processrequest;<br> //确定发送请求方式,URL,及是否同步执行下段代码<br>     http_request.open("GET",url,true);<br> http_request.send(null);<br>   }<br>   //处理返回信息的函数<br>    function processrequest(){<br>    if(http_request.readyState==4){//判断对象状态<br>      if(http_request.status==200){//信息已成功返回,开始处理信息<br>    document.getElementById(reobj).innerHTML=http_request.responseText;<br>   }<br>   else{//页面不正常<br>    alert("您所请求的页面不正常!");<br>   }<br>    }<br>   }<br>    function checkfourm(obj){<br>     var f=document.fourm;<br>     var newfourm=f.newfourm.value;<br>     var username=f.username.value;<br>     var id=f.id.value;<br>     if(username==""){<br>            document.getElementById(obj).innerHTML="<img alt="php无刷新发表评论实现代码" > <font>您必须先登录!</font>";<br>      return false;<br>     }<br>     else if(newfourm==""){<br>      document.getElementById(obj).innerHTML="<img alt="php无刷新发表评论实现代码" > <font>您还没填写评论内容!</font>";<br>      return false;<br>     }<br>     else{<br>      document.getElementById(obj).innerHTML="正在发送数据...";<br>      send_request('sendnewfourm.php?username='+username+'&newfourm='+newfourm+'&id='+id);<br>      reobj=obj;<br>     }<br>    }下面是服务器端的代码<?php <br />   header('Content-Type:text/html;charset=GB2312');//避免输出中文乱码,linux下不需要<br>   $username=trim($_GET['username']);<br>   $newfourm=trim($_GET['newfourm']);<br>   $id=$_GET['id'];<br>   $time=date("Y-m-d");<br>    <br>   include('inc/config.inc.php');<br>   include('inc/dbclass.php');<br>   $db=new db;//从数据库操作类生成实例<br>   $db->mysql($dbhost,$dbuser,$dbpassword,$dbname);//调用连接参数函数<br>   $db->createcon();//调用创建连接函数 <br>   <br>   $addsql="insert into cr_fourm values(0,'$newfourm','$username','$time',$id)";<br>   $db->query($addsql);<br>   echo"<img alt="php无刷新发表评论实现代码" > <font>评论已成功发表!</font>";<br>   //echo $addsql;<br>   $db->close();//关闭数据库连接<br> ?>在给出页面的HTML代码<table> <br>       <tr> <br>         <td><?php echo $rows_p[p_info];?></td> <br>       </tr> <br>       <tr> <br>         <td> <br><br><iframe>" style=HEIGHT:250px;VISIBILITY:inherit;WIDTH:98%;Z-INDEX:2 ></iframe><br> </td> <br>       </tr> <br>       <tr> <br>         <td> <br><br><br>   <div></div> <br>   <form> <br>   <table> <br>           <tr> <br>             <td> 快速发表评论<span>(必须先登陆)用户名:<br>                 <input>" readonly><br>             </span> </td> <br>           </tr> <br>           <tr> <br>             <td><textarea></textarea></td> <br>           </tr> <br>           <tr> <br>             <td> <input><br>               <input><br>             <input>"></td> <br>           </tr> <br>         </table> <br>         </form> <br>         </td> <br>       </tr> <br>     </table>

AD:真正免费,域名+虚机+企业邮箱=0元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn