设为首页 收藏本站
查看: 456|回复: 0

[经验分享] php+mysql对话框 可以用于网页实时反馈

[复制链接]

尚未签到

发表于 2016-10-17 03:44:34 | 显示全部楼层 |阅读模式
php+mysql对话框 可以用于网页实时反馈
 可以折叠打开或者隐藏
数据库
 SQL Code

  • CREATE TABLE IF NOT EXISTS `shout_box` (  
  •   `id` int(11) NOT NULL AUTO_INCREMENT,  
  •   `uservarchar(60) NOT NULL,  
  •   `message` varchar(100) NOT NULL,  
  •   `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  
  •   `ip_address` varchar(40) NOT NULL,  
  •   PRIMARY KEY (`id`)  
  • ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;  

 
 

DSC0000.jpg
演示
  
 
XML/HTML Code

  • <div class="shout_box">  
  • <div class="header">php+mysql对话框 <div class="close_btn"> </div></div>  
  •   <div class="toggle_chat">  
  •   <div class="message_box">  
  •     </div>  
  •     <div class="user_info">  
  •     <input name="shout_username" id="shout_username" type="text" placeholder="Your Name" maxlength="15" />  
  •    <input name="shout_message" id="shout_message" type="text" placeholder="Type Message Hit Enter" maxlength="100" />   
  •     </div>  
  •     </div>  


 
JavaScript Code

  • <script type="text/javascript">  
  • $(document).ready(function() {  
  •   
  •     // load messages every 1000 milliseconds from server.  
  •     load_data = {'fetch':1};  
  •     window.setInterval(function(){  
  •      $.post('shout.php', load_data,  function(data) {  
  •         $('.message_box').html(data);  
  •         var scrolltoh = $('.message_box')[0].scrollHeight;  
  •         $('.message_box').scrollTop(scrolltoh);  
  •      });  
  •     }, 1000);  
  •       
  •     //method to trigger when user hits enter key  
  •     $("#shout_message").keypress(function(evt) {  
  •         if(evt.which == 13) {  
  •                 var iusername = $('#shout_username').val();  
  •                 var imessage = $('#shout_message').val();  
  •                 post_data = {'username':iusername, 'message':imessage};  
  •                   
  •                 //send data to "shout.php" using jQuery $.post()  
  •                 $.post('shout.php', post_data, function(data) {  
  •                       
  •                     //append data into messagebox with jQuery fade effect!  
  •                     $(data).hide().appendTo('.message_box').fadeIn();  
  •       
  •                     //keep scrolled to bottom of chat!  
  •                     var scrolltoh = $('.message_box')[0].scrollHeight;  
  •                     $('.message_box').scrollTop(scrolltoh);  
  •                       
  •                     //reset value of message box  
  •                     $('#shout_message').val('');  
  •                       
  •                 }).fail(function(err) {   
  •                   
  •                 //alert HTTP server error  
  •                 alert(err.statusText);   
  •                 });  
  •             }  
  •     });  
  •       
  •     //toggle hide/show shout box  
  •     $(".close_btn").click(function (e) {  
  •         //get CSS display state of .toggle_chat element  
  •         var toggleState = $('.toggle_chat').css('display');  
  •           
  •         //toggle show/hide chat box  
  •         $('.toggle_chat').slideToggle();  
  •           
  •         //use toggleState var to change close/open icon image  
  •         if(toggleState == 'block')  
  •         {  
  •             $(".header div").attr('class''open_btn');  
  •         }else{  
  •             $(".header div").attr('class''close_btn');  
  •         }  
  •            
  •            
  •     });  
  • });  
  •   
  • </script>  


 shut.php
 
PHP Code

  • <?php  
  • require "../../conn.php";  
  •   
  • if($_POST)  
  • {  
  •       
  •       
  •     //check if its an ajax request, exit if not  
  •     if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {  
  •         die();  
  •     }   
  •       
  •     if(isset($_POST["message"]) &&  strlen($_POST["message"])>0)  
  •     {  
  •         //sanitize user name and message received from chat box  
  •         //You can replace username with registerd username, if only registered users are allowed.  
  •         $username = filter_var(trim($_POST["username"]),FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);  
  •         $message = filter_var(trim($_POST["message"]),FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);  
  •         $user_ip = $_SERVER['REMOTE_ADDR'];  
  •           
  •   
  •         //insert new message in db  
  •         if(mysql_query("INSERT INTO shout_box(user, message, ip_address) value('$username','$message','$user_ip')"))  
  •         {  
  •             $msg_time = date('h:i A M d',time()); // current time  
  •             echo '<div class="shout_msg"><time>'.$msg_time.'</time><span class="username">'.$username.'</span><span class="message">'.$message.'</span></div>';  
  •         }  
  •           
  •         // delete all records except last 10, if you don't want to grow your db size!  
  •         mysql_query("DELETE FROM shout_box WHERE id NOT IN (SELECT * FROM (SELECT id FROM shout_box ORDER BY id DESC LIMIT 0, 10) as sb)");  
  •     }  
  •     elseif($_POST["fetch"]==1)  
  •     {  
  •         $results = mysql_query("SELECT user, message, date_time FROM (select * from shout_box ORDER BY id DESC LIMIT 10) shout_box ORDER BY shout_box.id ASC");  
  •         while($row = mysql_fetch_array($results))  
  •         {  
  •             $msg_time = date('h:i A M d',strtotime($row["date_time"])); //message posted time 
  •             echo '<div class="shout_msg"><time>'.$msg_time.'</time><span class="username">'.$row["user"].'</span> <span class="message">'.$row["message"].'</span></div>'; 
  •         } 
  •     } 
  •     else 
  •     { 
  •         header('HTTP/1.1 500 Are you kiddin me?');  
  •         exit();  
  •     }  
  • }  


 
  
原文地址:http://www.freejs.net/article_biaodan_277.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-287016-1-1.html 上篇帖子: UbuntuKylin下安装Jdk,Tomcat,Eclipse,Mysql等 下篇帖子: 添加MySql支持到DAAB 3微软数据访问模块的源代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表