020-29133788
    资 讯
    您的位置:首页 >> 资 讯 >> 软件应用 >> 编程开发 >> 正文
    PHP基础入门

    点击:   发布日期:2013-01-17

    本文来自 www.020fix.com

    PHP程式语言基本注意事项:
    --------------------------------------------------------------------------------

    一、Web Server 如何分办PHP的档案与HTML档案:
    要让Web Server 能执行文件中的PHP程式码,文件的副档名,必须是 .php或 .phtml。如果要使用其他档名,请参考各Web Server的设定。


    二、程式码区域的开始与结束:
    PHP的优点之一,就是可以和HTML码溷合在一起。但是为了让Web Server能区分出 PHP的程式码与HTML码,所以,在每段PHP程式码的开头必须加入<?php,在结尾的地方加?>

    命令句:

    在PHP中,每一个命令句必须以分号;作结束。


    四、变数:
    变数是用来储存程式执行时的暂存资料。在PHP中,变数之前必需加 $ 的符号。另外,PHP的大小写是有差别的,所以在使用变数时,须注意大小写是否一致。PHP是属于 weakly typed的程式语言,对资料型态的规范较鬆,可以不先经宣告变数,就可以直接使用。好处是,程式写起来比较方便,坏处是,程式出问题时,比较难找出错误。


    五、程式注解:

    PHP的程式注解符号,与C++,Java一样,单行的注解使用 //。// 之后同一行所有的文字,在执行时都会被乎略。若要使用多行的注解时,可以使用 /* 和 */的注解符号。自/*开始到*/之间的所有文字,在执行时都会被乎略。




    --------------------------------------------------------------------------------
    PHP 的输出:
    --------------------------------------------------------------------------------

    一、echo 与 print的使用:  
    要列印输出程式的运算结果时,可以使用echo(PHP的语言结构)或 print(函数)。以下以实例分别示范echo和 print的用法。理论上,使用echo会比print略有效率。

    二、echo.php:

    使用 echo 输出: <br>
    这里的文字, Web Server不会作任何处理, 直接输出<hr>
    <?
    echo("有括弧的<br>");

    echo "没括弧的<hr>";

    $today = date("Y年m月d日"); //把呼叫 date函数所得的值, 设定给 $today变数

    echo <<<END
    这锅使用 "here document" 语法来输出"一狗票"文字, <br>
    所有用 here document的方式输出的文字, <br>
    都可以完整的保留下来, <br>
    变数在这里"也"可以被替换, <br>
    今天: $today<br>
    END;
    ?>
    <hr>上面的文字, 是执行过PHP程式所得的输出结果<br>
    这里的文字, Web Server不会作任何处理, 直接输出<hr>
    以下输出的结果是 &lt;?php echo $today ?&gt; 的简写方式<br>
    <?=$today?>
    <hr>


    三、print.php:
    使用 print 输出: <br>
    这里的文字, Web Server不会作任何处理, 直接输出<hr>
    <?
    print("有括弧的<br>");

    print "没括弧的<hr>";

    $today = date("Y年m月d日"); //把呼叫 date函数所得的值, 设定给 $today变数

    print <<<END
    这锅使用 "here document" 语法来输出"一狗票"文字, <br>
    所有用 here document的方式输出的文字, <br>
    都可以完整的保留下来, <br>
    变数在这里"也"可以被替换, <br>
    今天: $today<br>
    END;
    ?>
    <hr>上面的文字, 是执行过PHP程式所得的输出结果<br>
    这里的文字, Web Server不会作任何处理, 直接输出<hr>
    以下输出的结果是 &lt;?php print $today ?&gt; 的简写方式<br>
    <?=$today?>
    <hr>





    --------------------------------------------------------------------------------
    Web的表单处理:
    --------------------------------------------------------------------------------

    以上我们学到的是,使用PHP来输出程式运算的结果。接下来我们要学习如何,处理表单所传递过来的资料。
    一、102_form1.php:
    <html>
    <FORM METHOD=POST ACTION="">
    帐号: <INPUT TYPE="text" NAME="account"><BR>
    密码: <INPUT TYPE="text" NAME="password"><BR>
    <INPUT TYPE="submit" value="送出"></FORM>
    <HR>
    你输入的帐号: <?=$_POST[account]?> <BR>
    你输入的姓名: <?=$_POST[password]?>

    <HR>

    </html>



    程式说明:
    在102_form1.php中,我们使用简写的方式,把PHP码内嵌到HTML码中。
    表单所传递过来的资料,会按照HTML表单物件的名称,成为PHP可以读取的变数。如 :<INPUT TYPE="text" NAME="account"> 这个文字栏位,NAME属性的值是account。所以,要读取这个栏位的值,只要使用$account这个变数即可。

    练习题:
    把 102_form1.php存成 102_form2.php,中的 Form Method=Post 改为 Form Method=Get,并观察网址列的变化。
    在浏览器中输入http://www.igt.com.tw/~lib13/102_form1.php?account=abc&password=567,并观察网页输出的结果。
    在浏览器中输入http://www.igt.com.tw/~lib13/102_form2.php?account=efg&password=987,并观察网页输出的结果。

    二、使用 if-elseif-else的结构:
    1. 102_login.html
    <html>
    <FORM METHOD=POST ACTION="102_auth.php">
    帐号: <INPUT TYPE="text" NAME="account"><BR>
    密码: <INPUT TYPE="text" NAME="password"><BR>
    <INPUT TYPE="submit" value="送出">
    </FORM>
    </html>


    2. 102_auth.php
    <?php
    if($account == "lord" && $password == "pass"){
    echo "欢迎 $_POST[account], 你的密码是 $_POST[password]";
    }elseif($_POST[account] == "god" && $_POST[password] == "dog"){
    $y = date("Y") - 1911;
    $m = date("m");
    $d = date("d");
    echo "欢迎 $_POST[account], 今天是民国".$y."年".$m."月".$d."日";
    }else{
    echo "登入失败:<hr> 输入的资料:<br>帐号: $_POST[account] <br>密码: $_POST[password]";
    }
    ?>


    三、简单的数学运算:
    1. 102_rect.html
    <html>
    <FORM METHOD=POST ACTION="102_rect.php">
    高: <INPUT TYPE="text" NAME="h"><BR>
    宽: <INPUT TYPE="text" NAME="w"><BR>
    <INPUT TYPE="submit" value="送出">
    </FORM>
    </html>


    2. 102_rect.php
    <?php
    $area = $_POST[w] * $_POST[h];$para = 2 * ($_POST[w] + $_POST[h]);
    echo <<<END
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    </head>

    <body>
    <table width="61" border="0">
    <tr>
    <td width="36">高</td>
    <td width="15">$_POST[h]</td>
    </tr>
    <tr>
    <td>宽</td>
    <td>$_POST[w]</td>
    </tr>
    <tr>
    <td>面积</td>
    <td>$area</td>
    </tr>
    <tr>
    <td>周长</td>
    <td>$para</td>
    </tr>
    </table>
    </body>
    </html>
    END;
    ?>


    四、简单的比较运算:
    1. 102_comp.html

    <html>
    <FORM METHOD=POST ACTION="102_comp.php">
    n1: <INPUT TYPE="text" NAME="n1"><BR>
    n2: <INPUT TYPE="text" NAME="n2"><BR>
    <INPUT TYPE="submit" value="送出">
    </FORM>
    </html>


    2. 102_comp.php
    <?php
    if($_POST[n1] > $_POST[n2]){ $result = "$_POST[n1] 大于 $_POST[n2]";
    }elseif($_POST[n1] < $_POST[n2]){
    $result = "$_POST[n1] 小于 $_POST[n2]";
    }else{
    $result = "$_POST[n1] 等于 $_POST[n2]";
    }
    echo <<<END
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    </head>

    <body>
    <table border="0">
    <tr>
    <td width="36">n1</td>
    <td width="15">$_POST[n1]</td>
    </tr>
    <tr>
    <td>n2</td>
    <td>$_POST[n2]</td>
    </tr>
    <tr>
    <td>结果</td>
    <td>$result</td>
    </tr>
    </table>
    </body>
    </html>
    END;
    ?>