第8章 PHP制作動態(tài)網(wǎng)頁_第1頁
第8章 PHP制作動態(tài)網(wǎng)頁_第2頁
第8章 PHP制作動態(tài)網(wǎng)頁_第3頁
第8章 PHP制作動態(tài)網(wǎng)頁_第4頁
第8章 PHP制作動態(tài)網(wǎng)頁_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第8章PHP制作動態(tài)網(wǎng)頁01

PHP操作MySQL數(shù)據(jù)庫的方法

02管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)

03會話控制

1

PHP操作MySQL數(shù)據(jù)庫的方法主要內(nèi)容

連接MySQL服務(wù)器

選擇MySQL數(shù)據(jù)庫

執(zhí)行SQL語句010203

將結(jié)果集返回到數(shù)組中04

從結(jié)果集中獲取一行作為對象

從結(jié)果集中獲取一行作為枚舉數(shù)組

從結(jié)果集中獲取一行作為關(guān)聯(lián)數(shù)組050607

獲取查詢結(jié)果集中的記錄數(shù)08

釋放內(nèi)存

關(guān)閉連接

連接與關(guān)閉MySQL服務(wù)器的最佳時機091011連接MySQL服務(wù)器

mysqli擴展提供了mysqli_connect()函數(shù)實現(xiàn)與MySQL數(shù)據(jù)庫的連接。mysqlimysqli_connect([stringserver[,stringusername[,stringpassword[,stringdbname[,intport[,stringsocket]]]]]])語法參數(shù)說明serverMySQL服務(wù)器地址

或者localhostusername用戶名。默認值是服務(wù)器進程所有者的用戶名

rootpassword密碼。默認值是空密碼dbname連接的數(shù)據(jù)庫名稱

questiondbportMySQL服務(wù)器使用的端口號socketUNIX域socket選擇MySQL數(shù)據(jù)庫boolmysqli_select_db(mysqlilink,stringdbname)語法<?php$conn=mysqli_connect("","root",“”,);mysqli_select_db($conn,“questiondb");mysqli_query($conn,"setnamesutf8");?>除此之外,mysqli擴展還提供了mysqli_select_db()函數(shù)用來選擇MySQL數(shù)據(jù)庫。執(zhí)行SQL語句要對數(shù)據(jù)庫中的表進行操作,通常使用mysqli_query()函數(shù)執(zhí)行SQL語句。mixedmysqli_query($conn,stringquery[,intresultmode])語法執(zhí)行SQL語句$result=mysqli_query($conn,"insertintotb_membervalues('mrsoft','123','mrsoft@')");$result=mysqli_query($conn,"updatetb_membersetuser='mrbook',pwd='111'where

user='mrsoft'");$result=mysqli_query($conn,"deletefromtb_memberwhereuser='mrbook'");$result=mysqli_query($conn,"select*fromtb_demo01");mysqli_query($conn,"setnamesutf8");將結(jié)果集返回到數(shù)組中$array=mysqli_fetch_array($result)函數(shù)將結(jié)果集返回到數(shù)組中。arraymysqli_fetch_array(resourceresult[,intresult_type])語法從結(jié)果集中獲取一行作為對象mysqli_fetch_object()函數(shù)返回的是一個對象而不是數(shù)組。mixedmysqli_fetch_object(resourceresult)語法訪問結(jié)果集中行的元素的語法如下:$row->col_name從結(jié)果集中獲取一行作為枚舉數(shù)組mysqli_fetch_row()函數(shù)從結(jié)果集中取得一行作為枚舉數(shù)組(數(shù)字索引數(shù)組)。

forforeach的區(qū)別mixedmysqli_fetch_row(resourceresult)語法從結(jié)果集中獲取一行作為關(guān)聯(lián)數(shù)組mysqli_fetch_assoc()函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組。mixedmysqli_fetch_assoc(resourceresult)語法獲取查詢結(jié)果集中的記錄數(shù)使用mysqli_num_rows()函數(shù),可以獲取由select語句查詢到的結(jié)果集中行的數(shù)目。intmysqli_num_rows(resourceresult)語法釋放內(nèi)存mysqli_free_result()函數(shù)用于釋放內(nèi)存。voidmysqli_free_result(resourceresult);語法關(guān)閉連接使用mysqli_close()函數(shù)斷開與MySQL服務(wù)器的連接。boolmysqli_close($conn)語法連接與關(guān)閉MySQL服務(wù)器的最佳時機<?phpfunctionbook_query(){ global$conn; $result=mysqli_query($conn,"select*fromtb_demo01"); while($myrow=mysqli_fetch_row($result)){ echo$myrow[1].""; echo$myrow[2]."<br/>"; } mysqli_free_result($result);}$conn=mysqli_connect("localhost","root","","db_database10")ordie("連接數(shù)據(jù)庫服務(wù)器失敗!".mysqli_error());mysqli_query($conn,"setnamesutf8");book_query();book_query();mysqli_close($conn);?>2

管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)

