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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:网页实例:详细介绍用PHP来编写网页记数器
本款计数器用文本计数。没有用到数据库,可以实现如下功能: 利用一个文本文件实现多个页的计数减少服务器的I/O占用率在需要纪录的文件里,只需加入很少的几行代码 基本思路如下: 服务器

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.mb5u.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();
?>

分享:动态网页中直接不让访问PHP程序文件
由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问。

来源:模板无忧//所属分类:PHP教程/更新时间:2008-08-22
相关PHP教程