仿网易163新闻评论盖楼效果代码

//发送留言

require("global.func.php教程");
$fid=isset($_GET["id"])?intval($_GET["id"]):0;
$page=isset($_GET["page"])?intval($_GET["page"]):1;
if($_SERVER["REQUEST_METHOD"]=="POST")
{
 if(!file_exists("1.php"))
 {
  writeFile("1.php",$array=array());
 }
 $arr=require("1.php");
 $post=array();
 unset($_POST["Submit"]);
 foreach($_POST as $k=>$v)
 {
  $post[$k]=addslashes(htmlspecialchars($v));
 }
 $post["content"]=str_replace(" ","<br>",$post["content"]);
 $post["id"]=count($arr)+1;
 $post["date"]=time();
 $post["fid"]=$fid;
 $post["ip"]=$_SERVER["REMOTE_ADDR"];
 $arr[]=$post;

 writeFile("1.php",$arr);
 
 echo "<script>location.href="index.php?page=$page"</script>";
 exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>发帖</title>
<script>
var arr=new Array();

     function ckusername()
     {
      if(document.form1.username.value.length<3)
      {
       document.getElementById("user_msg").innerHTML="<font color="red"><b>用户名不能小于3个字符</b></font>";
       arr[0]=1;
      }else
      {
      document.getElementById("user_msg").innerHTML="<font color="green"><b>√</b></font>";
      arr[0]=0;
      }
      
      
     }
     function ckcontent()
     {
      
      if(document.form1.content.value.length<8||document.form1.content.value.length>255)
      {
       document.getElementById("content_msg").innerHTML="<font color="red"><b>内容8-255个字符</b></font>";
       arr[1]=1;
      }else
      {
       document.getElementById("content_msg").innerHTML="<font color="green"><b>√</b></font>";
       arr[1]=0;
      }
     }
     
     function c()
     {
      if(arr.length<2)
      {
       return false;
      }
      for(x in arr)
      {
       if(arr[x]==1)
       {
        return false;
       }
      }
      
      form1.submit();
     
     }
     
</script>
</head>
<body>
<form name="form1" method="post" action="">
  <table width="100%"  border="0">
    <tr>
      <td>用户
      <input name="username" type="text" id="id" onBlur="ckusername()" ></td>
    </tr>
 <tr>
      <td><div id="user_msg"></div>
      </td>
    </tr>
    <tr>
      <td><textarea name="content" cols="100" rows="6" id="content" onBlur="ckcontent()"></textarea></td>
    </tr>
 <tr>
      <td><div id="content_msg"></div>
      </td>
    </tr>
    <tr>
      <td><div align="center">
        <input type="button" name="Submit" value="提交" onClick="c();">
      </div></td>
    </tr>
  </table>
</form>
</body>

</html>

<?php
ini_set("display_errors",0);
require("global.func.php");
?>

显示像163评论
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.b{
border:1px dotted #e3e3e3;
word-wrap:break-word;
word-break:break-all;
}

</style>

<title>PPC备用论坛(递归限制15层+主题)</title>
</head>
<body>
<?php
echo "<a href="post.php?page=1"> 发帖</a><br>";
if(file_exists("1.php"))
{
 $__array=require("1.php");
}
else
{
 $__array=array();
}
$page=isset($_GET["page"])?intval($_GET["page"]):1;
$pagesize=5;
$offset=($page-1)*$pagesize;
$__str="";
function getTotal()
{
 global $__array;
 $i=0;
 foreach($__array as $k=>$v)
 {
  if($v["fid"]==0)
  {
   $i=$i+1;
  }
 }
 return $i;
}
function getFid0()
{
 global $__array,$__str;
 
 foreach ($__array as $k=>$v)
 {
  if($v["fid"]==0)
  {
   $fid0[]=$v;
  }
  
 }
 return array_reverse($fid0);
}
$fid0=getFid0();
function show($fid0,$pagesize,$offset)
{
 global $__str,$page;
 foreach (array_slice($fid0,$offset,$pagesize,true) as $k=>$v)
 {
  
   $__str.="<blockquote class="b"><p>";
   $__str.=$v["ip"]."用户:".$v["username"]."内容:".$v["content"]."<a id="a1" href="post.php?id=".$v["id"]."&page=$page">回复</a>";
   showChild($v["id"]);
   $__str.="</p></blockquote>";
   
  
  
 }
}

function showChild($id,$i=0)
{
 global $__array,$__str,$page,$offset;
 
 
 if($i==15)//递归层数
 {
  return;
 }
 $i++;
 foreach($__array as $k=>$v)
 {
  if($v["fid"]==$id)
  {
   $__str.= "<blockquote class="b"><p id="a1">";
   $__str.= $__array[$k]["ip"]."用户:".$__array[$k]["username"]."内容:".$__array[$k]["content"]."<a href="post.php?id=".$v["id"]."&page=$page">回复</a>";
   showChild($v["id"],$i);
   $__str.= "</p></blockquote>";
  }
 }
}

show($fid0,$pagesize,$offset);
$total=getTotal();

echo $__str;
pageft($total,$pagesize,"index.php");
echo "<br>".$pagenav;
?>
</body>
</html>

global.func.php文件代码如下

<?php

function writeFile($id,$array)
{
 $content="<?php return ".var_export($array,true)."?>";
 return safe_file_put_contents($id,$content);
}
/**
*写入文件
*@param string $filename
*@param string $contents
*@return boolean
*/
function safe_file_put_contents($filename,&$contents)
{
 $fp=fopen($filename,"wb");
 if($fp)
 {
  flock($fp,LOCK_EX);
  fwrite($fp,$contents);
  flock($fp,LOCK_UN);
  fclose($fp);
  return true;
 }else
 {
  return false;
 }
}

/**
*读取文件
*@param string $filename
*@return $data|false
*/
function safe_file_get_contents($filename)
{
 $fp=fopen($filename,"rb");
 if($fp)
 {
  flock($fp,LOCK_SH);
  clearstatcache();
  $filesize=filesize($filename);
  if($filesize>0)
  {
   $data=fread($fp,$filesize);
  }else
  {
   $data=false;
  }
  flock($fp,LOCK_UN);
  fclose($fp);
  return $data;
 }else
 {
  return false;
 }
}
function pageft($total,$displaypg=10,$url=''){
global $page,$firstcount,$pagenav,$_SERVER;

$GLOBALS["displaypg"]=$displaypg;

if(!$page) $page=1;

if(!$url){ $url=$_SERVER["REQUEST_URI"];}

$parse_url=parse_url($url);
@$url_query=$parse_url["query"];
if($url_query){
$url_query=ereg_replace("(^|&)page=$page","",$url_query);

$url=str_replace($parse_url["query"],$url_query,$url);

if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}

$lastpg=ceil($total/$displaypg);
$page=min($lastpg,$page);
$prepg=$page-1;
$nextpg=($page==$lastpg ? 0 : $page+1);
if(!$page) $page=1;
$firstcount=($page-1)*$displaypg;

$pagenav.=" <a href='$url=1' class='s1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg' class='s1'>上页</a> "; else $pagenav.="上页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg' class='s1'>下页</a> "; else $pagenav.="下页 ";
$pagenav.=" <a href='$url=$lastpg' class='s1'>尾页</a>";

$pagenav.=" 到 <select name='topage' size='1' onchange='window.location="$url="+this.value'> ";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option> ";
else $pagenav.="<option value='$i'>$i</option> ";
}
$pagenav.="</select> 页";
}
?>

