手机版

php Mysql jQuery实现微博程序php的发布

时间:2021-09-30 来源:互联网 编辑:宝哥软件园 浏览:

首先,我们应该解释这个例子的业务流程:1。前端用户输入内容,实时统计输入内容中的字数。2.用户提交数据,jQuery通过Ajax实现向后台发送数据。3.后台PHP接收提交表单的数据,并对数据进行必要的安全过滤。4.后台PHP连接Mysql数据库,将提交的表单数据写入对应的数据表。5.成功结果的数据内容返回到后台,返回的数据内容通过Ajax插入到首页。上面的步骤1和2在前面的文章:jQuery中已经解释过了,本文将完成剩下的部分。

渲染:

首先,我们需要准备一个数据表,其表结构如下:

CREATE TABLE ` say `(` id ' int(11)NOT NULL auto _ increment,` userid ' int(11)NOT NULL DEFAULT ' 0 ',` content ' varchar(200)NOT NULL,` add time ' int(10)NOT NULL,PRIMARY KEY(` id `))ENGINE=MyISAM DEFAULT CHARSET=utf8;请注意,在本例中,为了便于后续的时间处理,时间字段:addtime被设置为int。在很多应用(如Discuz论坛)中,时间类型被改为数字类型。时间轴处理功能和打印格式列表功能:时间轴处理功能是将时间转换成我们看到的“5分钟前”、“10336021昨天”等形式。代码如下:

/*时间转换函数*/函数trans timee($ time){ $ rtime=date(' m-d h : I ',$ time);$htime=日期(' H:i ',$ time);$ time=time()-$ time;if($ time 60){ $ str=' just ';} else if($ time 60 * 60){ $ min=floor($ time/60);$str=$min。分钟前';} else if($ time 60 * 60 * 24){ $ h=floor($ time/(60 * 60));$ str=$ h .“几小时前”。$ htime} else if($ time 60 * 60 * 24 * 3){ $ d=floor($ time/(60 * 60 * 24));If($d==1) $str='昨天'。$ rtimeElse $str='前天'。$ rtime} else { $ str=$ rtime}返回$ str}打印格式功能是将获取的用户信息、发布内容和时间以一定格式输出到首页的功能。代码如下:

函数formatSay($say,$dt,$ uid){ $ say=html specialchars(strip slashes($ say));返回' div class=' say list ' a href=' # ' img src=' http : images/'。$uid。jpg ' width=' 50 ' height=' 50 ' alt=' demo '/a div class=' say txt ' PS tronga href=' # ' demo _ '。$uid。/a/strong。preg_replace('/((?http|https|ftp):\/\/(?[阿-Z0-9][阿-Z0-9_-]*(?\.[A-Z0-9][A-Z0-9_-]*) ):(\d)?\/?[^\s\'\'] )/i ',' a href=' $ 1 ' rel=' no follow ' target=' blank ' $ 1/a ',$say . '/pdiv class='date ' '。' tranTime($dt .)'/div/div class=' clear '/div/div ';}将以上两个函数放入functions,准备随时调用。submitted处理表单数据在前一篇文章中,我们知道jQuery通过POST和Ajax将从前端获得的数据提交给了后台的submitted。然后提交就是完成所有后续任务。看看代码:

require _ once(' connect . PHP ');//数据库连接文件require _ once(' function . PHP ');//函数调用文件$ txt=strippings($ _ post[' saytxt ']);//获取提交的数据$ txt=MySQL _ real _ escape _ string(strip _ tags($ txt),$ link);//过滤HTML标签并转义特殊字符if(MB _ strlen($ txt)1 | | MB _ strlen($ txt)140)die(' 0 ');//判断输入字符数是否满足$time=time()的要求;//获取当前时间$userid=rand(0,4);//将数据插入数据表$ query=MySQL _ query(' insert in say(userid,content,add time)值(' $ userid ',' $ txt ',' $ time '));if(mysql_affected_rows($link)!=1)芯片(' 0 ');echo formatSay($txt,$time,$ userid);//调用函数输出结果注意,在这个例子中,ID(userid)是随机处理进行演示的,实际应用是获取当前用户的ID。另外可以自己写一个数据库连接文件,我提供的下载DEMO里也有。最后,回到头版index.php。除了提供输入门户,index.php还应该对返回的结果进行后台处理,并在数据库中显示现有数据。代码如下:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)定义(' INCLUDE_CHECK ',1);需要一次(' connect。PHP’);require _ once('函数。PHP’);$query=mysql_query('从按编号排序的订单中选择* desc限制0,10 ');while($ row=MySQL _ fetch _ array($ query)){ $ SayList .=formatSay($row[content],$row[addtime],$ row[userid]);} ?form id='我的表单' action=' say。PHP ' method=' post ' H3 span class=' counter ' 140/span说说你正在做什么./H3文本区域名称=' saytxt ' id=' saytxt ' class=' input ' tabindex=' 1 ' row=' 2 ' cols=' 40 '/文本区域p input type=' submit ' class=' sub _ BTN ' value='提交disabled=' disabled '/span id=' msg '/span/p/form div class=' clear '/div div id=' say wrap '?php echo $ sayList?/div以上就是本文的全部内容,希望对大家的学习有所帮助。

版权声明:php Mysql jQuery实现微博程序php的发布是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。