建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

PHP学习经典参考资料

时间:2011-07-03 15:50来源: 作者: 点击:
下面是一些学习PHP总结的一些资料。很实用。大家可以收藏下。 1.wamp     -WampServer2.1e-x32  (本人的版本)       a.Apache 2.2.17    //服务器    &nb

下面是一些学习PHP总结的一些资料。很实用。大家可以收藏下。

1.wamp  
   WampServer2.1e-x32  (本人的版本) 
      a.Apache 2.2.17    //服务器 
      b.MySQL 5.5.8      //数据库 
      c.PHP 5.3.5   
      d.套装适合初学者 
   -规范格式:<?php?> 
   -echo 
      a.echo TRUE      //输出1 
      b.echo FALSE    //没输出 
   -错误显示 
      a.php.ini: display_errors = on; 
      b.学习时开启,发布时关闭 
      补充:@ 是错误控制符,作用为隐藏错误
   -注释快捷键(EasyEclipse) 
      a. //   :Ctrl+/  (重复视为取消) 
      b. /**/:Ctrl+Shift+/  (使用)   Ctrl+Shift+\  (取消) 
   -课外补充 
       Error_reporting:配置错误信息回报的等级 
       1         E_ERROR                        致命的运行错误 
       2         E_WARNING                    运行时警告(非致命性错误) 
       4         E_PARSE                          编译时解析错误 
       8         E_NOTICE                        运行时提醒(经常是bug,也可以是有意的) 
       16       E_CORE_ERROR           PHP启动时初始化过程中的致命错误 
       32       E_CORE_WARNING      PHP启动时初始化过程中的警告(非致命性错误) 
       64       E_COMPILE_ERROR     编译时致命性错误 
       128     E_COMPILE_WARNING 编译时警告(非致命性错误) 
       256     E_USER_ERROR            用户自定义的致命错误 
       512     E_USER_WARNING        用户自定义的警告(非致命性错误) 
       1024   E_USER_NOTICE            用户自定义的提醒(经常是bug,也可能是有意的) 
       2047   E_ALL                                  除E_STRICT外的所有错误(PHP6中为8191,即包含所有) 
       2048   E_STRICT                           编码标准化警告(建议如何修改以向前兼容) 

         错误报告级别是位字段的叠加,推荐使用E_ALL|E_STRICT 

2.基础知识 
   自定义变量 
       a.不需明示数据类型 
       b.加'$' 
       c.以下划线或字母开头 
       d.以有意义的单词 
    -全等 
       a.=== 
       b.判断大小及类型 
    -数组 
        创建数组方法 
        a.array("key"=>"value") 
        b.array[]=value; 
        c.explode(separator,string); 
        常用函数 
        a.count       //统计数组条数 
        b.is_array  //判断是否为数组 
         遍历数组 
     Foreach($arr as $key=>$value) 
         说明:  指针跳转, 自动循环, 依次赋值 
     -流程控制符 
         a.  break           //结束一层循环 
              break n        //结束n层循环 
         b.  continue     //结束本次循环 
         c.  return          //返回,结束当前脚本运行 
         d.  exit              //结束脚本运行
         e.  return 与 exit的区别:见图
              

3.函数 
     -date("Y-m-d G:i:s")  
   a.表示4位数字完整表示的年份  
      b.m  数字表示的月份,有前导零  
   c.d 月份中的第几天,有前导零的2位数字  
   d.G 小时,24小时格式,没有前导零   
        ei  有前导零的分钟数  
        fs  有前导零的秒数 
    
注意假如你显示的时间跟电脑显示时间不一样,也就是相差8小时,可在php.ini 
                         
面将date.timezone = "PRC"   //PRC代表中华人民共和 
  -time()   //返回当前的 Unix 时间戳,也就是一串数字 
  例: $nextWeek=time()+(7*24*60*60);//7天,24小时,60分钟,60  
      echo $nextWeek."<br>";   
      echo 'now:       '.date("Y-m-d")."\n"; 
      echo 'Next Week: '.date("Y-m-d",$nextWeek); 

      date(格式字符,时间戳) 
      1. 将给定的时间戳以给定的格式输出来 
      2. 如果省略时间戳,例如前面,则视为当前时间 
  -自定义函数 
    a.格式:function 函数名(){} 
    b.使用与功能相关的名字   
   
       function_exists   //判断函数 
       is_array             //判断数组 
  -命名习惯 
    a.使用良好命名 (必须地,其余仅供参考)  
    b.函数单词开头大小写   
       c
.常量大写   
       d. 变量小写  
       提醒:PHP是区别大小写的 