主要內(nèi)容添加數(shù)據(jù)

編輯數(shù)據(jù)

刪除數(shù)據(jù)

批量數(shù)據(jù)操作01020304在電子商務(wù)平臺網(wǎng)后臺中查看訂單和刪除訂單

05

【實例】通過INSERT語句和mysqli_query()函數(shù)向圖書信息表中添加一條記錄。

添加數(shù)據(jù)

【實例】通過UPDATE語句和mysqli_query()函數(shù)實現(xiàn)對數(shù)據(jù)的更新操作。

編輯數(shù)據(jù)

【實例】如果不小心輸入了重復的記錄,那么,就要刪除多余的數(shù)據(jù),刪除數(shù)據(jù)只需利用mysqli_query()函數(shù)執(zhí)行DELETE語句即可。

刪除數(shù)據(jù)在update.php頁面添加一列,每行輸出復選框,name為chk[],value為數(shù)組id值。

【實例】開發(fā)一個可以執(zhí)行批量刪除數(shù)據(jù)的程序。

批量數(shù)據(jù)操作

【實例】開發(fā)一個可以執(zhí)行批量刪除數(shù)據(jù)的程序。

批量數(shù)據(jù)操作

【實例】開發(fā)一個可以執(zhí)行批量刪除數(shù)據(jù)的程序。

批量數(shù)據(jù)操作

【實例】在電子商務(wù)平臺網(wǎng)后臺中,管理員登錄后臺后,即可進入“查看客戶訂單信息”頁面。在該頁面中,管理員不僅可以同時查看多個用戶的訂單信息,而且可以同時刪除多個訂單。選中欲刪除的訂單信息后面的復選框(支持單條和多條訂單刪除),單擊“刪除選擇項”按鈕即可刪除指定的訂單記錄。在電子商務(wù)平臺網(wǎng)后臺中查看訂單和刪除訂單3

會話控制瀏覽器中的Cookie設(shè)置

以IE瀏覽器為例,Cookie的設(shè)置方法如下:

