当前位置: 首页 > 图文教程 > 网络编程 > PHP > 菜鸟的PHP笔记3

PHP
mysql 字段类型说明
mysql 搜索之简单应用
mysql 全文搜索 技巧
escape unescape的php下的实现方法
解决php中Cannot send session cache limiter 的问题的方法
php 中的str_replace 函数总结
php下的权限算法的实现
php下实现折线图效果的代码
php中的MVC模式运用技巧
什么是MVC,好东西啊
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
不错的PHP学习之php4与php5之间会穿梭一点点感悟
MySQL授权问题总结
站长助手-网站web在线管理程序 v1.0 下载
MySQL GBK→UTF-8编码转换
中国站长站 For Dede4.0 采集规则
Win2003下IIS+PHP+MySQL+Zend配置步骤详解
Discuz板块横排显示图片的实现方法
测试您的 PHP 水平的题目
PHP5.2下chunk_split()函数整数溢出漏洞 分析

菜鸟的PHP笔记3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 129 ::
收藏到网摘: n/a

  今天白天再次被霸占,晚上整理了一下最近的日程,再次蹋上了我的菜鸟PHP学习之旅。今天下载了一个“创佳PHPTXT留言本  1.0版”,开始看源代码咯。现在已经11点28了~。

  首先从index.php下手:require("config.php"); include("function.php");require和include的区别还是比较重要的。手册:http://cn2.php.net/manual/zh/function.require.php

  现在看看config.php和function.php里面都有什么东西吧。

  config.php定义了一些整个网站都要用到的变量:比如管理员帐号、密码、存放留言路径及文件名以及每页显示的留言条数。记得Discuz里也有这么一个东西,可能这是所有PHP站点的不成文规定?

  function.php定义了一系列的函数,比如检查用户名、密码,转换UBB代码之类的,不过偶不知道UBB代码是什么东西~。暂时不管了。

  回到index.php。后面定义了几个暂时不知道有什么用的变量,暂时越过去吧,郁闷。紧接着是一个header函数http://cn2.php.net/manual/zh/function.header.php。包含一个叫head.php的文件,用file()将保存留言的文件读到一个叫msgd的数组中。http://cn2.php.net/manual/zh/function.file.php

  今天大概把源代码看懂了,不过实在太晚了,就暂时不写了,以后再说吧。应该安个Word然后直接复制过来(我也不知道为什么我机器上没有Word~~)。总之今天休息了,明天白天又没有时间,晚上不回家住,后天先送人去火车站,然后就回学校了。真不知道什么时候能有时间继续我的PHP。

  require("head.php"); 包含一个文件,不过head似乎只被index.php包含了,不知道为什么不直接写进去。head部分的代码主要是提供搜索留言的表单。

  $msgd=file($dbtable); 其中$dbtable在config中已经定义了,$dbtable="data/data.dat";  该文件用于保存留言。这里用了file函数将这个文件保存在$msgd数组中。文件的每一行是一个数组元素。

  $rows=count($msgd);这里将用count函数将$msgd的元素数(留言数)存在$rows中。
if($kw)//关键词,判断是不是搜索

{

 for ($i=0;$i<=$rows;$i++)//遍历
 {

  $tmp2=explode("|分割符|",$msgd[$i]);//没一条留言存在tmp2这个数组中。
  if($type=="name")//如果是按姓名搜索

  {

   $msgn[$i]=$tmp2[1];//将名字村在$msgn[$i]中

  }else//不是按名字搜索的话
   

  {

    $msgn[$i]=$tmp2[10];//将留言数组的第10个元素存在msgn[$i]中

  }

  if(eregi($kw,$msgn[$i]))
    {
    $chj_nr[]=$msgd[$i];//使用数组$chj_nr[]存放一条完整的留言
    $chj_numib++;//符合要求的留言数量
    }
 }
  if($chj_numib<1) {echo "没有相关 $kw 的匹配结果!!";exit;}
  $msg=array_reverse($chj_nr);//将符合搜索结果的留言数组
  $total=ceil($chj_numib/$pagesize); //计算总页面数 
}else//如果不是搜索
{

 $chj_numib=$rows;//所有留言
 $msg=array_reverse($msgd);
 $total=ceil($chj_numib/$pagesize);
}

//echo $total; 
if($pagesize*$total<$chj_numib)

{
$total++;                       


$total2=$total-1;             //下面有用
$page2=$page+1;                   //同上
$pp=$page*$pagesize