菜鸟学习:动态网页PHP基础学习笔记

1、  PHP片段四种表示形式。

标准tags:<?php   ?>

short tags:<?      ?> 需要在php.ini中设置short _open_tag=on,默认是on

asp tags: <%     %>需要在php.ini中设置asp_tags=on,默认是off

script tags:<script language=”php”></script>

2、  PHP变量及数据类型

1)$variable  ,变量以字母、_开始,不能有空格

2)赋值$variable=value;

3)弱类型,直接赋值,不需要显示声明数据类型

4)基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)  

5)特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)

3、  操作符

1)赋值操作符:=

2)算术操作符:+,-,*,/,%(取模)

3)连接操作符:. ,无论操作数是什么,都当成String,结果返回String

4)Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.=

5)Automatically Incrementing and Decrementing自动增减操作符:

(1)$variable+=1 <=>$variable++;$variable-=1 <=>$variable-,跟c语言一样,先做其他操作,后++或-

(2)++$variable,-$variable,先++或-,再做其他操作

6)比较操作符:= =(左边等于右边),!=(左边不等于右边),= = =(左边等于右边,且数据类型相同),>=,>,<,<=

7)逻辑操作符:|| ó or,&&óand,xor(当左右两边有且只有一个是true,返回true),!

4、  注释:

单行注释:// ,#

多行注释:/*  */

5、  每个语句以;号结尾,与java相同

6、  定义常量:define(“CONSTANS_NAME”,value)

7、  打印语句:print,与c语言相同

8、  流程控制语句

1)if语句:

(1)if(expression)

{

    //code to excute if expression evaluates to true

}

(2)if(expression)

      {

      }

     else

      {

      }

(3)if(expression1)

   {

}

elseif(expression2)

{

}

else

{

}

2)swich语句

switch ( expression )

{

     case result1:

         // execute this if expression results in result1

         break;

     case result2:

        // execute this if expression results in result2

        break;

     default:

       // execute this if no break statement

       // has been encountered hitherto

}

3)?操作符:

 ( expression )?returned_if_expression_is_true:returned_if_expression_is_false;
 

4)while语句:

(1) while ( expression )
{
      // do something
}
(2)do

  {

   // code to be executed

} while ( expression );

5)for语句:

    for ( initialization expression; test expression; modification expression ) {

   // code to be executed

}

6)break;continue

9、  编写函数

1)定义函数:

function function_name($argument1,$argument2,……) //形参

{

   //function code here;

}

2)函数调用

function_name($argument1,$argument2,……); //形参

3)动态函数调用(Dynamic Function Calls):

  1: <html>

  2: <head>

  3: <title>Listing 6.5</title>

  4: </head>

  5: <body>

  6: <?php

  7: function sayHello() {   //定义函数sayHello

  8:     print "hello<br>";

  9: }

 10: $function_holder = "sayHello";  //将函数名赋值给变量$function_holder

 11: $function_holder();  //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello

 12: ?>

 13: </body>

 14: </html>

4)变量作用域:

全局变量:

  1: <html>

  2: <head>

  3: <title>Listing 6.8</title>

  4: </head>

  5: <body>

  6: <?php

  7: $life=42;

  8: function meaningOfLife() {

9: global $life; 

/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/

 10:      print "The meaning of life is $life<br>";

 11: }

 12: meaningOfLife();

 13: ?>

 14: </body>

 15: </html>

5)使用static

  1: <html>

  2: <head>

  3: <title>Listing 6.10</title>

  4: </head>

  5: <body>

  6: <?php

  7: function numberedHeading( $txt ) {

  8:      static $num_of_calls = 0;

  9:      $num_of_calls++;

 10:      print "<h1>$num_of_calls. $txt</h1>";

 11: }

 12: numberedHeading("Widgets");  //第一次调用时,打印$num_of_calls值为1

 13: print("We build a fine range of widgets<p>"); 

 14: numberedHeading("Doodads");  /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/

 15: print("Finest in the world<p>");

 16: ?>

 17: </body>

 18: </html>

