新聞中心
我終究還是低估了“妹子”兩個(gè)字對(duì)程序猿們的殺傷力,在無(wú)圖說個(gè)杰寶的今天,竟然還能在沒有爆照的情況下點(diǎn)擊量一天不到就到達(dá)了四位數(shù),并且還成為當(dāng)天評(píng)論最多的帖子!雖然評(píng)論都歪樓歪得不行了,但是妹子還是非常貼心地對(duì)我說了一句——妹子在此表示很關(guān)注內(nèi)容??吹竭@句話,我頓時(shí)生出一種拋卻此身為君死的知遇之情,不知道我以身相許妹子能樂意不?

成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
這么多人看到這一系列,我還是應(yīng)該秉承技術(shù)博客的宗旨,盡量以講技術(shù)為主,跟廣大入門者一起探討PHP開發(fā)的知識(shí)。不過呢,為了照顧廣大因?yàn)闃?biāo)題點(diǎn)擊近來的程序猿們,我會(huì)在博客中增加一些妹子在學(xué)習(xí)過程中表現(xiàn)的敘述,并且傳授大家如何跟妹子培養(yǎng)感情,哦,不,是進(jìn)行學(xué)術(shù)交流。
既然是教妹子web開發(fā),尤其是在幾乎零基礎(chǔ)的情況下,就必須要從非?;镜臇|西講起,有足夠的耐心。但是也要有嚴(yán)格的教學(xué)思路,不能想到什么就說什么,這樣妹子聽了不但會(huì)覺得煩,而且學(xué)習(xí)效率也不高。你想想,妹子煩了,學(xué)習(xí)的勁頭上不去,后面還能有你的什么事呢?你還沒來得及展示你的知識(shí)深度和豐富開發(fā)經(jīng)驗(yàn)?zāi)?,妹子就已?jīng)把電腦一關(guān)棄你而去了,然后,還能有什么然后呢?!總結(jié)一句:沒方法沒思路沒耐心,注定孤獨(dú)一生。
在前一篇,已經(jīng)基本介紹了一些東西,可以概括為以下幾點(diǎn):1)php代碼要用標(biāo)簽進(jìn)行標(biāo)識(shí)(2)如何使用echo語(yǔ)句進(jìn)行輸出html代碼,另外關(guān)于要用對(duì)""中的"(雙引號(hào))用\(轉(zhuǎn)義符)進(jìn)行轉(zhuǎn)義。(3)php代碼是如何跟html代碼進(jìn)行混合的。那么,在這個(gè)基礎(chǔ)上,下一步就是如何提交表單以及所提交表單的處理。
第三步:提交表單
在html語(yǔ)法中,我們會(huì)用
看到上面這幾行代碼跟注釋,有人可能會(huì)覺得:這也太簡(jiǎn)單了吧。在一開始我就說過了,教妹子學(xué)技術(shù)的關(guān)鍵在于要有耐心,如果妹子什么都會(huì)了,還要你干嘛?在這里,重點(diǎn)要給妹子解釋一下的就是action="Controller.php",意思就是點(diǎn)擊submit提交按鈕后,頁(yè)面會(huì)跳轉(zhuǎn)到Controller.php這個(gè)文件,換句話來說——妹子,表單提交,就是把數(shù)據(jù)提交到Conroller.php上,由它來處理數(shù)據(jù)嘛。(這樣的解釋可能有失偏頗,但是為了讓妹子更好的理解,這也是權(quán)宜之計(jì),效果不錯(cuò)的喲)
第四步:獲取和處理所提交表單的數(shù)據(jù)
既然提交了表單,那么下一步肯定是如何獲取和處理表單中里的數(shù)據(jù)。如果你這個(gè)時(shí)候給妹子講POST請(qǐng)求和HTTP協(xié)議,妹子除了暈頭轉(zhuǎn)向并且給你兩個(gè)白眼,估計(jì)你啥效果都得不到。你可能會(huì)說,樓主你這樣的教學(xué)方式很不科學(xué)很不全面啊。是不是科學(xué)是不是全面我暫且不跟你爭(zhēng)論,有的時(shí)候講的細(xì)講的多不代表對(duì)學(xué)的人就好,能把教學(xué)過程進(jìn)行下去才是最重要的。
廢話少說,我們直接看Controller.php的代碼,在注釋的幫助給妹子解釋,PHP是如何獲取HTML表單數(shù)據(jù)的。
- session_start();//使用session前必須調(diào)用該函數(shù)
- $user_id =$_POST['user_id'];//聲明變量$user_id,把POST請(qǐng)求中的user_id的值賦給它
- $user_password= $_POST['user_password'];
- //聲明變量$user_password,把POST請(qǐng)求中的user_password的值賦給它
- //.操作符連接兩個(gè)字符串變量,以下兩條語(yǔ)句顯示所提交表單的用戶名和密碼
- echo "所提交表單的用戶名是:".$user_id;
- echo " 密碼是".$user_password;
- ?>
看到開頭的***句:session_start();和緊接著的注釋,妹子肯定會(huì)問——什么是session?。縮ession,通俗的來講,就是用戶從進(jìn)入網(wǎng)站開始到關(guān)閉瀏覽器結(jié)束的這個(gè)過程。而在PHP中使用session,就是通過注冊(cè)若干session全局變量,在不同的頁(yè)面或php文件中使用這些變量。妹子肯定沒有辦法一下子就明白session到底是怎么回事,當(dāng)前只要讓她暫時(shí)知道有這么一回事就行了,在往后的學(xué)習(xí)當(dāng)中會(huì)逐漸加深對(duì)其的理解。
繼續(xù)看到代碼,對(duì)照第三步的代碼我們會(huì)知道,提交表單的方式是POST,所以我們用$_POST變量來獲取表單中的數(shù)據(jù)。而中括號(hào)[' ']內(nèi)的索引為表單中的name,通過索引來獲取數(shù)組$_POST中的值,***顯示在頁(yè)面上。
把數(shù)據(jù)顯示到頁(yè)面上,固然是一種“處理”的方式??墒羌热皇堑卿浌δ?,那所輸入的用戶名和密碼一般來說都必須與系統(tǒng)中的設(shè)定吻合。例如系統(tǒng)中只有一個(gè)用戶名是admin,密碼是123456,那么在輸入除admin之外的用戶名都應(yīng)該是被拒絕登錄的,而密碼也應(yīng)該與admin所對(duì)應(yīng),必須是123456。判斷代碼如下:
- session_start();//使用session前必須調(diào)用該函數(shù)
- $user_id =$_POST['user_id'];//聲明變量$user_id,把POST請(qǐng)求中的user_id的值賦給它
- $user_password= $_POST['user_password'];
- //聲明變量$user_password,把POST請(qǐng)求中的user_password的值賦給它
- //.操作符連接兩個(gè)字符串變量,以下兩條語(yǔ)句顯示所提交表單的用戶名和密碼
- if($user_id=='admin'&&$user_password=='123456')//判斷語(yǔ)句,&&為且運(yùn)算符,必須兩條件均符合才為真
- {
- echo "通過驗(yàn)證,登錄成功";
- }
- else
- echo "未通過驗(yàn)證,登錄失敗";
- ?>
妹子很努力,上午我問她對(duì)數(shù)據(jù)庫(kù)的基本操作是不是熟悉,晚上我問她在干什么的時(shí)候,她說:在惡補(bǔ)數(shù)據(jù)庫(kù)呢。這時(shí)候,我的心里不知道多感動(dòng),本來上了一天班挺累的頓時(shí)疲勞盡消趕緊坐到電腦前碼字。
為什么我要讓她復(fù)習(xí)數(shù)據(jù)庫(kù)呢?因?yàn)槲覀兊南到y(tǒng)不大可能只有一個(gè)賬號(hào),更不可能把所有的賬號(hào)和密碼都寫進(jìn)PHP文件中。我們要做的是,把這些信息存進(jìn)數(shù)據(jù)庫(kù)里,到需要用的時(shí)候就拿出來。什么時(shí)候需要用呢?當(dāng)然是登錄需要驗(yàn)證的時(shí)候,也就是現(xiàn)在。
第五步:連接MySQL數(shù)據(jù)庫(kù)
PHP提供了完成的操作MySQL數(shù)據(jù)庫(kù)的函數(shù),這些函數(shù)提供了從連接數(shù)據(jù)庫(kù)、執(zhí)行SQL語(yǔ)句、處理數(shù)據(jù)結(jié)果集到關(guān)閉數(shù)據(jù)庫(kù)等方方面面的功能。妹子可以用通過這些函數(shù)使得基于MySQL數(shù)據(jù)庫(kù)的Web開發(fā)變得高效而且簡(jiǎn)單。
那么,我們就從最基本的連接數(shù)據(jù)庫(kù)開始。請(qǐng)看代碼:
- $host ='localhost';//定義數(shù)據(jù)庫(kù)服務(wù)器,為本地主機(jī)
- $user_name='root'; //定義數(shù)據(jù)庫(kù)的用戶名
- $password =''; //定義數(shù)據(jù)庫(kù)的密碼
- $conn = mysql_connect($host,$user_name,$password);//連接MySQL,獲取鏈接
- if(!$conn){//判斷鏈接是否為空
- die('數(shù)據(jù)庫(kù)連接失?。?.mysql_error());
- //使用了語(yǔ)言結(jié)構(gòu)die(),它的功能類似于exit,輸出一段信息不能并立即中斷程序的執(zhí)行
- }
- else{
- echo "數(shù)據(jù)庫(kù)連接成功";
- }
在這里,我假定妹子知道什么是服務(wù)器、用戶名和密碼(心理活動(dòng):妹子說惡補(bǔ)了一個(gè)晚上,該不會(huì)連這個(gè)都不知道吧,心驚膽戰(zhàn)ing)。關(guān)鍵的語(yǔ)句其實(shí)就只有一句,
$conn = mysql_connect($host,$user_name,$password);$host(服務(wù)器)、$user_name(用戶名)和$password(密碼)作為參數(shù),通過mysql_connect函數(shù)獲取mysql數(shù)據(jù)庫(kù)的鏈接,并賦給變量$conn。
那么,如何利用數(shù)據(jù)庫(kù)鏈接$conn對(duì)mysql數(shù)據(jù)庫(kù)進(jìn)行操作呢?我們明天在下一篇再繼續(xù)說。
網(wǎng)站名稱:如何從零開始教女同學(xué)進(jìn)行PHP開發(fā)(2):表單的處理
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/copchej.html


咨詢
建站咨詢
