【自學php】第二天 - php快速入門

來源:互聯網
上載者:User

標籤:style   blog   class   c   code   tar   

  打算看《php和mysql web開發》來學習php,所以也算是這本書的學習筆記吧,也按照書裡的例子來練習,但是也有些取捨。第一章是一個訂單表單的例子,php用於處理提交的表單。

  1.先建立訂單表單orderform.html:

   

  代碼如下:

<html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   </head><body>    <form action="processorder.php" method="post">        <table>            <tr style="background-color:#ccc">                <td width="100">種類</td>                <td>數量</td>            </tr>            <tr>                <td>輪胎</td>                <td><input type="text" name="tireqty" size="3"></td>            </tr>            <tr>                <td>汽油</td>                <td><input type="text" name="oilqty" size="3"></td>            </tr>            <tr>                <td>火花塞</td>                <td><input type="text" name="sparkqty" size="3"></td>            </tr>            <tr>                <td colspan="2" align="center">                    <input type="submit" value="submit order">                </td>            </tr>        </table>    </form></body></html>
View Code

  2.再建立procssorder.php來處理表單。 

  1)添加一點動態內容,顯示表單的處理時間:

    php的注釋有多行注釋/*... */,單行注釋//或#。

    php有4種風格的標記:
     XML風格   <?php code ?>
      簡短風格    <? code ?>
      script風格  <script language="php">code</script>
      asp風格     <% code %>
      推薦使用xml風格,簡短風格和asp風格需要在設定檔中啟用相應的選項。

<html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>訂單處理頁</title></head><body>    <h1>汽車配件網店</h1>    <h2>訂單</h2>    <?php         echo "<p>訂單處理時間:".date("H:i, jS F Y")."</p>";  //php用“.”連接字串    ?>    </body></html>
View Code

  2)訪問表單變數。

  在php中可以通過如下三種方式訪問tireqty域的值:

  $tireqty                                 //簡短風格

   $_POST[‘tireqty‘]                    //中等風格

   $HTTP_POST_VARS[‘tireqty‘]   //冗長風格   

  簡短風格需要將register_gloabals配置選項設定為on,這可能會導致安全性問題的錯誤,所以不建議用這種方式。冗長風格已經被棄用,通過register_long_arrays配置禁用它可以改進效能。所以中等風格是如今所推薦的。

  中等風格包括從$_POST, $_GET或$_REQUEST數組中檢索變數。$_GET或$_POST儲存相應的表單提交方式的資料,$_REQUEST儲存了所有提交方式的表單資料。

<?php    //php每一行要用;結尾    $tireqty = $_POST[‘tireqty‘];    $oilqty = $_POST[‘oilqty‘];    $sparkqty = $_POST[‘sparkqty‘];?><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>訂單處理頁</title></head><body>    <h1>汽車配件網店</h1>    <h2>訂單</h2>    <?php         echo "<p>訂單處理時間:".date("H:i, jS F Y")."</p>";  //php用“.”連接字串        echo "<p>您的訂單如下:</p>";        echo $tireqty." 個輪胎<br>";        echo $oilqty." 桶汽油<br>";        echo "$sparkqty 個火花塞"; //簡單類型的變數可以直接寫在雙引號中,php會用變數的內容插入到字串中,單引號沒有這個特性。    ?>    </body></html>
View Code

  3)計算購買的數量和總價。

  php變數不需要提前聲明,變數名前面必須加$。

  常量用define函數定義,並且引用常量的時候前面沒有$符號。

  define(‘TIREPRICE‘, 100);

   echo TIREPRICE;

<?php    //php每一行要用;結尾    $tireqty = $_POST[‘tireqty‘];    $oilqty = $_POST[‘oilqty‘];    $sparkqty = $_POST[‘sparkqty‘];    $totalqty = 0;    $totalamount = 0.00;    define(‘TIREPRICE‘, 100);    define(‘OILPRICE‘, 10);    define(‘SPARKPRICE‘, 4);    $totalqty = $tireqty + $oilqty + $sparkqty;    $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;?><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>訂單處理頁</title></head><body>    <h1>汽車配件網店</h1>    <h2>訂單</h2>    <?php         echo "<p>訂單處理時間:".date("H:i, jS F Y")."</p>";  //php用“.”連接字串        echo "購買總數:$totalqty <br>";        echo "購買總額:¥$totalamount<br>";    ?>    </body></html>
View Code

  4)加上簡單的伺服器端驗證。

  可以用exit結束整個php指令碼的執行。

  empty()可以檢查變數是否為空白或0,is_numeric()可以檢查變數是否為數字或數字字串。

<?php    //php每一行要用;結尾    $tireqty = $_POST[‘tireqty‘];    $oilqty = $_POST[‘oilqty‘];    $sparkqty = $_POST[‘sparkqty‘];    $totalqty = 0;    $totalamount = 0.00;    define(‘TIREPRICE‘, 100);    define(‘OILPRICE‘, 10);    define(‘SPARKPRICE‘, 4);?><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>訂單處理頁</title></head><body>    <h1>汽車配件網店</h1>    <h2>訂單</h2>    <?php         if(empty($tireqty) && empty($oilqty) && empty($sparkqty)){            echo "<p style=‘color:red‘>您沒有選購商品</p>";            exit;        }        if(is_numeric($tireqty) && is_numeric($oilqty) && is_numeric($sparkqty)){            $totalqty = $tireqty + $oilqty + $sparkqty;            $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;            echo "<p>訂單處理時間:".date("H:i, jS F Y")."</p>";  //php用“.”連接字串            echo "購買總數:$totalqty <br>";            echo "購買總額:¥$totalamount<br>";        }else{            echo "<p style=‘color:red‘>參數必須為數字</p>";            exit;        }        ?>    </body></html>
View Code

  3.大功告成:

    

  

  

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.