php学习交流博客

好好写代码,好好痛她

#

PHP编码规范


PHP文件夹/文件命名规范
-----------------------------------
  • 为方便和兼容不同操作系统,PHP文件夹/文件名统一全部使用小写,需要时可用下划线.
  • 类文件,取名方式: 功能.class.phpdb_mysql.class.php
  • 函数文件取名 功能.fun.inc.phpnews.fun.inc.php
  • 不能通过浏览器直接访问的php文件取名 **.inc.php 并记得在第一行加入如下限制代码
    !defined('INIT_PHPV') && die('Denied'); 

注意:以上规范,不适用于 网上下载的类库文件.

常用的文件夹有:
  1. admin  /管理
  2. images /图片
  3. templates /模板
  4. includes /包含文件,各种函数及类库
  5. script  /前台脚本和css
  6. data  /网站数据 此文件夹可写. 内有缓存文件,错误日志等
  7. upload /上传文件夹
  8. html /静态html目录


PHP代码书写规范
-------------------------


类名: 单词间首字母用大写,其它小写.如 class MySql {.... }
类中的方法命名规范同上.

函数命名:
驼峰形式.即首单词字母小写,其它大写如
function error ($msg) {...}
function
sendMail ($email) {..}

变量也使用驼峰形式.如
$fileName = 'abc.txt';


sql语句则遵照标准写法
关键字大写,表名和字段名最好用``引起来.查询参数用单引号引起来 如
$DB->Query("SELECT * FROM `tablename' WHERE `uid'='1' ");

if...else用法:
统一使用大括号,除非非常特殊的情况下,不能用 endif;

大括号用法:
推荐用 
function foo {
   ....
}


也可用
function foo
{
   ....
}



在PHP文件里,除了语言包注释配置文件,其它地方不能有中文.
所有文件,保存格式为UTF8


数据库命名规范
-------------------------
表名全小写,如果需要,用下划线隔开单词
字段名单词首字母大写
如: 表user字段UserName

posted @ 2010-03-23 12:42 王吉刚 阅读(834) | 评论 (0)编辑 收藏

在js中调用php

      为了实现在js中调用php的问题,写了一段简单的代码验证一下.
首先,写一个js.html文件.  代码如下:

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <html>
 3  <head>
 4   <title> js调用php </title>
 5   <meta name="Generator" content="EditPlus">
 6  </head>
 7 
 8  <body>
 9   <script>
10     function func(){
11         if(confirm("are you ok with this?")){
12             this.location = "ok.php?action=ok";
13         }else{
14             this.location = "ok.php?action=cancel";
15         }
16     }
17   </script>
18   <href="#" onclick="func()">点击触发效果</a>
19  </body>
20 </html>

在写一个ok.php文件 代码如下:

1 <?php
2     if($_GET["action"== "ok"){
3         echo "i'm ok!!!!";
4     }else{
5         echo "I'm not ok~~~~";
6     }
7 ?>
8 


posted @ 2010-03-19 15:31 王吉刚 阅读(1315) | 评论 (0)编辑 收藏

JavaScript用户注册


   html代码:

 1 <form>
 2         <fieldset>
 3             <legend>请您认真填写用户注册表</legend>
 4                 <table>
 5                 <tr>
 6                     <th>用户名:</th>
 7                     <td><input type="text" id="username" size="20"></td>
 8                 </tr>
 9                 <tr>
10                     <th>密码:</th>
11                     <td><input type="password" id="pwd" size="22"></td>
12                 </tr>
13                 <tr>
14                     <th>确认密码:</th>
15                     <td><input type="password" id="pawd" size="22"></td>
16                 </tr>
17                 <tr>
18                     <th>性别:</th>
19                     <td>
20                         <input type="radio" name="sex" value="m">
21                         <input type="radio" name="sex" value="f">
22                     </td>
23                 </tr>
24                 <tr>
25                     <th>Email:</th>
26                     <td><input type="text" name="email" size="20"></td>
27                 </tr>
28                 <tr>
29                     <td colspan="2" align="center">
30                         <input type="button" value="注册" onclick="reg()">
31                         <input type="reset" value="重置">
32                     </td>
33                 </tr>
34                 </table>            
35         </fieldset>
36     </form>

 JavaScript代码:

 1 <script>
 2     function reg(){
 3         var u = document.getElementById("username").value;
 4         var p1 = document.getElementById("pwd").value;
 5         var p2 = document.getElementById("pawd").value;
 6         var arr = document.getElementsByName("sex");
 7         var len = arr.length;
 8         var s = "";
 9         for(var i = 0; i < len; i++){
10             if(arr[i].checked){
11                 s = arr[i].value;
12                 break;
13             }
14         }
15         var e = document.getElementById("email").value;
16         
17         var email_reg = /^[\w]{1,}@[\w]{1,}\.[\w.]{2,8}$/;
18 
19         if(u == ""){
20             alert("用户未填写!");
21         }else if(u.length < 5){
22             alert("用户名不能少于5个字符");
23         }else if(p1 == ""){
24             alert("密码为填写!");
25         }else if(p1.length < 6){
26             alert("密码不能小于6个字符");
27         }else if(p1 !== p2){
28             alert("两次输入的密码不一致,请从新输入");
29         }else if(s == ""){
30             alert("性别不能为空");
31         }else if(e == ""){
32             alert("邮箱不能为空");
33         }else if(!email_reg.test(e)){
34             alert("邮箱格式不正确");
35         }else{
36             var aa = "<font size='20' color='red'>感谢您的注册,欢迎您加入到hfphp team</font><br>";
37             var uu = "<font color='red'>您注册的用户名是:"+u+"</font>";
38             var pp = "<br><font color='red'>密码是:"+p1+"</font>";
39             var ee = "<br><font color='red'>邮箱是:"+e+"</font>";
40             document.write(aa+uu+pp+ee);
41         }
42 
43     }
44   </script>



    忘记写注释 就在这啰嗦几句
  程序是分布执行的首先判断的是用户名,接着是密码,性别,email.
  程序注册完成,模拟实现跳转,输出用户注册信息. 很是简单了!呵呵~~

posted @ 2010-03-17 16:13 王吉刚 阅读(1056) | 评论 (2)编辑 收藏

setInterval与setTimeout

      刚刚老师特定的把setInterval与setTimeout讲个函数举例讲解了一下.
然后,也就只写了一个,验证了一下. 下面是代码:

  先来看看setInterval函数:

 1  <script>
 2     var time = setInterval("func()",1000);
 3     var count = 10;
 4     function func(){
 5         if(count != 0){
 6             document.getElementById("div1").innerHTML = count;;
 7             count--;   //当count--放在if里面的时候,执行完就会结束。
 8         }else{
 9             document.getElementById("div1").innerHTML = "<font size='20' color='red'>over</font>";
10             
11         }
12         //count--; //当count放在if外面的时候不断的继续执行setInterval函数
13     } 
14      // 上面的实例说明了setInterval函数是不断的周期的循环执行  那我们在看看setTimeout
15 
16   </script>
17   <div id="div1">setInterval测试</div>
18 

  从上面的实例,可能你已经感受到了setInterval函数的作用了.那我们在接着来看看setTimeout函数:

 1  <script>
 2     var timeOut = setTimeout("fun()",1000);
 3     var count = 10;
 4     function fun(){
 5         if(count != 0){
 6             document.getElementById("div2").innerHTML = count;
 7             count--;   //当程序执行的时候,setTimeout只是执行了一次,结果是10.就停止了.
 8                         //所以,说setTimeout只是执行一次。
 9             
10         }else{
11             document.getElementById("div2").innerHTML = "<font size='20' color='red'>over</font>";
12         }
13 
14     }
15   </script>
16   <div id="div2">setTimeout</div>

   通过上面的两个实例,已经很明显的看出来了setInterval与setTimeout的异同点了.

   但是,在上面的两个实例中要想用setTimeout实现与setInterval一样的效果怎么办呢
在上例中.只是在count--  后面添加了一个setTimeout("fun()",1000);就一样的效果了
还是看代码吧

 1  <script>
 2     var timeOut = setTimeout("fun()",1000);
 3     var count = 10;
 4     function fun(){
 5         if(count != 0){
 6             document.getElementById("div2").innerHTML = count;
 7             count--;   //当程序执行的时候,setTimeout只是执行了一次,结果是10.就停止了.
 8                         //所以,说setTimeout只是执行一次。
 9             setTimeout("fun()",1000);
10             //当setTimeout放在这里的时候可以实现setInterval一样的效果.但是只循环10就结束
11         }else{
12             document.getElementById("div2").innerHTML = "<font size='20' color='red'>over</font>";
13         }
14 
15     }
16   </script>
17   <div id="div2">setTimeout</div>

好了,不啰嗦了.


posted @ 2010-03-17 10:28 王吉刚 阅读(1990) | 评论 (0)编辑 收藏

03.15_php学习笔记—JS04

   

     这几天老师给的练习蛮多的,所以,都没时间过来罗嗦.
虽然,没讲什么新的内容,DHTML本来就是一个css,html,js结合在一起的一个东西。
还有件事,很是头痛,不知道有没有那位仁兄有完全中文的dhtml的手册.如果有给我一份,万分感谢.百度一下.在Google,找到的全是骗人的英文版本的.

     晚上还有一个js版本的计算器要写.还是一点头绪都没有,
不都说了,有绝对ok的在补上.   讲义下载

     前面写了一个JavaScript正则判断汉字的实力.有感兴趣的朋友可以看看.


posted @ 2010-03-16 16:48 王吉刚 阅读(490) | 评论 (0)编辑 收藏

Javascript正则匹配所有的汉字中文实例


      搞了一下午的正则匹配汉字,终于有个结果了.
废话少说,还是把代码贴出来,给大家参考用吧 



 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <html>
 3  <head>
 4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5   <title> 正则匹配汉字 </title>
 6   <meta name="Generator" content="EditPlus">
 7   <meta name="Author" content="">
 8   <meta name="Keywords" content="">
 9   <meta name="Description" content="">
10  </head>
11 
12  <body>
13   <script>
14     function checkname(){
15         var name = document.getElementById("name").value;
16         //var reg = /\u7530/;   //匹配汉字田
17         //var reg = /\u4E00/;   // 汉字匹配最后9FA3   汉字匹配第一个4E00
18         var reg = /^[\u4E00-\u9FA3]{1,}$/     //这个就是匹配所有的汉字  
19         if(reg.test(name)){
20             alert("ok!匹配成功");
21         }else{
22             alert("error!");
23         }
24         return false;
25     }
26   </script>
27   <form action="http://localhost" method="" onsubmit="return checkname()">
28   <input type="text" id="name"><br>
29   <input type="submit" value="submit">
30   </form>
31  </body>
32 </html>
33 

汉字匹配编码是通过十六进制,这个大家都知道
这里有具体匹配到某个汉字的 编码表 Unicode+编码表 点击这里可以下载
有兴趣的朋友可以看看,因为内容有点多,所以打开有点慢.

posted @ 2010-03-16 15:32 王吉刚 阅读(3490) | 评论 (0)编辑 收藏

03.12_php学习笔记—JS03

 
       因为植树节,都把课程给耽误了.现在补上.
先把讲义的内容给复习一遍.
      讲义3,主要是讲到了JavaScript的函数和对象
     函数语法:
      function 函数名(参数1,参数2){
         ...//函数体
      }
      函数名(...);
      在JavaScript中函数是要先定义,在调用的
      其中,参数也是可选的
      return,函数返回值的关键字,返回变量值的类型(一般写在函数体的结尾)
     其中,老师回来给我讲了一下函数的递归,然后,自己折磨了折磨.写了一个阶乘
     后面,就是提到了我这边一个很重要的JavaScript的对象
    对象就是一种特殊的数据,拥有属性和方法
     其中,属性可以看着是对象的变量
     对象的方法可以看着是函数
     常见的JavaScript对象有 字符串对象、日期对象、数组对象、数学对象和正则对象....
    
      讲义3下载    讲义4下载




posted @ 2010-03-13 13:04 王吉刚 阅读(511) | 评论 (0)编辑 收藏

03.11_php学习笔记—JS02


     以前都是写一大堆废话才把讲义下载写在后面,今天就写在前面了.
     点击(惦记)我下载
     时间不多,快下课了。还是先来把今天的内容回顾一下吧.
     早上,来的比较早,老师没开始讲什么新的内容,就是给了一个ppt的练习而给我们做,虽然,都很基础.但还是值得一做.在这里如果需要的可以在讲义里面下载回去做,
     然后,今天讲到了循环
     1.for循环
      一般在知道循环次数的情况下用for循环
     2.while循环
      在循环次数不确定的情况下较多的用while循环
     3.do...while循环
      do...while和while循环的区别在于先输出一段,在执行后面的循环进行判断.
      do...while循环也适用于不确定循环次数时用
    循环中的break,continue,
     4. break,用来直接终止循环
      continue,跳出当前循环,然后,从下一段开始执行
     5.循环的嵌套
       最后,练习做了一题很有代表性的 9*9乘法口诀表  并且已多种不同的形式输出.

     所以,总体来说今天讲的内容并不多.还是希望能多做些枯燥的练习.还是要多练习啊
    好了,不罗嗦了。


    


posted @ 2010-03-11 17:18 王吉刚 阅读(503) | 评论 (0)编辑 收藏

03.10_php学习笔记—JS01



     今天,开始进入到了JavaScript的学习了,也开始进入到真正语言的学习了.所以,未免有点点压力.

既然是第一天的学习.所以,老师还是引导式的从语言的发展历史开始讲起,一点点介绍,特点....

所以,今天的课程也还是很轻松的,就今天的课程,在这里我也就粗类的复习一下.
1.JavaScript是基于对象和事件驱动的语言,弱类型的脚本语言,也是一种直接在客服端的解释性语言.
  所以,JavaScript不受版本和服务器环境的影响,只要浏览器可以执行js就ok.
2.JavaScript三种引入方式 ...
3.firebug工具的应用和代码的调试
4.document.write  输出语句
5.JavaScript的四种基本数据类型
   数值型、字符串型、布尔型、空值null 
    通过typeof可以获取定义变量的数据类型
6.变量 
    变量名 变量值
    变量的命名规则
    声明变量的关键字  var
    变量的赋值
7.运算符 
    算术运算、赋值运算、比较运算、逻辑运算、
8.三种消息框
    警告框alert、确认框confirm、提示输入框prompt
9.注释代码
   单行注释 //  ....
   多行注释 /*  .... */

然后,做了几个练习 

         讲义也还是 发在这边吧   点击(惦记)我下载

posted @ 2010-03-10 17:22 王吉刚 阅读(611) | 评论 (0)编辑 收藏

03.09_php学习笔记—CSS04

   刚刚一直在搞css关于圆角矩形的例子,网上看了不少吸收了不少新鲜的blood.

在这里只是提示一些把,本来要另外写一遍blog的.但没什么时间,而且还有几个作业没有完成.

css纯图圆角实现的原理其实很简单,但要是对于初学者来说,如果不理解这些原理的话,还是比较头疼的.现在一句话又是说不清楚,够麻烦的.这个问题下一次有机会补上..抱歉!!


   然后,在今天还写了一个css简单滑动菜单的效果详解链接

   下午看了一部分,关于css的一些属性标签.很多很强大的属性和功能.相信一定会继续把css发扬光大.
   CSS3 还是草案阶段,中文资料少之又少,基本上都是一篇内容转来转去,而我们的手册从基础语法到示例制作,都是根据W3C工作草案进行翻译,并结合自身的沉淀制作示例。
   备受期待的 CSS 3 新功能:
   圆角、多背景、@font-face 用户自定义字体、动画与渐变、渐变色、盒阴影、RGBa - 加入透明色、文字阴影等等
   CSS3 的出现,让代码更简洁、页面结构更合理,性能和效果得到兼顾。
                      CSS3手册下载

  还有今天的讲义下载地址:点击(点击)我吧

posted @ 2010-03-09 17:33 王吉刚 阅读(537) | 评论 (0)编辑 收藏

仅列出标题
共8页: 1 2 3 4 5 6 7 8