4.mysql
  -Mysql(小型关系型数据库管理系统)
    a.体积小
    b.速度快
    c.成本低
    d.开源
    MYSQL默认使用的是3306端口
  -存储引擎(存储表数据的类型)
    a.MyISAM:较高的插入、查询速度,但不支持事务;默认。
    b.InnoDB:支持事务
  -phpMyAdmin(Web方式访问Mysql)
  -类型小解
    精度:指数值数据中所存储的十进制数据的总位数。
    长度:指存储数据所使用的字节数
    int
    1.整数型
    2.精度10
    3.数值范围(-2147483648~2147483648)
    4.长度4
    注意:
    int(n)
    1.指定整数值的显示宽度
    2.实际的宽度小于指定列宽度时,从左侧填满宽度
    3.不改变长度,不改变数值范围
    
    字符型
    char/varchar(n)     //n表示长度
    当列中字符数据值长度一致时,使用char,长度不同时,使用varchar可以节省存储空间
  -基本sql语句
    a.SELECT 字段 FROM 表 WHERE 条件
    b.INSERT INTO 表(字段)VALUES(值)
    c.UPDATE 表 SET 更新内容 WHERE 条件
    d.DELETE FROM 表 WHERE 条件
     多练习是关键
     查询语句之后:
        1.分组:group by 
        2.排序:order by ASC/DESC
        3.限制:limit O,N
        对于limit来说,O为偏移量,跟数组一样是从0开始算起,N为数量
        如:limit 1,5 相当于从第二条开始往后5条记录
              
5.php操作mysql
   -基本步骤:
       mysql_connect("hostname","username","password")      //连接MYSQL
       mysql_select_db("database_name");                             //打开数据库
       mysql_query($sql); //执行sql语句
       mysql_fetch_array($result) //取值 

       mysql_query:
       1.sql=select 时,执行成功返回一个资源标识符,执行错误返回FALSE
          注意:查询成功不代表一定有结果,只说明语句正确
       2.sql=insert/update时,执行成功返回TRUE,执行错误返回FALSE

       mysql_fetch_array()
       1.取得query(sql)的结果集中的一行保存到数组
       2.依次调用将返回结果集中的下一行
       3.可以通过字段名作索引
   -中文编码
       避免乱码:
       1.建立数据库时,要选择相应的字符集。全国通用:GBK/gb2312;世界通用:UTF-8(建议选用)。
       2.连接mysql时,加入连接字符集   "set names GBK";
        注意:如果你set names UTF8,那么就应该设置页面编码为UTF-8
        详细可以参考:http://bbs.php100.com/read-htm-tid-416.html
        ///////////////封装Php连接Mysql函数////////////////
        function PHPConnectMysql($hostname,$username,$password,$database,$charaset){
             mysql_connect($hostname,$username,$password);
             mysql_select_db($database);
             mysql_query("set names $charaset");
        }
        小结:平时多积累,将特定功能函数化,以便重复利用。

6.留言板
   -设计一个程序流程
       1.功能需要
       2.页面设计
       3.数据库设计
       4.代码设计
       5.调试发布
   -表单
       1.form></form>
       2.method:表单数据传输到服务器的方法
          post(表示在Http请求中嵌入表单数据)
          get   (表示将表单数据附加到请求该页的URL)  默认方法
          区别:
          a.Get传输数据量小,这主要是受URL长度限制;而Post可以传输大量数据。
          b.Get安全性比较低,但执行效率比Post好。       
          接收参数:
          POST方式:$_POST['name']
          GET方式:$_GET['name'] 
          注意:$_POST与$_GET必须为大写;
                     php5.0以上版本不加引号会报notice级别错误,要养成良好书写习惯,规范化。当然关闭display_error就另当别论。
         充电
          $_POST:它是由HTTP POST方法传递的变量组成的数组
          $_GET: 它是由HTTP GET方法传递的变量组成的数组
          $_COOKIE:它是由HTTP Cookies传递的变量组成的数组
          $_SESSION:它是包含当前脚本中会话变量的数组
          建议
          1.GET安全性较POST差,包含机密信息的话建议使用POST
          2.分页时使用GET
       3.常用控件
           a.单行文本框   <input type=text>
               多行文本框  <textarea></textarea>
           b.密码框   <input type=password>
           c.多选框   <input type=checkbox checked> (checked属性表示选中状态)
           d.单选框   <input type=radio checked> (checked同上)
           e.下拉菜单
               <select>
               <option selected></option>     //selected指定该选项的初始状态为选中
               </select>
            f.提交按钮 <input type=submit>
              重置按钮  <input type=reset>
        4.日期/时间函数
            php:date,time;
            mysql:now
   -javascript验证
       onsubmit:当提交按钮点击时触动,如果内容为"return function_name();"函数返回FALSE,则不提交表单。
   -初识COOKIE
        setcookie(name,value,time);
        注意:php的cookie必须刷新一次才能生效。 