//保存的1.php文件数数组形式,如下格式

<?php return array (
  0 =>
  array (
    'username' => 'test',
    'content' => '111cn.net',
    'id' => 1,
    'date' => 1253853347,
    'fid' => 0,
    'ip' => '116.226.2.200',
  ),
  1 =>
  array (
    'username' => 'aaaaaaaaaaad',
    'content' => 'www.111cn.net',
    'id' => 2,
    'date' => 1253857672,
    'fid' => 0,
    'ip' => '116.226.6.188',
  ),
 
)?>

 

时间: 2024-10-24 14:10:55

仿网易163新闻评论盖楼效果代码的相关文章

原生JS实现仿淘宝网左侧商品分类菜单效果代码_javascript技巧

本文实例讲述了原生JS实现仿淘宝网左侧商品分类菜单效果代码.分享给大家供大家参考.具体如下: 这是一款原生JS实现的仿淘宝网左侧商品分类菜单效果代码,JavaScript技术实现,兼容各主流浏览器.自己再修改一下CSS菜单,它会变得更漂亮. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-f-taobao-pro-menu-style-codes/ 具体代码如下: <!DOCTYPE html> <head> <titl

JS实现仿新浪黄色经典滑动门效果代码_javascript技巧

本文实例讲述了JS实现仿新浪黄色经典滑动门效果代码.分享给大家供大家参考.具体如下: 这是一款仿新浪网的滑动门,黄色经典,操作舒适度确实很舒服,不亏是门户哦,长度和宽度这个就要自己修改啦,布局紧凑合理,本人喜欢的风格. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-f-sina-jd-move-style-demo/ 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Trans

