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

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

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

标准tags:<?PHP  ?>

shorttags:<?     ?>需要在PHP.ini中设置short_open_tag=on,默认是on

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

scripttags:<scriptlanguage=”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)CombinedAssignmentOperators合计赋值操作符:+=,*=,/=,-=,%=,.=

5)AutomaticallyIncrementingandDecrementing自动增减操作符:

(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)

{

   //codetoexcuteifexpressionevaluatestotrue

}

(2)if(expression)

     {

 

     }

    else

     {

 

     }

(3)if(expression1)

  {

}

elseif(expression2)

{

}

else

{

}

2)swich语句

switch(expression)

{

    caseresult1:

        //executethisifexpressionresultsinresult1

        break;

    caseresult2:

       //executethisifexpressionresultsinresult2

       break;

    default:

      //executethisifnobreakstatement

      //hasbeenencounteredhitherto

}

 

3)?操作符:

 (expression)?returned_if_expression_is_true:returned_if_expression_is_false;
 

4)while语句:

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

 {

  //codetobeexecuted

}while(expression);

5)for语句:

   for(initializationexpression;testexpression;modificationexpression){

  //codetobeexecuted

}

6)break;continue

9、 编写函数

1)定义函数:

functionfunction_name($argument1,$argument2,……)//形参

{

  //functioncodehere;

}

2)函数调用

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

3)动态函数调用(DynamicFunctionCalls):

 1:<html>

 2:<head>

 3:<title>Listing6.5</title>

 4:</head>

 5:<body>

 6:<?PHP

 7:functionsayHello(){  //定义函数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>Listing6.8</title>

 4:</head>

 5:<body>

 6:<?PHP

 7:$life=42;

 8:functionmeaningOfLife(){

9:global$life; 

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

 10:     print"Themeaningoflifeis$life<br>";

 11:}

 12:meaningOfLife();

 13:?>

 14:</body>

 15:</html>

5)使用static

 1:<html>

 2:<head>

 3:<title>Listing6.10</title>

 4:</head>

 5:<body>

 6:<?PHP

 7:functionnumberedHeading($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("Webuildafinerangeofwidgets<p>"); 

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

 15:print("Finestintheworld<p>");

 16:?>

 17:</body>

 18:</html>

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

传值:functionfunction_name($argument)

 1:<html>

 2:<head>

 3:<title>Listing6.13</title>

 4:</head>

 5:<body>

 6:<?PHP

 7:functionaddFive($num){

 8:     $num+=5;

 9:}

 10:$orignum=10;

 11:addFive(&$orignum);

 12:print($orignum);

 13:?>

 14:</body>

 15:</html>

结果:10

传址:funcitonfunction_name(&$argument)

 1:<html>

 2:<head>

 3:<title>Listing6.14</title>

 4:</head>

 5:<body>

 6:<?PHP

 7:functionaddFive(&$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>Listing6.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://prints12

 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(databasename,connectionindex);

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

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

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

  例子:

 1:<?PHP
 2://opentheconnection
 3:$conn=mysql_connect("localhost","joeuser","somepass");
 4://pickthedatabasetouse
 5:mysql_select_db("testDB",$conn);
 6://createtheSQLstatement
 7:$sql="SELECT*FROMtestTable";
 8://executetheSQLstatement
 9:$result=mysql_query($sql,$conn)ordie(mysql_error());
 10://gothrougheachrowintheresultsetanddisplaydata
 11:while($newArray=mysql_fetch_array($result)){
 12:    //giveanametothefields
 13:    $id=$newArray['id'];
 14:    $testField=$newArray['testField'];
 15:    //echotheresultsonscreen
 16:    echo"TheIDis$idandthetextis$testField<br>";
 17:}
 18:?>

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

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

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

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

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://connecttodatabase

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

 4:    ordie(mysql_error());

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

 6:

 7:$display_block="<h1>MyCategories</h1>

 8:<P>Selectacategorytoseeitsitems.</p>";

 9:

 10://showcategoriesfirst

 11:$get_cats="selectid,cat_title,cat_descfrom

 12:    store_categoriesorderbycat_title";

 13:$get_cats_res=mysql_query($get_cats)ordie(mysql_error());

 14:

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

 16:   $display_block="<P><em>Sorry,nocategoriestobrowse.</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:   //getitems

 30:   $get_items="selectid,item_title,item_price

 31:   fromstore_itemswherecat_id=$cat_id

 32:    orderbyitem_title";

 33:   $get_items_res=mysql_query($get_items)ordie(mysql_error());

 34:

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

 36:        $display_block="<P><em>Sorry,noitemsin

 37:         thiscategory.</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>MyCategories</TITLE>

 61:</HEAD>

 62:<BODY>

 63:<?print$display_block;?>

 64:</BODY>

 65:</HTML>

16、PHP连接Access

 
 <? 
$dbc=newcom("adodb.connection"); 
$dbc->open("driver=microsoftaccessdriver(*.mdb);dbq=c:/member.mdb"); 
$rs=$dbc->execute("select*fromtablename"); 
$i=0; 
while(!$rs->eof){ 
$i+=1 
$fld0=$rs->fields["UserName"]; 
$fld0=$rs->fields["Password"];
.... 
echo"$fld0->value$fld1->value...."; 
$rs->movenext(); 

$rs->close(); 
?>

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 网络技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