7.分页原理
    -分页函数
 page.rar (2 K) 下载次数:10 
        第13课老师提供的分页函数,我进行了适当的修改,去掉了一些我不太好理解的地方。
        只要你好好研究老师的函数,想必很容易就可以判断出我修改的地方。
        如果你觉得我修改有什么不当的地方欢迎指证,交流可以促使你我进步!
    -变量
       1.局部变量
       2.全局变量(global,$GLOBALS)

       a.在函数外定义的局部变量,只可以在主程序使用,不可在函数内或其他文件使用
       b.在函数内定义的局部变量,只可在本函数内使用
       c.在函数外定义的局部变量,想要在函数内使用,必须在函数内将变量声明为global
          

       d.在函数内定义的局部变量,想要在函数外使用,必须在函数内将变量声明为global
           

           注意:
          1.必须先将变量声明为global,然后才赋值
             错误: global $color="red";
             正确: global $color;$color="red";
           2.必须先声明,再使用
             错误:echo $color;global $color;
             正确:global $color;echo $color;
        f.函数的参数为局部变量,如果想要在外部使用,不能使用global这种方式(因为不符合先声明,再使用的原则)
          则使用超全局变量 $GLOBALS(大写,小写有不确定性)
           

       建议:请亲自上机实践

8.Smarty
    -基础配置,变量操作符,内置函数,缓存(重要)
        视频里讲得相当详细,不重复!
    -实例练习
       1.找一个简单的模板 
http://bbs.php100.com/read-htm-tid-65369.html
       2.基本结构 
          

       3.主要是index.php的填写及index.html的修改
       4.用到的知识点:
          a.smarty(section,if else,基本应用)
          b.分页
          c.js的表单检验函数CheckPost(自定义)
          d.php操作mysql
       5.提供主要文件,包括index.php/html,common,数据库(导入即可),以供参考
主要文件 smarty.rar (10 K) 下载次数:1 
       6.部分截图
          注意:共有两表,一为留言内容,二为解答('为你服务')
                     二表的f_id字段为一表的id字段
          


9.Ajax
    -ajax
       a.全称:Asynchronous Javascript and Xml(异步javascript 和 xml)
       b.含义:一种创建交互式网页应用的网页开发技术
       c.功能:实现局部刷新,减少服务器压力
       d.工作原理:
          

    传统Web应用允许用户填写表单,当提交表单时向Web服务器发送一个HTTP请求。服务器接收并处理传来的表单,
然后返回一个新的网页到用户浏览器。如图所示就是传统Web应用的工作原理。使用传统Web应用时若要改变页面的
一小部分数据,需要重新加载整个页面,这是一种不友好的用户体验。而且由于每次应用的交互都需要向服务器发送
请求,应用的响应时间依赖于服务器的响应时间,这可能导致用户花费较长的等待时间。
             

    与传统Web应用不同的是,AJAX采用异步交互过程。AJAX可以仅向服务器发送并取回必须的数据,它使用SOAP
(简单对象访问协议)或其他一些基于XML的Web Service 接口,并在客户端采用JavaScript处理来自服务器的响应。
用户在页面上获得的数据是通过AJAX引擎提供的,由于页面不需要与服务器直接交互,所以客户端浏览器不需要刷
新页面就能获得服务器的信息,提高了页面的友好度。

主要:
function CallServer(value){
     CreateXMLHttpObject();               //创建一个xmlhttp对象
     xmlhttp.open("GET","for.php?id="+value,true); //创建一个http请求
     xmlhttp.onreadystatechange=UpdatePage;        //定义响应的函数
     xmlhttp.send(null);               //发送请求
}

注意:
1.取得文本框的内容
          a.document.myform.user.value(js文件里)
          b.this.value(html文件里)
2.注意字符集
          如果你输出结果包括中文,要注意字符集的问题。即js文件的字符集跟php文件的字符集应可转换
          例:本人使用的是easyeclipse,新建的ajax.js文件的字符集默认为ISO-8859-1,这样的话php文件
就应该为utf而不能为gbk,可能是gkb跟ISO不能转换的缘故。而utf比较'通吃'.当然,你可以把
js文件转换为utf8,这样就避免许多问题了。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片