文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用PHP实现发布微博程序

2023-06-17 14:22

关注

这篇文章主要介绍“怎么用PHP实现发布微博程序”,在日常操作中,相信很多人在怎么用PHP实现发布微博程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用PHP实现发布微博程序”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

CREATE TABLE `say` (         `id` int(11) NOT NULL auto_increment,         `userid` int(11) NOT NULL default '0',         `content` varchar(200) NOT NULL,         `addtime` int(10) NOT NULL,         PRIMARY KEY  (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

注意,本例中将时间字段:addtime的类型设置为int,是为了后续的时间处理方便,在很多应用中(如Discuz论坛)都是将时间类型转成数字型。

时间轴处理函数和格式化输出列表函数:时间轴处理函数,就是把时间转换成我们看到的诸如“5分钟前”,“昨天 10:21”等形式,详细使用可以查看之前我写过的文章:PHP实现时间轴函数,代码如下:

   function tranTime($time) {           $rtime = date("m-d H:i",$time);           $htime = date("H:i",$time);           $timetime = time() - $time;            if ($time < 60) {                  $str = '刚刚';           }           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 = '昨天 '.$rtime;               else                     $str = '前天 '.$rtime;           }           else {                  $str = $rtime;           }       return $str;   }

格式化输出函数是将得到的用户信息和发布内容及时间按照一定的格式输出到前端页面的函数,代码如下:

function formatSay($say,$dt,$uid){            $say=htmlspecialchars(stripslashes($say));             return'            <div class="saylist">      <a href="#"><img src="images/'.$uid.'.jpg" width="50" height="50"  alt="demo" />      </a>            <div class="saytxt">            <p><strong><a href="#">demo_'.$uid.'</a></strong> '.         preg_replace('/((?:http|https|ftp):\/\/(?:[A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+): ?(\d+)?\/?[^\s\"\']+)/i',       '<a href="$1" rel="nofollow"     target="blank">$1</a>',$say).'            </p>      <div class="date">'.tranTime($dt).'</div>            </div>            <div class="clear"></div>            </div>'  ; }

将以上两个函数都放入function.php中,准备随时被调用。

submit.php处理表单数据

在上篇文章中,我们知道jQuery将前端获得的数据以POST方式,通过Ajax提交给了后台的submit.php。那么submit就是要完成后续的所有一摊子任务。请看代码:

require_once('connect.php'); //数据库连接文件   require_once('function.php');  //函数调用文件    $txt=stripslashes($_POST['saytxt']); //获取提交的数据   $txt=mysql_real_escape_string(strip_tags($txt),$link); //过滤HTML标签,并转义特殊字符   if(mb_strlen($txt)<1 || mb_strlen($txt)>140)          die("0"); //判断输入字符数是否符合要求   $timetime=time(); //获取当前时间   $userid=rand(0,4);    //插入数据到数据表中   $query=mysql_query("insert into say(userid,content,addtime)values('$userid','$txt','$time')");   if(mysql_affected_rows($link)!=1)           die("0");   echo formatSay($txt,$time,$userid); //调用函数输出结果

注意,本例中为了演示,将用户ID(userid)进行随机处理,实际的应用是获取当前用户的ID。另外数据库连接文件,大家可以自己写一个,在我提供的下载的DEMO里也有这个文件。

***要回到前端页面index.php来。index.php主要除了提供输入的入口,还要承接后台处理返回的结果,并且要将数据库里已有的数据显示出来。代码如下:

<?php   define('INCLUDE_CHECK',1);   require_once('connect.php');   require_once('function.php');    $query=mysql_query("select * from say order by id desc limit 0,10");   while ($row=mysql_fetch_array($query)) {          $sayList.=formatSay($row[content],$row[addtime],$row[userid]);   }   ?>   <form id="myform" action="say.php" method="post">         <h4><span class="counter">140</span>说说你正在做什么...</h4>         <textarea name="saytxt" id="saytxt" class="input" tabindex="1" rows="2" cols="40"></textarea>         <p>             <input type="submit" class="sub_btn" value="提 交" disabled="disabled" />             <span id="msg"></span>         </p>   </form>   <div class="clear"></div>   <div id="saywrap">   <?php echo $sayList;?>   </div>

至此,本例从前端交互到后台处理程序,全部完成,有兴趣的同学***亲自动手,才能从中学到乐趣。

到此,关于“怎么用PHP实现发布微博程序”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