6) 传值(value)和传址(reference):

传值:function function_name($argument)

  1: <html>

  2: <head>

  3: <title>Listing 6.13</title>

  4: </head>

  5: <body>

  6: <?php

  7: function addFive( $num ) {

  8:      $num += 5;

  9: }

 10: $orignum = 10;

 11: addFive( &$orignum );

 12: print( $orignum );

 13: ?>

 14: </body>

 15: </html>

结果:10

传址:funciton function_name(&$argument)

  1: <html>

  2: <head>

  3: <title>Listing 6.14</title>

  4: </head>

  5: <body>

  6: <?php

  7: function addFive( &$num ) {

  8:      $num += 5;  /*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/

  9: }

 10: $orignum = 10;

 11: addFive( $orignum );

 12: print( $orignum );

 13: ?>

 14: </body>

 15: </html>

结果:15

7)创建匿名函数:create_function(‘string1’,’string2’); create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体

  1: <html>

  2: <head>

  3: <title>Listing 6.15</title>

  4: </head>

  5: <body>

  6: <?php

  7: $my_anon = create_function( '$a, $b', 'return $a+$b;' );

  8: print $my_anon( 3, 9 );

  9: // prints 12

 10: ?>

 11: </body>

 12: </html>

8)判断函数是否存在:function_exists(function_name),参数为函数名

10、用PHP连接MySQL

1)连接:&conn=mysql_connect("localhost", "joeuser", "somepass");

2)关闭连接:mysql_close($conn);

3) 数据库与连接建立联系:mysql_select_db(database name, connection index);

4) 将SQL语句给MySQL执行:$result = mysql_query($sql, $conn); //增删改查都是这句

5) 检索数据:返回记录数:$number_of_rows = mysql_num_rows($result);

   将记录放入数组:$newArray = mysql_fetch_array($result);

   例子:

  1: <?php
  2: // open the connection
  3: $conn = mysql_connect("localhost", "joeuser", "somepass");
  4: // pick the database to use
  5: mysql_select_db("testDB",$conn);
  6: // create the SQL statement
  7: $sql = "SELECT * FROM testTable";
  8: // execute the SQL statement
  9: $result = mysql_query($sql, $conn) or die(mysql_error());
 10: //go through each row in the result set and display data
 11: while ($newArray = mysql_fetch_array($result)) {
 12:     // give a name to the fields
 13:     $id = $newArray['id'];
 14:     $testField = $newArray['testField'];
 15:     //echo the results onscreen
 16:     echo "The ID is $id and the text is $testField <br>";
 17: }
 18: ?>

11、接受表单元素:$_POST[表单元素名],

如<input type=text  name=user>ó$_POST[user]

接受url中queryString中值(GET方式):$_GET[queryString]

12、转向其他页面:header("Location: http://www.webjx.com");

13、字符串操作:

1)explode(“-”,str)óJava中的splite

2)str_replace($str1,$str2,$str3) =>$str1要查找的字符串,$str2用来替换的字符串,$str3从这个字符串开始查找替换

3)substr_replace:

14、session:

1)打开session:session_start(); //也可以在php.ini设置session_auto_start=1,不必再每个script都写这句,但是默认为0,则必须要写。

2)给session赋值:$_SESSION[session_variable_name]=$variable;

3)访问session:$variable =$_SESSION[session_variable_name];

4)销毁session:session_destroy();

15、显示分类的完整例子:

1: <?php

  2: //connect to database

  3: $conn = mysql_connect("localhost", "joeuser", "somepass")

  4:     or die(mysql_error());

  5: mysql_select_db("testDB",$conn) or die(mysql_error());

  6:

  7: $display_block = "<h1>My Categories</h1>

  8: <P>Select a category to see its items.</p>";

  9:

 10: //show categories first

 11: $get_cats = "select id, cat_title, cat_desc from

 12:     store_categories order by cat_title";

 13: $get_cats_res = mysql_query($get_cats) or die(mysql_error());

 14:

 15: if (mysql_num_rows($get_cats_res) < 1) { //如果返回记录行数小于1,则说明没有分类

 16:    $display_block = "<P><em>Sorry, no categories to browse.</em></p>";

 17: } else {

 18:

 19:    while ($cats = mysql_fetch_array($get_cats_res)) { //将记录放入变量$cats中

 20:$cat_id = $cats[id];

 21:$cat_title = strtoupper(stripslashes($cats[cat_title]));

 22:$cat_desc = stripslashes($cats[cat_desc]);

 23:

 24: $display_block .= "<p><strong><a

 25: href=\"$_SERVER[PHP_SELF][U1] ?cat_id=$cat_id\">$cat_title</a></strong>//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目

 26: <br>$cat_desc</p>";

 27:

 28:if ($_GET[cat_id] == $cat_id) { //选择一个分类,看下面的条目

 29:    //get items

 30:    $get_items = "select id, item_title, item_price

 31:    from store_items where cat_id = $cat_id

 32:     order by item_title";

 33:    $get_items_res = mysql_query($get_items) or die(mysql_error());

 34:

 35:    if (mysql_num_rows($get_items_res) < 1) {

 36:         $display_block = "<P><em>Sorry, no items in

 37:          this category.</em></p>";

 38:     } else {

 39:

 40:         $display_block .= "<ul>";

 41:

 42:         while ($items = mysql_fetch_array($get_items_res)) {

 43:             $item_id = $items[id];

 44:             $item_title = stripslashes($items[item_title]);

 45:             $item_price = $items[item_price];

 46:

 47:             $display_block .= "<li><a

 48:              href=\"showitem.php?item_id=$item_id\">$item_title</a>

 49:              </strong> (\$$item_price)";

[U2]  50:         }

 51:

 52:         $display_block .= "</ul>";

 53:    }

 54: }

 55:     }

 56: }

 57: ?>

 58: <HTML>

 59: <HEAD>

 60: <TITLE>My Categories</TITLE>

 61: </HEAD>

 62: <BODY>

 63: <? print $display_block; ?>

 64: </BODY>

 65: </HTML>

16、PHP连接Access:

   <? 
$dbc=new com("adodb.connection"); 
$dbc->open("driver=microsoft access driver (*.mdb);dbq=c:\member.mdb"); 
$rs=$dbc->execute("select * from tablename"); 
$i=0; 
while (!$rs->eof){ 
$i+=1 
$fld0=$rs->fields["UserName"]; 
$fld0=$rs->fields["Password"];
.... 
echo "$fld0->value $fld1->value ...."; 
$rs->movenext(); 

$rs->close(); 
?>

时间: 2024-08-16 12:38:18

菜鸟学习:动态网页PHP基础学习笔记的相关文章

学习动态网页技术ASP:认识数学函数

动态|函数|网页 在这篇asp之数学函数里,我们将会以表格的形式,让大家了解到关于ASP中能用到的数学函数,里面包括一个数的绝对值.一个数的平方根,角度的正弦.余弦值等. 函数 语法 功能 Abs Abs(num) 返回一个数的绝对值 Sqr Squ(num) 返回一个数的平方根 Sin Sin(num) 返回角度的正弦值 Cos Cos(num) 返回角度的余弦值 Tan Tan(num) 返回角度的正切值 Atn Atn(num) 返回角度的反正切值 Log Log(num) 返回一个数的对

网页制作基础学习:表格魔鬼教程经典版

教程|网页 一.表格中单元格之间分隔线的隐藏方法 第 一 行 第 二 行 第 三 行 这个表格去掉了单元格之间的纵向分隔线 第 第 第 一 二 三 列 列 列 这个表格去掉了单元格之间的横向分隔线 横   线 竖   线 都 没 了 这个表格去掉了单元格之间的纵向分隔线和横向分隔线 其实上面的三个表格都有三行三列,隐藏分隔线的诀窍在于rules,察看这三个表格的源代码,我们可以看到 二.表格边框的隐藏 普 表 通 格 这是一普通的表格 不怕 下雨     只显示上边框     下起雨来 该怎么办

经典:学习动态网页PHP技术常见问题汇总解答

1:为什么我得不到变量 我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值? 在PHP4.2以后的版本中reGISter_global默认为off 若想取得从另一页面提交的变量: 方法一:在PHP.ini中找到register_global,并把它设置为on. 方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()). 方法三:一个一个读取变量$a

详细学习动态网页制作PHP技术的正则表达式

正则表达式难于书写.难于阅读.难于维护,经常错误匹配意料不到的文本或者错过了有效的文本,这些问题都是由正则表达式的表现和能力引起的.每个元字符(metacharacter)的能力和细微差别组合在一起,使得代码不借助于智力技巧就无法解释.      许多包含一定特性的工具使阅读和编写正则表达式变得容易了,但是它们又很不符合习惯.对于很多程序员来说,书写正则表达式就是一种魔法艺术.他们坚持自己所知道的特征并持有绝对乐观的态度.如果你愿意采用本文所探讨的五个习惯,你将可以让你设计的正则表达式经受的住反

Javascript基础学习笔记(菜鸟必看篇)_基础知识

什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var 变量名 变量名 = 值; 变量要先声明再赋值 变量可以重复赋值 变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符串(strin

动态网页学习:JSP学习笔记全记录

js|笔记|动态|网页 JSP学习笔记(一)-----概述 JSP学习笔记(二)-----使用Tomcat运行JSP文件 JSP学习笔记(三)-----使用JSP处理用户注册和登陆 JSP学习笔记(四)-----JSP动作的使用 JSP学习笔记(五)-----JSP中使用JavaBean JSP学习笔记(六)-----在多个JSP页面之间传递参数 JSP学习笔记(七)-----猜数字游戏 JSP学习笔记(八)-----include的运用 JSP学习笔记(九)-----JSP标签库

值得收藏的asp.net基础学习笔记_实用技巧

值得收藏的asp.net基础学习笔记,分享给大家. 1.概论 浏览器-服务器 B/S 浏览的  浏览器和服务器之间的交互,形成上网B/S模式 对于HTML传到服务器  交给服务器软件(IIS)  服务器软件直接读取静态页面代码,然后返回浏览器 对于ASPX传达服务器  交给服务器软件(IIS)   IIS发现自己处理不了aspx的文件,就去映射表根据后缀名里找到响应的处理程序(isapi,服务器扩展程序) 问题:IIS如何调用可扩展程序? 答:可扩展程序首先就是按照IIS提供的借口实现代码,所以

学习网页制作基础入门教程(3)字体标签

教程|入门教程|网页 相关文章: 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 标题标签 1. 使用方法:<H1>标题內容</H1> 2. 标签解释:标题的大小一共有六种,两个标签一组,也就是从 <H1> 到 <H6> , <H1> 最大,<H6>最小.使用标题标签时,该标签会将字体变为粗体字,并会自成一行. 3. 使用范例: 原始碼 呈現結果 <H1>标题1</H1> 标题1

学习网页制作基础入门教程

教程|入门教程|网页 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 学习网页制作基础入门教程(3)字体标签 学习网页制作基础入门教程(4)图象标签 学习网页制作基础入门教程(5)背景标签 学习网页制作基础入门教程(6)连接标签 学习网页制作基础入门教程(7)表格标签 学习网页制作基础入门教程(8)框架标签 学习网页制作基础入门教程(9)序列标签 学习网页制作基础入门教程(10)表单标签 学习网页制作基础入门教程(11)注意的问题