| Profilo di Rains青蛙冬眠的小窝FotoBlogElenchi | Guida |
|
13 gennaio PHP讲座(3)如果大家这几天看过PHP手册的话,应该已经对PHP有了一些了解了
我不想花太多时间在那些基本概念上。这一讲开始教大家做个简单的小程序 在写代码之前,先讲一下编写代码时的规范: 1,缩进,循环或逻辑结构,同层次的结构竖直对齐。相邻层次之间差一个tab,或4个空格 一般高级一些的编辑器都可以选择Tab缩进的字符数,我习惯是缩进四个字符 缩进的好处就是能够让代码结构一目了然,避免逻辑混乱或丢失括号使前后括号不匹配 2.一定要写好注释,不要以为自己能记住所有的东西,注释不光是给别人看,自己也需要
注释一般有三种形式:"/* */" "#" 和 "//" 其中"/* */"这种注释可以一次注释多行,"#"和"//"都是一次注释一行 关于缩进和注释请看下面这个代码:
<?php /* 本程序打印100以内质数表 */ for($i=1;$i<100;$i++) { //从2开始如果$i不能被$j整除,就让$j自增,直到 //$j到了$i的一半或$i被$j整除 $j = 2; while($j<$i/2) { if($i%$j!=0)$j++; //只有$i是质数的时候$j才有可能增加到大于$i/2 else break; } if($j>$i/2) { echo $i."\r\n"; //输出$i加上换行回车 } } ?> ------------------------------------------------------------------------ output: 1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 咱们今天做的程序是一个计数器。 文件名就叫做count.php吧。 首先,我们先想一下计数器是怎么工作的。有一个人访问的时候,就让原来的数增加一 这个程序的工作顺序是: 1.取出老数据,2.新数据=老数据+1,3.显示并写回新数据。 我提供给大家使用文件和使用数据库两种版本的程序 <?php $datafile = "count.dat"; //指定一个文件名,作为保存数据的文件 $count = intval(@file_get_contents($datafile));//获取数据文件的内容,并转化为整$dbhost = 'localhost'; //数据库主机地址 $dbuser = 'root'; //连接数据库时需要的用户名 $dbpass = ''; //数据库用户的密码 $dbname = 'test'; //数据库名 $link = mysql_connect($dbhost,$dbuser,$dbpass); //打开一个数据库连接 mysql_select_db($dbname);//选择使用指定数据库 $sql = "select count from count"; //读取计数值的sql语句 $res = mysql_query($sql); //查询这个语句,返回一个结果集 $count = mysql_result($res,0);//得到第一条纪录的值 $count++; //自增一 $sql = "update count set count=".$count; //更新数据库的语句 mysql_query($sql);//查询这个语句 mysql_close($link);//关闭数据库连接 echo $count;//输出计数 ?> 到此为止,两种实现都做好了。 是不是很容易啊:) 可能你想在多个页面应用这个计数器,重复很多次相同的代码肯定不是你想要的。 怎么样能够重用你的代码呢?怎么样能更自由的控制计数器的调用呢?怎样能 让计数器以漂亮的图片来显示访问次数呢?敬请关注下一讲。:) PHP讲座(2)今天介绍一下PHP的全局变量,以及新手需要注意的问题
其实这是手册上的内容,为了方便大家理解,我加一些解释 所谓超全局变量,就是在整个脚本范围内都有效,无需用户声明,
脚本被访问到即存在的一些变量。这些超全局变量全都是数组。 $GLOBALS数组里面包含着所有全局变量及所有其他的超全局变量。 $_SERVER里面常用的有$_SERVER['REMOTE_ADDR'];获得用户的ip:) $_GET就是url里面的query_string里面的内容比如我 http://localhost/test1.php?name=myname&pass=mypass 那么test1.php中的$_GET数组会有下面两个元素: $_GET['name']值是myname,$_GET['pass']值是mypass. 在任何地方都可以print_r($array);来打印出$array的内容。 如果你在test1.php中加上 <?php print_r($_GET); ?> 访问 http://localhost/test1.php?name=myname&pass=mypass 将会输出: Array ( [name] => myname [pass] => mypass ) 新手常见的问题是看到一些老的文章或手册上说 php会自动的创建 值为myname的$name, 为什么我echo $name就是空呢?什么也没有得到... 这个问题跟php.ini的设置有关,有一项register_globals,自动的把表单变量注册为 全局变量,由于安全问题,默认为off,老版本的php可能默认为on,那可能导致安全问题 所以不推荐修改它为on。想使用$name可以$name = $_GET['name']; $_POST跟$_GET差不多,只不过它里面是method="post"的表单提交的信息
$_COOKIE里面是当前站点的所有cookie,cookie可以在访问者的浏览器中记录 用户的会话中用到的变量。作用跟$_SESSION差不多,但是没有SESSION安全性高 $_FILES是上传文件用的,http://phptree.com就是用的这种方法 $_ENV是环境变量,一般很少用到。 $_REQUEST内容很杂包含了$_GET,$_POST,$_COOKIE的内容,一般不推荐使用 $_SESSION是在服务器端保存用户会话用的,可以用来在不同页面间隐式传递数据 还有一点新手需要注意的是,程序使用$_COOKIE或$_SESSION之前不能有任何对浏览器 的输出,否则会产生一个warning,并且$_COOKIE或$_SESSION使用失败。 --------------------下面是手册内容----------------------
PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量。 该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。 类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET 经由 URL 请求提交至脚本的变量。 类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。 $_POST 经由 HTTP POST 方法提交至脚本的变量。 类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。 $_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。 类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES 经由 HTTP POST 文件上传而提交至脚本的变量。 类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。 详细信息请参阅 POST 方法上传。 $_ENV 执行环境提交至脚本的变量。 类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 $_REQUEST 经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。 所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的
variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。 注意 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。 注: 当运行于命令行模式时,这个数组将不会包含 argv 和 argc 入口; 它们已经存在于数组 $_SERVER 中。 $_SESSION 当前注册给脚本会话的变量。 类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。 详细信息,请参照 Session 处理函数章节。 昨晚停电,今天慌忙间忘戴眼镜世界一片朦胧啊
看不清东西的时候才想起要保护眼睛 21 dicembre 我说 --icellajj发现你的审美开始变好了 --icellaii
太好了~~这个留言界面真干净! im the first~~hohoho! <font color="silver">posted by:icellaii [219.148.140.15]</font> 19 dicembre power toy?
16 dicembre PHP讲座(1)PHP是一种非常优秀的,可以制作大中小型网站的语言,跟asp,jsp,asp.net工作方式差不
多。有人测试过性能,php跟jsp各有长短。php对字符串和数据库连接支持的更好,jsp的 数学运算更强一些,可以说,做普通网站(不需要大量计算的网站)的话,php比jsp更强。 HTML是超文本标记语言,我主要是介绍PHP,所以HTML就由大家自己私下去看了。 PHP与C的语法很相似。学过C的或熟悉javascript的人可能更容易接受PHP。 html文件是超文本,PHP是超文本预处理语言 顾名思义,php就是用来处理数据生成超文本的。这个是php最基本的功能。但php的 功能不限于此。具体能做什么,就要看你想让它做什么了。有人用PHP写一个独立的 webserver,我测试了一下,性能也不错。 想学php就要先有php的运行环境,我们需要的是php4.4,apache1.3.33,操作系统windows 和linux/unix都可以,具体怎么安装我不详细说了,自己看软件的安装说明,看不懂就 google去吧 PHP一般用<?php ?>标签从html中分离。文件命名一般为.php 常见标签有四种:标准标签 <?php ?> 短标签 <? ?> asp标签 <% %> script标签 <script language=php> </script> 最常用的是标准的标签或短标签 最简单的PHP文件如下:
<?php
echo "this is my first script!";
?>
今天不讲太多的实质内容,只是告诉大家PHP是什么,下一讲介绍一些简单应用。
想学PHP的人自己下面多花些时间了,我很懒,不会手把手的教。
想学asp但没还学的人,现在转到php来吧。已经学了asp的人不妨也来体会一下php的强大:) 昨天吃到饭了飞雄大哥发了一笔巨额奖金,大家腐败了一回
每人一碗米粉外加一瓶可乐。
并把欠老板的15块钱还上了 :) --diana哥哥我换SPACES了,加个链接吧 posted by:diana [221.192.160.54] 17 novembre sp~ --icellaee哈,大眼睛快赶上我的了。
我好想kiss这个小美女
---------------------------
顺便清洗800年没擦的显示器
ps,您的眼睛还成吧~`皱纹没再长? posted by:icellaee [219.148.140.15] 13 novembre bingo! --icelladdWhat kind of flowers grow on your face? posted by:icelladd [219.148.140.15] 11 novembre how a u ? --boxthe big big big frog ?
Frogs hibernate during the winter every year. will u?? posted by:box [221.216.137.38] |
||||||||||||||||
|
|