电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP用戶指南-cookies部分

瀏覽:2日期:2024-01-17 18:58:14
PHP用戶指南-cookies部分 在這課教程我們將學(xué)習(xí)怎樣利用 PHP 處理cookies,我將試著使事情盡可能簡單地去解釋cookies的一些實際應(yīng)用。 什么是cookies及作用?;;cookies是由web服務(wù)器產(chǎn)生的并且存在客戶端的一些信息。它嵌在html信息中,由服務(wù)器端指定,在客戶端及服務(wù)器端間傳遞信息 。它通常用來:用戶網(wǎng)頁個性化,計數(shù)器,儲存被瀏覽站點的信息等。 cookies和php 在 PHP中用cookies是相當(dāng)容易的。可以使用setcookie函數(shù)設(shè)置一個cookie。cookie是 HTTP標(biāo)頭的一部分, 因此設(shè)置cookie功能必須在任何內(nèi)容送到瀏覽器之前。這種限制與header()函數(shù)一樣。任何從客戶端傳來的cookie將自動地轉(zhuǎn)化成一個PHP變量。PHP取得信息頭并分析, 提取cookie名并變成變量。因此,如果你設(shè)置cookie如setcookie("mycookie","wang");php將自動產(chǎn)生一個名為$mycookie,值為"wang"的變量. 先讓我們復(fù)習(xí)一下setcookie函數(shù)語法: setcookie(string CookieName, string CookieValue, int CookieExpireTime, path, domain, int secure); PATH:表示web服務(wù)器上的目錄,默認(rèn)為被調(diào)用頁面所在目錄 DOMAIN:cookie可以使用的域名,默認(rèn)為被調(diào)用頁面的域名。這個域名必須包含兩個".",所以如果你指定你的頂級域名,你必須用".mydomain.com" SECURE:如果設(shè)為"1",表示cookie只能被用戶的瀏覽器認(rèn)為是安全的服務(wù)器所記住 應(yīng)用: 對于一個需要注冊的站點,將自動識別用戶的身份,并發(fā)送給它信息,如果是陌生人,將告訴他請先注冊。我們按下面給出的信息創(chuàng)建一個小型數(shù) 據(jù)庫:名字(first name),姓(last name),email地址(email address),計數(shù)器(visit counter). 按下面步驟建表: mysql> create database users;;;Query OK, 1 row affected (0.06 sec);;mysql> use users;;;Database changed;;mysql> create table info (FirstName varchar(20), LastName varchar(40),;;email varchar(40), count varchar(3));;;Query OK, 0 rows affected (0.05 sec) ;;好,現(xiàn)在有了符合要求的表,我們可以建一個php頁面對照數(shù)據(jù)庫檢查cookies. ########################index.php################################## <? if (isset($Example)) { //Begin instructions for existing Cookie;;$info = explode("&", $Example);;;$FirstName=$info[0];;;$LastName=$info[1];;;$email=$info[2];;;$count=$info[3];;;$count++;;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600); //設(shè)一新的cookie;;echo" <html>;;<title>wang example</title>;;</head>;;<body>;;<p>Hello $FirstName $LastName, this is your visit number: $count</p>;;<p>Your email address is: $email</p>;;<body>;;<html>";;;mysql_connect() or die ("Problem connecting to DataBase"); //update DB;;$query = "update info set count=$count where FirstName='$FirstName' and;;LastName='$LastName' and email='$email'";;;$result = mysql_db_query("users", $query) or die ("Problems .... ");;;} //End Existing cookie instructions;;else { //Begin inctructions for no Cookie;;echo "<html>;;<head>;;<Title>Rafi's Cookie example</title>;;</head>;;<body>;;<a href="reg.php">Click Here for Site Registration</a>;;</body>;;</html>";;;} //End No Cookie instructions;;?> 注意:如果你用的是一個遠(yuǎn)程mysql服務(wù)器或unix服務(wù)器,你應(yīng)用下面語句 mysql_connect ("server","username","password") or die ("Problem connecting to DataBase");;;我們想檢查是否一個被指定名字的cookie在html頭部分傳送,記住,php能轉(zhuǎn)換可識別的cookie為相應(yīng)的變量,所以我們能檢查一個名為"Example" 的變量: <? if (isset($Example)) { //Begin instructions for existing Cookie;;...;;} else {;;...;;} 如果這個cookie存在,我們將計數(shù)器加一,并打印用戶信息,如果這個cookie不存在,我們建議用戶先注冊 如果cookie存在,我們執(zhí)行下面步驟: <? if (isset($Example)) { //Begin instructions for existing Cookie;;$info = explode("&", $Example); //split the string to variables;;$FirstName=$info[0];;;$LastName=$info[1];;;$email=$info[2];;;$count=$info[3];;;$count++;;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600); //setting a new cookie;;echo" <html>;;<title>wang example</title>;;</head>;;<body>;;<p>Hello $FirstName $LastName, this is your visit number: $count</p>;;<p>Your email address is: $email</p>;;<body>;;<html>";;;mysql_connect() or die ("Problem connecting to DataBase"); //update DB;;$query = "update info set count=$count where FirstName='$FirstName' and;;LastName='$LastName' and email='$email'";;;$result = mysql_db_query("users", $query) or die ("Problems .... ");;;} //End Existing cookie instructions 上面的程序有3個主要部分:首先取得cookie值,用explode函數(shù)分成不同的變量,增加計數(shù)器,并設(shè)一新cookie.接著用html語句輸出用戶信息。最后,用新的計數(shù)器值更新數(shù)據(jù)庫。 如果這個cookie不存,下面的程序?qū)⒈粓?zhí)行: ;;else { //Begin inctructions for no Cookie;;echo "<html>;;<head>;;<Title>Rafi's Cookie example</title>;;</head>;;<body>;;<a href="reg.php">Click Here for Site Registration</a>;;</body>;;</html>";;;} //End No Cookie instructions;;下面reg.php簡單列出到注冊頁面的鏈接 #############################reg.php############################# ;;;;;<html>;;<head><title>Registering the Site</title>;;</head>;;<body bgcolor=#ffffff>;;<h1>Registering the site</h1>;;<form method="post" action="reg1.php">;;<table width=90% align=center>;;<tr><td>User Name:</td><td><input type=text name='FirstName' size=20;;maxlength=20></td></tr>;;<tr><td>Last Name:</td><td><input type=text name='LastName' size=40;;maxlength=40></td></tr>;;<tr><td>email addrress:</td><td><input type=text name='email' size=40;;maxlength=40></td></tr>;;<tr><td></td><td><input type=submit value="Click to Register"></td></tr>;;</table>;;</form>;;</body>;;</html>;;在所有的信息被提交后調(diào)用另一php文件分析這些信息 ##############################reg1.php#################################### <?;;if ($FirstName and $LastName and $email);;{;;mysql_connect() or die ("Problem connecting to DataBase");;;$query="select * from info where FirstName='$FirstName' and;;LastName='$LastName' and email='$email'";;;$result = mysql_db_query("users", $query);;;$r=mysql_fetch_array($result);;;$count=$r["count"];;;if (isset($count)) {;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600);;;echo "<p>user $FirstName $LastName already exists. Using the existing;;info.</p>";;;echo "<p><a href="index.php">Back to Main Page</a>";;;} else {;;$count = '1';;;$query = "insert into info values;;('$FirstName','$LastName','$email','$count')";;;$result = mysql_db_query("users", $query);;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600);;;echo "Thank you for registering.<br>";;;};;} else { echo "Sorry, some information is missing. Please go back and add all;;the information"};;?>;;首先檢查所有的信息是否按要求填寫,如果沒有,返回重新輸入 <?;;if ($FirstName and $LastName and $email);;{;;...;;} else { echo "Sorry, some information is missing. Please go back and add all;;the information"};;?> 如果所有信息填好,將執(zhí)行下面: ;;mysql_connect() or die ("Problem connecting to DataBase");;;$query="select * from info where FirstName='$FirstName' and;;LastName='$LastName' and email='$email'";;;$result = mysql_db_query("users", $query);;;$r=mysql_fetch_array($result);;;$count=$r["count"];;;if (isset($count)) {;;$count++;;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600);;;echo "<p>user $FirstName $LastName already exists. Using the existing;;info.</p>";;;echo "<p><a href="index.php">Back to Main Page</a>";;;} else {;;$count = '1'; //new visitor - set counter to 1.;;$query = "insert into info values;;('$FirstName','$LastName','$email','$count')";;;$result = mysql_db_query("users", $query);;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600);;;echo "Thank you for registering.<br>";;;這段程序做了幾件工作:它檢查數(shù)據(jù)庫是否有這樣一個用戶(如果沒有,也就是說,這個cookie已被刪除),如果有,它指定舊的信息,并用當(dāng)前的信息建一新的cookie,如果同一用戶沒有數(shù)據(jù)庫登錄,新建一數(shù)據(jù)庫登錄,并建一新的cookie. 首先,我們從數(shù)據(jù)庫中取回用戶登錄詳細(xì)資料 mysql_connect() or die ("Problem connecting to DataBase");;;$query="select * from info where FirstName='$FirstName' and;;LastName='$LastName' and email='$email'";;;$result = mysql_db_query("users", $query);;;$r=mysql_fetch_array($result);;;$count=$r["count"]; 現(xiàn)在檢查是否有一計數(shù)器為這用戶,利用isset()函數(shù) ;;if (isset($count)) {;;...;;} else {;;...;;};;計數(shù)器增加并新建一cookie $count++; //increase counter;;$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;;;SetCookie ("Example",$CookieString, time()+3600);;;echo "<p>user $FirstName $LastName already exists. Using the existing info.</p>";;;echo "<p><a href="index.php">Back to Main Page</a>"如果沒有一用戶計數(shù)器,在mysql中加一記錄,并設(shè)一cookie 注意:在任何時候,setcookie放在輸送任何資料到瀏覽器之前,否則得到錯誤信息 ##################################################### ---advance翻譯,有不恰之處,請qianjinok@china.com-------
標(biāo)簽: PHP
主站蜘蛛池模板: 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 汝成内控-行政事业单位内部控制管理服务商 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 电池挤压试验机-自行车喷淋-车辆碾压试验装置-深圳德迈盛测控设备有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备| 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 |