亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于php網(wǎng)上航空購(gòu)票系統(tǒng)的實(shí)現(xiàn)

        2013-01-01 00:00:00張東
        科技資訊 2013年3期

        摘 要:隨著計(jì)算機(jī)和互聯(lián)網(wǎng)開(kāi)始走進(jìn)家庭,網(wǎng)上航空售票系統(tǒng)也展現(xiàn)出巨大的優(yōu)勢(shì)。在家中操作電腦,就可以查到全部的航班信息,輕點(diǎn)鼠標(biāo)就可以完成訂票付款。本文采用了PHP語(yǔ)言和MySQL數(shù)據(jù)庫(kù)相結(jié)合,配合前臺(tái)HTML語(yǔ)言的支持,共同實(shí)現(xiàn)Web頁(yè)面的顯示和后臺(tái)數(shù)據(jù)的查詢和更新。

        關(guān)鍵詞:計(jì)算機(jī) 互聯(lián)網(wǎng) 購(gòu)票系統(tǒng) PHP MySQL HTML

        中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2013)01(c)-0025-02

        1 用戶注冊(cè)登錄功能的實(shí)現(xiàn)

        在用戶注冊(cè)頁(yè)面中,用戶需要在信息表中輸入用戶名、密碼、確認(rèn)密碼和電子郵箱地址四項(xiàng)內(nèi)容。用戶的注冊(cè)頁(yè)面使用表單變量來(lái)處理用戶輸入的信息,用戶提交數(shù)據(jù)后,系統(tǒng)會(huì)驗(yàn)證用戶名是否符合要求、兩次輸入的密碼是否一致、電子郵箱地址是否正確,如果輸入有誤將會(huì)自動(dòng)轉(zhuǎn)到注冊(cè)出錯(cuò)頁(yè)面,并會(huì)顯示相應(yīng)的錯(cuò)誤信息。在系統(tǒng)檢查輸入的信息無(wú)誤后即可注冊(cè)成功,注冊(cè)成功后會(huì)有提示頁(yè)面,并設(shè)置為延時(shí)3秒后跳轉(zhuǎn)到查詢頁(yè)面,這時(shí)為已登錄狀態(tài),不需要用戶再進(jìn)入用戶登錄頁(yè)面進(jìn)行登錄。

        在用戶登錄部分,需要用戶填寫(xiě)用戶名和密碼,系統(tǒng)根據(jù)輸入的用戶名在數(shù)據(jù)庫(kù)中的login數(shù)據(jù)表查找到密碼,然后進(jìn)行比對(duì),如果密碼正確,用戶就能登錄成功。在登錄成功后,系統(tǒng)將用戶的編號(hào)和用戶名保存在session變量中,以便之后的每一個(gè)頁(yè)面都可以調(diào)用。登錄成功后,也會(huì)自動(dòng)跳轉(zhuǎn)到航班查詢頁(yè)面,方便用戶立即開(kāi)始航班的查詢和預(yù)定。

        實(shí)現(xiàn)用戶登錄功能的部分代碼:

        if($submit)

        {

        if(!$_nick) $error="請(qǐng)?zhí)顚?xiě)用戶名";

        if((!isset($error)) and checknick($_nick)) $error="該用戶名不存在";

        if((!isset($error)) and (!$_password)) $error="請(qǐng)?zhí)顚?xiě)密碼";

        if(!isset($error))

        {

        bd3egZO5SFKr1Uosm8TfIA==

        $p=checkpassword($id);

        if($_password!=$p) $error="密碼不正確";

        }

        if(!isset($error))

        {

        $_SESSION["_userid"]="$id";

        $_SESSION["_nick"]="$nick";

        header("location:login_ok.php");

        }

        else

        {

        header("location:login_error.php?error=$error");

        }

        }

        2 航班查詢和機(jī)票預(yù)訂的功能的實(shí)現(xiàn)

        航班查詢功能是用出發(fā)城市、到達(dá)城市和出發(fā)日期三個(gè)條件的復(fù)合查詢,用戶輸入三個(gè)查詢條件后,點(diǎn)擊查詢按鈕開(kāi)始查詢。為了方便用戶輸入日期,本系統(tǒng)加入了一個(gè)日歷控件,在鼠標(biāo)點(diǎn)擊出發(fā)日期后的文本框時(shí),控件會(huì)自動(dòng)出現(xiàn),用戶可以通過(guò)點(diǎn)擊控件上的按鈕選擇日期。

        用戶查詢的結(jié)果會(huì)逐行顯示在航班選擇頁(yè)面上,直航的航班會(huì)優(yōu)先排列在表格考上的部分,中途需要中轉(zhuǎn)的航班在表格的備注欄中有標(biāo)注。在這個(gè)頁(yè)面上還可以點(diǎn)擊頁(yè)面中箭頭圖標(biāo)按起飛時(shí)間或者機(jī)票價(jià)格進(jìn)行排序,更加方便地幫助用戶選擇合適的航班出行。在每一個(gè)航班艙位對(duì)應(yīng)的價(jià)格之前都有一個(gè)單選按鈕,用戶可以通過(guò)這個(gè)單選按鈕來(lái)選中準(zhǔn)備預(yù)訂機(jī)票的航班,點(diǎn)擊下一步按鈕可繼續(xù)機(jī)票預(yù)訂。

        用戶選擇航班和艙位后點(diǎn)擊下一步,進(jìn)入乘客信息頁(yè)面。在這個(gè)頁(yè)面,用戶需要填寫(xiě)乘客姓名、證件號(hào)碼和聯(lián)系人信息、聯(lián)系電話。在頁(yè)面的上方還會(huì)顯示上一步所選航班的信息,供用戶確認(rèn)。

        在訂票流程的最后一步,是訂單確認(rèn)。在訂單確認(rèn)頁(yè)面中,會(huì)顯示全部的航班信息、乘客信息和聯(lián)系人信息,用戶需再次認(rèn)真檢查,核實(shí)無(wú)誤后點(diǎn)擊確認(rèn)按鈕即可完成機(jī)票的預(yù)訂。

        在整個(gè)航班查詢和機(jī)票預(yù)訂功能中,最核心的是查詢功能。查詢的實(shí)現(xiàn)過(guò)程涉及到多條件的查詢和輸出,和需要中轉(zhuǎn)航線的處理。多條件查詢的實(shí)現(xiàn)是使用一條查詢語(yǔ)句同時(shí)匹配數(shù)據(jù)表中的出發(fā)城市、到達(dá)城市、出發(fā)日期三個(gè)條件,并且還要滿足剩余票量不等于零。檢查剩余票量的工作完全是后臺(tái)完成的,不會(huì)在前臺(tái)頁(yè)面上有所體現(xiàn)。在數(shù)據(jù)的輸出時(shí),使用了循環(huán)控制,把查詢到的結(jié)果逐行輸出到表格中,設(shè)置循環(huán)終止條件為查詢結(jié)果為空。

        如何查詢中途需要中轉(zhuǎn)的航線是航班查詢中的一個(gè)難點(diǎn)問(wèn)題。為了解決這個(gè)問(wèn)題,本系統(tǒng)設(shè)計(jì)使用了兩條查詢語(yǔ)句和嵌套的兩次循環(huán)來(lái)輸出查詢結(jié)果。即第一次先查詢出發(fā)城市和出發(fā)日期兩個(gè)條件滿足的航班,第二次將第一次查詢結(jié)果中的到達(dá)城市作為新的出發(fā)城市,和用戶需要的到達(dá)城市兩個(gè)條件再次進(jìn)行查詢,這樣的兩次循環(huán)之后就可以得到中途中轉(zhuǎn)一次的航線,然后再最后一次循環(huán)中,將兩條航班的信息顯示在表格的同一行中,并將機(jī)票的價(jià)格自動(dòng)計(jì)算出來(lái)。

        航班的選擇是通過(guò)一個(gè)單選按鈕來(lái)實(shí)現(xiàn)的。要實(shí)現(xiàn)這部分的功能,這個(gè)單選按鈕必須能夠傳遞航班編號(hào)和用戶所選艙位兩種信息。為了實(shí)現(xiàn)這樣的功能,本系統(tǒng)設(shè)置單選按鈕的值為第一個(gè)字符是用來(lái)區(qū)別艙位,之后用六位來(lái)指明所選航班的編號(hào),如果有中轉(zhuǎn),最后六位為轉(zhuǎn)乘的航班編號(hào)。使用這樣的方法,把點(diǎn)選按鈕的值變成一個(gè)包含多個(gè)信息的字符型變量,在后續(xù)的頁(yè)面需要使用這些信息時(shí),再用相應(yīng)的函數(shù),把單選按鈕的值按位取出,得到相應(yīng)的信息。這樣就解決了使用一個(gè)單選按鈕完成多個(gè)信息的傳遞工作。

        本部分還通過(guò)查詢語(yǔ)句設(shè)置不同的條件,實(shí)現(xiàn)了對(duì)起飛時(shí)間或機(jī)票價(jià)格的排序功能。

        航班查詢和機(jī)票預(yù)訂功能的部分代碼如下:

        $sql1="select * from flightinfo where _from='".$_SESSION[s_from]."'and (_date='".$_SESSION[s_date]."')and (_remain!=0) order by _takeoff ";

        $result1=mysql_query($sql1);

        while($row1=mysql_fetch_array($result1))

        {

        $sql2="select * from flightinfo where _from='".$row1[_to]."' and (_to='".$_SESSION[s_to]."')";

        $result2=mysql_query($sql2);

        while($row2=mysql_fetch_array($result2))

        {

        echo "".$row1[_flight]."
        ".$row2[_flight]."".$row1[_from]."
        ".$row2[_from]."".$row1[_to]."
        ".$row2[_to]."".$row1[_date]."".$row1[_takeoff]."
        ".$row2[_takeoff]."".$row1[_arrive]."
        ".$row2[_arrive]."".($row1[_priceA]+$row2[_priceA])."".($row1[_priceB]+$row2[_priceB])."".$row1[_company]."
        ".$row2[_company]."中轉(zhuǎn)";

        }

        }

        3 管理員管理功能的實(shí)現(xiàn)

        本系統(tǒng)設(shè)計(jì)管理員為系統(tǒng)指定,不能自行添加和修改。管理員可以使用系統(tǒng)指定的管理員編號(hào)和登錄密碼來(lái)登錄網(wǎng)上航空售票管理系統(tǒng)。管理員成功登錄后可以選擇查詢航班或者更新航班。在查詢時(shí),同樣需要輸入航班號(hào)和日期。系統(tǒng)會(huì)通過(guò)這兩個(gè)條件查詢出該次航班的所有已預(yù)訂的機(jī)票的詳細(xì)信息,包括聯(lián)系人信息和乘客信息,結(jié)果會(huì)逐行地顯示在表格中,同時(shí)也會(huì)在最下方顯示剩余的票量。管理員添加、修改和刪除航班信息的操作,需要分別對(duì)待,其中修改和刪除功能是需要先輸入航班號(hào)和日期查詢到指定的航班,然后進(jìn)行修改和刪除操作。無(wú)論是添加、修改還是刪除都需要管理員對(duì)信息的準(zhǔn)確性進(jìn)行認(rèn)真的檢查,核實(shí)無(wú)誤后才會(huì)寫(xiě)入數(shù)據(jù)庫(kù)。值得一提的是,因?yàn)閯h除航班信息的操作可能會(huì)涉及到部分已經(jīng)訂票的乘客需要退票或者改簽的問(wèn)題,所以本系統(tǒng)為了在刪除機(jī)票后不丟失原有的訂單信息,特別設(shè)計(jì)刪除航班信息時(shí)在數(shù)據(jù)庫(kù)中的一個(gè)表中保留一個(gè)備份,這樣管理員還是可以通過(guò)查詢數(shù)據(jù)庫(kù)找到之前刪除的航班信息。管理員添加、修改和刪除航班信息功能的實(shí)現(xiàn)效果。

        4 數(shù)據(jù)庫(kù)的操作

        本系統(tǒng)使用的是MySQL數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)連接的工作放在了一個(gè)指定的文件中,系統(tǒng)需要連接數(shù)據(jù)庫(kù)時(shí)只需要調(diào)用這個(gè)文件,就可以完成數(shù)據(jù)庫(kù)的連接。系統(tǒng)中最主要的對(duì)數(shù)據(jù)庫(kù)的更新操作是系統(tǒng)生成訂單時(shí)保存航班信息和用戶信息。這一部分功能被設(shè)計(jì)在一個(gè)中轉(zhuǎn)頁(yè)面中進(jìn)行,這個(gè)頁(yè)面延時(shí)3秒自動(dòng)跳轉(zhuǎn),實(shí)際上就是在進(jìn)行寫(xiě)入數(shù)據(jù)庫(kù)的操作。它將之前所有填寫(xiě)的數(shù)據(jù)和會(huì)話變量中的數(shù)據(jù)分別寫(xiě)入相應(yīng)的數(shù)據(jù)表中,在這個(gè)過(guò)程中還需要將剛剛自動(dòng)生成的乘客編號(hào)再次取出保存在訂單信息表中。有關(guān)這個(gè)細(xì)節(jié)的實(shí)現(xiàn)方法,并沒(méi)有使用普通的查詢功能,而是使用了一個(gè)指定的函數(shù),將上一步中自動(dòng)生成的量臨時(shí)放入一個(gè)變量中保存,待下一步存入數(shù)據(jù)庫(kù)。生成訂單時(shí)寫(xiě)入數(shù)據(jù)庫(kù)的操作的部分代碼如下:

        include "mysql.inc.php";

        session_start();

        $sql1="insert into psgrinfo (_name,_idnum) values ('$_SESSION[name]','$_SESSION[idnum]')";

        mysql_query($sql1);

        $psgr_id=mysql_insert_id();

        $price_sum=("$_SESSION[_price1]"+"$_SESSION[_price2]");

        $sql2="insert into orderinfo values('','$_SESSION[flight_id1]','$_SESSION[flight_id2]','$_SESSION[_cabin]','$price_sum','$psgr_id','','','$_SESSION[contact]','$_SESSION[phone]',' $_SESSION[_userid]')";

        mysql_query($sql2);

        5 結(jié)語(yǔ)

        在全國(guó)經(jīng)濟(jì)高速發(fā)展的大背景下,人們的生活和工作節(jié)奏越來(lái)越快,航空出行在市場(chǎng)中占的比例越來(lái)越大。市場(chǎng)越大,意味著競(jìng)爭(zhēng)越激烈,而售票環(huán)節(jié)的優(yōu)劣將直接決定公司的發(fā)展前景。另一方面,只有在這種激烈的競(jìng)爭(zhēng)環(huán)境下,才能更好地發(fā)揮網(wǎng)上航空售票系統(tǒng)的優(yōu)勢(shì),同時(shí)競(jìng)爭(zhēng)也能激勵(lì)這一系統(tǒng)的更好發(fā)展。

        參考文獻(xiàn)

        [1] 施家慶.基于PHP的SFF-MVC框架研究[D].北京:國(guó)防科學(xué)技術(shù)大學(xué),2009.

        [2] 鄭靈翔.基于MVC模式的嵌入式Web設(shè)計(jì)方法[J].自然科學(xué),2009(3):96-97.

        [3] 楊智宇.PHP5+MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)指南[M].北京:科學(xué)出版社,2009.

        [4] 鄒天思,潘凱華.PHP網(wǎng)絡(luò)編程標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2009.

        无码精品日韩中文字幕| 久久中文字幕亚洲综合| 亚洲av久播在线一区二区| 亚洲色成人www永久在线观看| 亚洲精品毛片一区二区三区| 中文字幕无码免费久久99| 亚洲最大的av在线观看| 国产av精品一区二区三区久久| 亚洲国产天堂久久综合网| 亚洲精品无码久久毛片| 国产乱人伦AⅤ在线麻豆A| 人妻系列中文字幕av| 亚洲精品中文幕一区二区| 越猛烈欧美xx00动态图| 日本成人字幕在线不卡| 国产午夜三级精品久久久| 精品亚洲麻豆1区2区3区| 99精品免费久久久久久久久日本| 超碰Av一区=区三区| 国产精品午夜福利天堂| 国产18禁黄网站免费观看| 日本高清视频在线观看一区二区| 人人妻人人澡人人爽欧美一区双| 亚洲中久无码永久在线观看同| 人妻少妇精品无码系列| 白白色视频这里只有精品| 曰韩无码无遮挡a级毛片| 亚洲av成人精品日韩一区| 国产精品一区二区三区不卡| 国模91九色精品二三四| 色妞色视频一区二区三区四区 | 欧美成人一区二区三区| 人妖精品视频在线观看| 国产人成视频免费在线观看| 超短裙老师在线观看一区二区| 国产一区国产二区亚洲精品| 天堂国精产品2023年| 国产短视频精品区第一页| 国产黄片一区二区三区| 亚洲av无码乱码在线观看富二代| 欧美日韩不卡视频合集|