官术网_书友最值得收藏!

5.6 實戰演練——創建酒店系統在線訂房表

本實例主要創建酒店系統的在線訂房表,其中需要創建兩個PHP文件,具體創建步驟如下。

01 在網站主目錄下建立文件formstringhandler.php,輸入以下代碼并保存。

    <! DOCTYPE     html     PUBLIC     "-//W3C//DTD     XHTML     1.0     Transitional//EN"
"http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
您的訂房信息:</HEAD>
    <BODY>
    <? php
     $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
     $customername = trim($_POST['customername']);
     $gender = $_POST['gender'];
     $arrivaltime = $_POST['arrivaltime'];
     $phone = trim($_POST['phone']);
     $email = trim($_POST['email']);
     $info = trim($_POST['info']);
if(! eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\-\.]+$', $email)){
        echo "這不是一個有效的email地址,請返回上頁且重試";
        exit;
    }
    if(! eregi('^[0-9]$', $phone) and strlen($phone)<= 4 or strlen($phone)>= 15){
        echo "這不是一個有效的電話號碼,請返回上頁且重試";
        exit;
    }
    if( $gender == "m"){
      $customer = "先生";
    }else{
      $customer = "女士";
    }
    echo '<p>您的訂房信息已經上傳,我們正在為您準備房間。確認您的訂房信息如下:</p>';
    echo $customername."\t".$customer.'將會在'.$arrivaltime.'天后到達。您的電話
為'.$phone."。我們將會發送一封電子郵件到您的email郵箱:".$email."。<br /><br />另外,我
們已經確認了您其他的要求如下:<br /><br />";
    echo nl2br($info);
    echo "<p>您的訂房時間為:".date('Y m d H:i:s')."</p>";
    ?>
    </BODY>
    </HTML>

02 在網站主目錄下創建文件form4string.html,輸入以下代碼并保存。

    <! DOCTYPE     html     PUBLIC     "-//W3C//DTD     XHTML     1.0     Transitional//EN"
"http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <HEAD><meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"
/><h2>GoodHome在線訂房表。</h2></HEAD>
    <BODY>
    <form action="formstringhandler.php" method="post">
    <table>
    <tr bgcolor="#3399FF" >
        <td>客戶姓名:</td>
        <td><input type="text" name="customername" size="20" /></td>
    </tr>
    <tr bgcolor="#CCCCCC" >
        <td>客戶性別:</td>
        <td>
        <select name="gender">
          <option value="m">男</option>
          <option value="f">女</option>
        </select>
        </td>
    </tr>
    <tr bgcolor="#3399FF" >
        <td>到達時間:</td>
        <td>
        <select name="arrivaltime">
          <option value="1">一天后</option>
          <option value="2">兩天后</option>
          <option value="3">三天后</option>
          <option value="4">四天后</option>
          <option value="5">五天后</option>
        </select>
       </td>
    </tr>
    <tr bgcolor="#CCCCCC" >
       <td>電話:</td>
       <td><input type="text" name="phone" size="20" /></td>
    </tr>
    <tr bgcolor="#3399FF" >
       <td>email:</td>
       <td><input type="text" name="email" size="30" /></td>
    </tr>
    <tr bgcolor="#CCCCCC" >
       <td>其他需求:</td>
       <td> <textarea name="info" rows="10" cols="30">    如果您有什么其他要求,請填
在這里。</textarea>
       </td>
    </tr>
    <tr bgcolor="#666666" >
       <td align="center"><input type="submit" value="確認訂房信息" /></td>
    </tr>
    </table>
    </form>
    </BODY>
    </HTML>

03 運行form4string.html,結果如圖5-15所示。

圖5-15 程序運行結果

04 填寫表單。【客戶姓名】為“王小明”、【客戶性別】為“男”、【到達時間】為“三天后”、【電話】為13592XXXX77、【email】為wangxiaoming@hotmail.com、【其他需求】為“兩壺開水,【Enter】一條白毛巾,【Enter】一個冰激凌”。單擊【確認訂房信息】按鈕,瀏覽器會自動跳轉至formstringhandler.php頁面,顯示結果如圖5-16所示。

圖5-16 程序運行結果

【案例分析】:

(1)$customername = trim($_POST['customername']); 、$phone = trim($_POST['phone']); 、$email = trim($_POST['email']);和$info = trim($_POST['info']);都是通過文本輸入框直接輸入的。所以,為了保證輸入字符串的純粹性,以方便處理,則需要使用trim()來對字符串前后的空格進行清除。另外,ltrim()清除左邊的空格;rtrim()清除右邊的空格。

(2)! eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\-\.]+$', $email)中使用正則表達式對輸入的email文本進行判斷。

(3)nl2br()對$info變量中的【Enter】操作,也就是對<br />操作符進行了處理。在有新行“\nl”操作的地方生成<br />。

(4)其中,由于要顯示中文,需要對文字編碼進行設置,charset=gb2312就是簡體中文的文字編碼。

主站蜘蛛池模板: 盱眙县| 来安县| 孝义市| 都兰县| 永安市| 定远县| 广州市| 岑巩县| 涟水县| 中西区| 西和县| 嘉黎县| 雷山县| 凌海市| 突泉县| 兴和县| 新巴尔虎右旗| 阳原县| 靖江市| 五大连池市| 安岳县| 乐安县| 彩票| 电白县| 开鲁县| 陆良县| 奉化市| 沾益县| 淮北市| 托里县| 苍山县| 阿拉尔市| 浙江省| 三明市| 上蔡县| 饶阳县| 柘城县| 辰溪县| 浪卡子县| 太湖县| 凤阳县|