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

PHP
PHP学习中遇到的问题,请高手帮忙 - PHPchina
如何获取IIS虚拟目录的绝对路径 - PHPchina
常常说的SQL注入是怎么做的? - PHPchina
怎么对网站的Alexa排名的数据的采集? - PHPchina
遇到一个session丢失的问题。打开含有mediaplayer播放器的页面,会导致session丢失 -
做小偷遇到一个基础问题.请指教 - PHPchina
php5如何连接ACCESS 2003 - PHPchina
帮找下错误 - PHPchina
split 函数的一个问题 - PHPchina
一个全站系统的数据库设计问题,望大家都来帮帮忙 - PHPchina
分享我的PHP配置心得包含MYSQL5乱码解决 - PHPchina
深入浅出分析Linux设备驱动程序中断 (1)(3)
深入浅出分析Linux设备驱动程序中断 (1)(2)
深入浅出分析Linux设备驱动程序中断 (1)
OpenSSH可实现一次性自动管理多台服务器
如何利用程序循环来控制Perl脚本流程
PHP5应用笔记之Cookie实用攻略(上)
从失败中涉取经验 网站设计的十种常见错误
连载1:利用PHP创建由Oracle 驱动的SOAP服务
连载2:利用PHP创建由Oracle 驱动的SOAP服务

菜鸟的PHP笔记3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 65 ::
收藏到网摘: 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