jQuery仿360导航页图标拖动排序效果代码分享_jquery

jquery实现360浏览器导航页图标拖动从新排序特效源码是一款模仿360浏览器导航页网站图标拖动排序的代码.本段代码适应于所有网页使用,有兴趣的朋友们可以学习一下. 运行效果图:                                         ----------------------查看效果 下载源码-----------------------   小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的360导航页图标拖动排序效果代码如下 <!DOCTYP

仿网易div+css滑动门选项卡效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Android仿网易严选底部弹出菜单效果

在网易严选的看东西的时候在商品详情页里看到他的底部弹出菜单,本能反应是想用DottomSheetDialog或者PopupWindow来实现,可是发现实现不了他那种效果,于是就自己模仿一个像严选这样的底部弹出菜单. 不管是DottomSheetDialog或者PopupWindow他们的阴影背景都是全部覆盖的,这就造成除了菜单内容的View之外其他都是阴影的,而严选不是这样的.唠叨到此,首先展示效果图如下: 是不是还可以呢,由于代码量不多却注释详细,所以先贴出代码再一一详说: BottomPop

仿网易自适应宽度Tab选项卡菜单效果

中国站长天空 建站服务 建站代码 网址:http://www.111cn.net 网址:http://www.111cn.net/service/ 网址:http://www.111cn.net/code/

新浪搜狐网易三门户网站打通新闻评论和微博

5月17日消息,有网友向腾讯科技反映,国内三大门户网站新浪.搜狐和网易均在不同程度上实现了http://www.aliyun.com/zixun/aggregation/12412.html">新闻资讯评论转发至微博的功能. 腾讯科技登陆上述三家门户网站也发现,三家门户网站均可实现新闻资讯直接转发至各自微博的功能,不过在互动性更强的新闻评论转发生成微博内容的处理上,三家门户的方式各不相同: sina新闻评论可以直接转发到微博(腾讯科技截图) 新浪网注册用户在发表新闻评论时,需要勾选&quo

网易跟贴盖楼十年 背后的机制与匠心

从03年到13年,网易跟帖已经活了10年.能够得到 众多挑剔网友的认可,从来都不是一件容易的事情,但网易跟帖做到了,凭什么? 网易跟贴不是一天建成的,作为一款互联网产品,网易跟贴甚至在很长时间里,都没专门的产品负责人.2006年6月之前,我作为网易新闻中心的主编,曾经分管专题.论坛.产品.审核等方面的工作,以及后来的调任的职位,仍然与产品关联.因此,直接或者间接的负责网易跟贴的历次功能设计改造,以及部分的内容运营.离开网易前,已答应过同事,总结过去,以供后来者参考.一.出生网易跟贴的推出,起步比

Android实现仿网易新闻主界面设计_Android

下面先来一张效果图    根据图片分析,要实现的有侧边栏DrawerLayout,ActionBar的颜色和菜单以及ActionBarDrawerToggle的动画效果. 在这之前,Theme要改成带有ActionBar的主题 android:theme="@android:style/Theme.Holo.Light" 一:侧边栏-DrawerLayout 根据官方文档,DrawerLayout布局的第一个视图是activity的主视图,第二个是侧边栏视图 因此主布局可以如下这样 F