PHP模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论功能(一)
我们大多数人都发过新闻,想必大家都知道发新闻、回复评论、删除新闻的全过程。作为初学者,模仿这些功能有点复杂。至少,表与表之间的关系一定要明确~ ~
我们先理清思路:
(1)用户用session登录并读取当前用户——目的是:用户可以发布动态信息,重点是显示用户好友和自己发布的动态信息,并按照发布时间进行排序。
(2)制作发布动态框,实现发布动态功能
(3)显示用户和他的朋友已经发布配对的动态信息,并根据发布时间从近到远显示
(4)每次动态后做一个评论按钮和删除按钮;实现动态评论、回复、删除(下一篇用斜体,否则太长)
要使用的表格:
(1)用户表:
(2)好友列表
(3)动态表
我会先分块分析代码,最后完整附上首页代码,不然不知道逻辑可能会有点乱~ ~ ~ ~
步骤1:实现简单登录
login.php页
meta charset=' UTF-8 ' title/title style # body { height : 300 px;宽度: 300 px;margin: 200px汽车;}/style div id=' body ' form method=' post ' action=' log in-cl . PHP ' username:input type=' text ' name=' uid ' brbr password:input type=' password ' name=' pwd ' Brin put type=' submit ' value=' log in '/form/。
(2)login-cl.php页面:(通过会话访问用户名)
!- ?PHP session _ start();$ uid=$ _ POST[' uid '];$ pwd=$ _ POST[' pwd '];要求./db . class . PHP ';$db=新DB();$sql='从用户中选择pwd,其中uid=' { $ uid }$ mm=$ db-strquery($ SQL);var _ dump($ mm);if($mm==$pwd!empty($ pwd)){ $ _ SESSION[' uid ']=$ uid;header(' location : main . PHP ');}else{ echo '错误的用户名或密码!}?第二步:登录后,布局发布动态框
(1)发布前,判断会话是否获得值,如果没有,返回登录页面,如果获得值,将显示“欢迎,xx”的字体(后面的名称全部显示为拼音,不再读取汉字名称)
!- ?PHP session _ start();$ uid=if(空($ _ SESSION[' uid ']){ header(' location : log in . PHP ');退出;} $ uid=$ _ SESSION[' uid '];Echo“欢迎”:span class=' qid ' yh=' { $ uid } '-{ $ uid } ';(2)
!-write dynamic-div id=' xdt ' pppublishing dynamic:/p textareacols=' 100px ' rows=' 5px ' name=' xdt ' class=' xdt '/textareinputtype=' submit ' value=' publish ' id=' FB '/div取得的效果:
第三步:显示用户及其好友发布的动态信息,根据发布时间由近及远显示
要点是:
(1)动态显示仅针对登录用户及其好友,非好友不显示。因此,应该注意处理页面上的sql语句
(2)根据出版时间阅读阅读信息,最近出版时间较高。
首先:
!-容纳动态内容-div class=' FDT ' p style=' color : brown;Font-family: '微软雅黑';font-weight:粗体;font-size : 20px;边距-bottom : 20px;边距-top : 20px;'朋友:/pp /pdiv id='nr'/div /div第二个:
//发布新闻时,将新闻内容写入数据库,刷新页面$ ('# FB ')。单击(function () {var dt=$(')。xdt’)。val();var uid=$('。qid’)。attr(' yh ');$ .ajax ({url:' main-cl.php ',data: {dt3360dt},type:' post ',datatype3360' text ',success 3360 function(data){ alert('发布动态成功!');window . location . href=' main . PHP ' rel=' external nofollow ' rel=' external nofollow ';} });})对应的main-cl.php页面:
!- ?PHP session _ start();$ uid=$ _ SESSION[' uid '];$ dt=$ _ POST[' dt '];$ date=date(' Y-m-d h : I :s ');要求./db。上课。PHP ';$db=新DB();$sql='插入qqdongtai值(“”、“{$uid}”、“{$dt}”、“{ $ date }”)”;$db - query($sql,0);$sql='从qqdongtai中选择*其中uid='{$uid} '或uid in(从qqfriends中选择uid,其中fname=(从QQ用户中选择名字,其中uid=' { $ uid } ')';//echo $ SQL;$ arr=$ db-strquery($ SQL);回声$ arr?然后:
//刷新页面时将内容读取出来,并按发表时间读出来$.ajax({ url:'sx-cl.php ',dataType:'TEXT ',success :函数(data){ var hang=data。trim().拆分(' | ');var str=for(var I=0;ihang . lenhei){=' var=' lie=' hang[I].split('^');'str=' str '=' ' ' div=' class=' a ' span class=' XM ' lie[1]'/span发表动态:div class=' b ' lie[2]' p/pdiv class=' c '发表动态时间:“lie[3]”/div;str=str ' div id=' d ' button class=' BTN BTN-主' data-toggle=' modal ' data-target=' # myModal '评论/buttonspana href='del.php?代码=' rel='external nofollow' lie[0]'删除动态/a/span/div ';} $('#nr ').html(字符串);} });/div/hang。长度;i )sx-cl.php页面:
!- ?PHP session _ start();$ uid=$ _ SESSION[' uid '];$ date=date(' Y-m-d h : I :s ');要求./db。上课。PHP ';$db=新DB();//选取该用户和该用户好友的动态,并按时间顺训读出$sql='从qqdongtai中选择*其中uid='{$uid} '或uid in(从qqfriends中选择uid,其中fname=(从QQ用户中选择名字,其中uid='{$uid} '))按时间desc排序;//echo $ SQL;$ arr=$ db-strquery($ SQL);回声$ arr?由上面可知:登录用户是丽丝,由好友表可以知道丽丝的好友只有张三和刘钊,那么显示的动态只能有李思,张三,和刘钊的。现在看一下效果及数据库~~~~
第四步:用引导程序添加模态框用来评论动态
(1)引入文件:
!-引入引导程序的钢性铸铁文件-链接类型='text/css' rel='样式表href='./bootstrap-3。3 .7-dist/CSS/bootstrap。量滴CSS ' rel='外部不跟随' rel='外部不跟随'!-引入射流研究…包- !-引入引导程序的射流研究…文件- (2)用模态框做评论效果:
!-评论模态框(Modal)-div class=' Modal fade ' id=' MyModal ' tabindex='-1 '角色=' dialog ' aria-labelledby=' myModalLabel ' aria-hidden=' true ' div class=' Modal-dialog ' div class=' Modal-content ' div class=' Modal-header ' button type=' button ' class=' close ' data-misse=' Modal ' aria-hidden=' true '/button H4 class=' Modal-title ' id=' myModalLabel '评论/H4/div textarea类=' modal-body ' cols=' 80px '/textarea div class=' modal-footer ' button type=' button ' class=' BTN BTN-默认' data-misse=' modal '关闭/button button type=' button ' class=' BTN BTN-主qdhf '确定/button /div /div! - /.模态-内容- /div!- /.模态/div实现效果:(样式比较简陋)
点击"评论":
到这一步基本就能实现动态的发布和显示好友动态了~~~~未完待续-评论和评论回复见下一篇随笔~~~
主页面全部代码:
!DOCTYPE html html head meta charset=' UTF-8 ' title/title!-引入引导程序的钢性铸铁文件-链接类型='text/css' rel='样式表href='./bootstrap-3。3 .7-dist/CSS/bootstrap。量滴CSS ' rel='外部无跟随' rel='外部无跟随'/!-引入射流研究…包-脚本src='http:/jquery-3。2 .0 .js /脚本!-引入引导程序的射流研究…文件-脚本src='http:/bootstrap-3。3 .7-dist/js/bootstrap。量滴js /脚本样式# body { height: auto宽度: 1000像素;余量: 0px自动;} # xdt { height: 200px宽度宽度:1000像素边界: 1px固体皇家蓝;} .fdt{位置:相对;最小高度:300 px宽度: 1000像素;} /*谁发表动态样式*/.a{ float:左侧;最小高度:40 px宽度: 1000像素;边框-底部: 2px实心棕色;} .XM { font-size : 18px颜色:棕色;字体粗细:粗体;} /*发表动态样式内容*/.b{ float:左侧;文本-左对齐:高度:100 px线高: 50px} /*发表时间与回复删除样式*/.c { height:30px宽度: 800像素;向左浮动:font-size : 12px向右文本对齐:} # d { height:30px宽度: 200像素;向左浮动:font-size : 15px文本对齐:居中;} /style /head body div id='body '?PHP session _ start();$ uid=if(空($ _ SESSION[' uid ']){ header(' location :登录。PHP’);退出;} $ uid=$ _ SESSION[' uid '];//这种方法可以取到uid。
"回声"欢迎:'.span class=' qid ' yh=' { $ uid } ' { $ uid }/span ';-写动态- div id='xdt' p发表动态:/p!-form方法=' post ' action=' main-cl。PHP '-textarea cols=' 100px ' rows=' 5px ' name=' xdt ' class=' xdt '/textarea输入类型=' submit ' value='发表id='fb' /!- /form - /div!-容纳动态内容-div class=' FDT ' p style=' color : brown;字体系列: '微软雅黑;字体粗细:粗体;font-size : 20px边距-底部: 20px边距-top : 20px;朋友动态:p div id='nr'/div /div!-评论模态框(Modal)-div class=' Modal fade ' id=' MyModal ' tabindex='-1 '角色=' dialog ' aria-labelledby=' myModalLabel ' aria-hidden=' true ' div class=' Modal-dialog ' div class=' Modal-content ' div class=' Modal-header ' button type=' button ' class=' close ' data-misse=' Modal ' aria-hidden=' true '/button H4 class=' Modal-title ' id=' myModalLabel '评论/H4/div textarea类=' modal-body ' cols=' 80px '/textarea div class=' modal-footer ' button type=' button ' class=' BTN BTN-默认' data-misse=' modal '关闭/button button type=' button ' class=' BTN BTN-主qdhf '提交评论/button /div /div! - /.模态-内容- /div!- /.模态/div /div /body/html脚本/刷新页面时将内容读取出来,并按发表时间读出来$.ajax({ url:'sx-cl.php ',dataType:'TEXT ',success :函数(data){ var hang=data。trim().拆分(' | ');var str=for(var I=0;ihang . lentigi){ var lie=hang[I].split('^');str=str ' div class=' a ' span class=' XM ' ' lie[1]'/span发表动态:/div class=' b ' ' lie[2]'/pdiv class=' c '发表动态时间:“lie[3]”/div;str=str ' div id=' d ' button class=' BTN BTN-主' data-toggle=' modal ' data-target=' # myModal '评论/buttonspana href='del.php?代码=' lie[0]' '删除动态/a/span/div ';} $('#nr ').html(字符串);//点击回复} });//当发表动态时,将动态内容写进数据库,并刷新页面$('#fb ').单击(function(){ var dt=$(').xdt ').val();var uid=$(' .契丹' .attr(' yh ');$.ajax({ url:'main-cl.php ',data:{dt:dt},type:'POST ',dataType:'TEXT ',success :函数(数据){ alert('发表动态成功!');窗户。位置。href=' main。PHP ' rel='外部nofollow ' rel='外部no follow ';} });})/脚本以上所述是小编给大家介绍的服务器端编程语言(专业超文本预处理器的缩写)仿即时通信软件空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
版权声明:PHP模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论功能(一)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。