打開IE瀏覽器,單擊“工具”菜單中的“Internet選項”,然后選擇“隱私”選項卡,在“設(shè)置”區(qū)域可以拖動滾動滑塊,這樣即可修改IE瀏覽器中的Cookie設(shè)置。通常情況下,可以將滾動滑塊拖動至“中”或者“中高”級別,這樣既可以保護用戶的隱私,同時又開啟了Cookie。了解CookieCookie文本文件的格式如下:用戶名@網(wǎng)站地址[數(shù)字].txtCookie常用于以下3個方面:記錄訪客的某些信息。在頁面之間傳遞變量。將所查看的Internet頁存儲在Cookies臨時文件夾中,這樣可以提高以后瀏覽的速度。創(chuàng)建Cookie創(chuàng)建Cookie應用的是setcookie()函數(shù)。boolsetcookie(stringname[,stringvalue[,intexpire[,stringpath[,stringdomain[,intsecure]]]]])語法<?phpsetcookie("mr",'明日科技');setcookie("mr",'明日科技',time()+60);setcookie("mr","明日科技",time()+60,"/12.1/",".",1);?>讀取Cookie在PHP中應用全局數(shù)組$_COOKIE[]讀取客戶端Cookie的值。<?phpsetcookie(‘mr’,‘明日科技’,time()+60);//創(chuàng)建cookieif(isset($_COOKIE['mr'])){ echo‘讀取Cookie:’.$_COOKIE[‘mr’];//讀取cookie}?>通過setcookie()函數(shù)創(chuàng)建Cookie后,在當前頁應用echo$_COOKIE["name"]不會有任何輸出。必須是在刷新后或者到達下一個頁面時才可以看到Cookie值。因為setcookie()函數(shù)執(zhí)行后,會向客戶端發(fā)送一個Cookie,如果不刷新或者瀏覽下一個頁面,客戶端就不能將Cookie送回。注意刪除Cookie方法有兩種:一種是使用setcookie()函數(shù)刪除,另一種是在客戶端手動刪除Cookie。<?phpsetcookie("mr","",time()-1);?>還可以直接將過期時間設(shè)置為0,即直接刪除Cookie。說明創(chuàng)建Cookie數(shù)組setcookie(stringname[下標][,stringvalue[,intexpire[,stringpath[,stringdomain[,intsecure]]]]])語法<?phpsetcookie("user[1]","張三");setcookie("user[2]","李四");setcookie("user[super]","明日科技");header("location:cookie.php");?><?phpforeach($_COOKIE['user']as$key=>$value){

echo$key."=>".$value."<br/>";}?>7-1.php文件代碼cookie.php文件代碼了解Session在計算機專業(yè)術(shù)語中,SESSION是指一個終端用戶與交互系統(tǒng)進行通信的時間間隔,通常是指從注冊進入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時間。啟動Session

啟動Session使用的是session_start()函數(shù)。boolsession_start();語法注冊Session

會話變量啟動后,全部被保存在全局數(shù)組$_SESSION[]中。<?phpsession_start();$_SESSION["name"]=null;?>使用Session<?phpsession_start();//啟動session$string="PHP從基礎(chǔ)到項目實戰(zhàn)";if(!isset($_SESSION['name'])){$_SESSION[‘name’]=$string;echo$_SESSION['name'];}else{echo$_SESSION['name'];}?>將各種類型的數(shù)據(jù)添加到Session中,必須應用全局數(shù)組$_SESSION[]。刪除Session

刪除單個會話<?phpunset($_SESSION['name']);?>

刪除多個會話<?phpsession_unset();?><?php$_SESSION=array();?>方法1方法2

銷毀Session<?phpsession_destroy();?>Session和Cookie綜合應用

在Web網(wǎng)站的開發(fā)過程中,需要對不同的登錄用戶設(shè)置不同的權(quán)限。如果是管理員則可以登錄網(wǎng)站后臺管理系統(tǒng),管理網(wǎng)站的數(shù)據(jù);如果是普通用戶,則只有瀏覽網(wǎng)站的權(quán)限,不可以進入到網(wǎng)站的后臺管理系統(tǒng)。編寫一個實例,看如何通過SESSION來控制用戶對頁面的訪問權(quán)限。

用戶管理和權(quán)限控制autologin.php用戶登錄頁面,doautologin.php處理用戶登錄頁面,home.php登錄后進入的網(wǎng)站首頁,運行autologin頁面,用戶名密碼自定義,勾選允許下次自動登錄,進入home.php,第二次運行aotologin.php直接進入home頁。

登錄功能的實現(xiàn)<?phpsession_start();if(isset($_COOKIE["username"])){ $_SESSION["username"]=$_COOKIE["username"]; header("location:home.php");}?><?php session_start();?><!DOCTYPEhtml><html><head> <title>自動登錄示例</title></head><body>

歡迎<?phpecho$_SESSION["username"];?>來到本網(wǎng)站首頁</body></html>用戶管理和權(quán)限控制

自動登錄直接進入系統(tǒng)<?phpsession_start();$username=$_POST["username"];$pw=$_POST["pw"];//假設(shè)用戶名為安妮,密碼為123if($username=="安妮"&&$pw=="123"){ //登錄成功,判斷用戶是否點擊“允許下次自動登錄”復選框

if(isset($_POST["isaut

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論