国产在线视频一区二区乱码_欧美日韩视频在线一区_69天堂人成无码视频在线观看资讯_原神这是一个充满脚的世界_日韩欧美亚洲国产_70岁熟女熟妇伦Av_青青热久免费精品视频在线18_午夜欧美性高潮a视频_欧美国内免费观看视频网站_思思久久q6热在精品国产

網(wǎng)站建設(shè)

結(jié)合設(shè)計(jì)經(jīng)驗(yàn)與營(yíng)銷實(shí)踐,提供有價(jià)值的企業(yè)營(yíng)銷資訊

首頁(yè) > 新聞資訊 > 網(wǎng)站建設(shè)

如何創(chuàng)建自己的程序(Javascript,ajax,PHP)

2019/11/4 10:19:40 來(lái)源:深圳網(wǎng)站建設(shè)

  如何打造自己的節(jié)目(JavaScript,ajax,PHP)深圳網(wǎng)站打造網(wǎng)站時(shí),主要目標(biāo)之一就是吸引游客。流量是為了錢,為了炫耀你的工作,或者只是為了表達(dá)你的想法。有很多方法可以為您的網(wǎng)站創(chuàng)建流量。搜索引擎、社交書簽、口碑只是幾個(gè)例子。但是你怎么知道交通是不是真的 你怎么知道你的客人還會(huì)回來(lái)

  這些問(wèn)題提出了網(wǎng)絡(luò)統(tǒng)計(jì)的概念。通常,網(wǎng)站管理員使用一些程序,例如谷歌Analytics或軟件來(lái)完成他們的工作。這些程序可以獲得網(wǎng)站訪問(wèn)者的各種信息。他們發(fā)現(xiàn)了頁(yè)面瀏覽量、訪問(wèn)量、唯一訪問(wèn)者、瀏覽器IP地址等,但這是如何工作的呢 有關(guān)如何使用PHP、JavaScript、ajax和sqlite創(chuàng)建自己的網(wǎng)站統(tǒng)計(jì)程序,請(qǐng)按照本教程進(jìn)行操作。

  首先,讓我們從一些簡(jiǎn)單的HTML標(biāo)記開(kāi)始,它們將充當(dāng)我們跟蹤的頁(yè)面:

  lt;!DOCTYPEhtmlPUBLICquot;-//W3C//DTDXHTML 1.0transitional//分號(hào);引用;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional。DTD引用;燃?xì)廨啓C(jī);書信電報(bào);html xmlns=quot;http://www.w3.org/1999/xhtmlquot; dir=報(bào)價(jià);ltrquot;lang=quot;在美國(guó);燃?xì)廨啓C(jī);書信電報(bào);頭部gt;lt;metahttp-當(dāng)量=quot;Content-類型quot;Content=報(bào)價(jià);文本/html;charset=UTF-8quot/燃?xì)廨啓C(jī);書信電報(bào);一)所有權(quán);(1)Web Statistic)slt公司/標(biāo)題;lt/頭部gt;書信電報(bào);車身gt;

  lt;H2id=報(bào)價(jià);完成;燃?xì)廨啓C(jī);lt;/()H2)燃?xì)廨啓C(jī);

  lt/車身gt;lt/htmlgt公司;

  H2#通過(guò)網(wǎng)站統(tǒng)計(jì)信息成功跟蹤頁(yè)面視圖后,將動(dòng)態(tài)填充完整元素JavaScript。要開(kāi)始跟蹤,我們可以使用jQuery和ajax請(qǐng)求:

  書信電報(bào);腳本類型=quot;文本/JavaScriptquot;src=quot;http://ajax.googleapis.com/ajax/libs/jQuery/1.3.2/jQuery.min.jsquot;燃?xì)廨啓C(jī);lt/腳本gt;lt;script type=#39;text/javascript#39; gt;$()函數(shù)(){// Set the data text var dataText = #39;頁(yè)碼=lt;PHP echo $_SERVER; gt;amp;referrer=lt;PHP echo $_SERVER; gt;#39;;

  //創(chuàng)建ajax請(qǐng)求$ajax({type:quot;pOSTquot;,//使用pOST方法url:quot/過(guò)程。PHPquot;,//文件到calldata:dataText,//我們要傳遞的數(shù)據(jù)success:function(){//success$(#39;#完成#39;)。html(#39;您的頁(yè)面視圖已Add添加到統(tǒng)計(jì)信息中39; ); } });}); lt/腳本gt;

  逐步考慮上述代碼:

  當(dāng)DOM準(zhǔn)備就緒時(shí),我們首先放入數(shù)據(jù)和文本。本文采用查詢字符串格式,將發(fā)送的數(shù)據(jù)進(jìn)行處理PHP,將跟蹤此頁(yè)面視圖。

  然后我們創(chuàng)建一個(gè)ajax請(qǐng)求,該請(qǐng)求使用post方法發(fā)送表單數(shù)據(jù)。

  然后我們的表數(shù)據(jù)(數(shù)據(jù)、文本)被發(fā)送到進(jìn)程PHP在服務(wù)器的根目錄下。

  一旦請(qǐng)求完成,H2#complete元素充滿成功通知

  我們的下一步是編寫進(jìn)程PHP. 它的主要目標(biāo)是獲取web統(tǒng)計(jì)信息并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中。由于我們的數(shù)據(jù)庫(kù)尚未建立,我們必須創(chuàng)建一個(gè)簡(jiǎn)單的文件install,它將為我們完成以下操作:

  lt;PHP#打開(kāi)數(shù)據(jù)庫(kù)$handle=sqlite#打開(kāi)($SERVER。#39;統(tǒng)計(jì)數(shù)據(jù)庫(kù)#39;,0666,$sqlite錯(cuò)誤)或die($sqlite錯(cuò)誤);

  #設(shè)置command以創(chuàng)建表$sqlCreateTable=quot;創(chuàng)建表stats(page textunique,ip text,viewsUNSIGNED int DEFAULT 0,referrertext DEFAULT#39;#39;) 引用;;

  #execute itsqliteexec($handle,$sqlCreateTable);# Print that we are done echo #39;Finished!# 39;; 燃?xì)廨啓C(jī);

  大部分代碼都很簡(jiǎn)單。它在服務(wù)器的根目錄中打開(kāi)一個(gè)數(shù)據(jù)庫(kù)并為其創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。sqlcreatetable美元中的字符串是一個(gè)sqlite命令,允許我們對(duì)表進(jìn)行計(jì)數(shù)。該表包含四列:第頁(yè),IP地址、評(píng)論和建議:

  頁(yè)面是一個(gè)字符串,其中包含被視為相對(duì)鏈接的頁(yè)面(即索引PHP)。

  IP地址也是包含訪問(wèn)此頁(yè)的IP地址列表的字符串。它位于numvisits1格式IP地址1)numvisits2(Ip地址2)numvisits3(IP address3)等中。例如,如果我們?cè)L問(wèn)74.35.286.15和586.31.23.78(假想的IP地址)中的10個(gè)人,字符串將為“and;10(74.25.286.15)5(86.31.23.78)rdquo

  視圖是一個(gè)整數(shù),包含頁(yè)面的查看次數(shù)。

  引用與IP地址格式相同的字符串。它包含所有關(guān)于此頁(yè)上有多少下線的引用。

  現(xiàn)在開(kāi)始處理PHP:

  #連接到數(shù)據(jù)庫(kù)$handle=sqliteuuOpen($SERVER。#39/統(tǒng)計(jì)數(shù)據(jù)庫(kù)#39;,0666,$sqlite錯(cuò)誤)或die($sqlite錯(cuò)誤);

  #使用同源策略防止交叉-site scripting(XSS)攻擊#請(qǐng)記住將http://您的DOMain.com/替換為實(shí)際的DOMainif(strpos($SERVER,#39;http://yourdomain.com/#39; ) !== 0){die(引用;不要使用call這個(gè)腳本manually或來(lái)自外部源代碼。quot;);}

  #獲取必要的信息,stripHTML標(biāo)記,以及escape備份探測(cè)的string$頁(yè)=sqlite\escape\string(strip\referrer)=sqliteescape)string(stripuTags($pOST));$ip=sqliteu67)string(stripu標(biāo)簽($SERVER));

  #query數(shù)據(jù)庫(kù)以便我們可以Update舊信息$sqlGet=#39;從統(tǒng)計(jì)信息中選擇*頁(yè)=#39;#39;.$ 第39頁(yè)39;# 39;;$result=sqlite+query($handle,$sqlGet);

  **段代碼連接到我們的統(tǒng)計(jì)數(shù)據(jù)庫(kù)并獲取當(dāng)前訪問(wèn)所需的信息。它還查詢數(shù)據(jù)庫(kù)并獲取任何以前存儲(chǔ)的信息。我們使用此信息創(chuàng)建更新表。

  下一個(gè)任務(wù)是查找舊信息:#設(shè)置一些變量來(lái)保存舊信息$views =0$ips=#39;#39;;$referrers = #39;# 39;; # 檢查是否有舊信息exists如果($resultamp;amp; ($ info=sqlitefetch)array($result)){#獲取此信息$views =$info;$ips=$信息。#39;#39;; 如果($info)$referrers = $info.#39;#39;;

  #設(shè)置一個(gè)標(biāo)志,表明找到了舊信息$flag=true;}

  上面的代碼查找表中以前的所有信息。這是至關(guān)重要的,我們需要更新視圖(添加一個(gè))、IP地址和引用的數(shù)量為allreferrers和IP addresses$ref818;num=array(;$ipnum=array();

  #查找每個(gè)referrer$VALUES=拆分(#39;#39;, $referrers );

  #設(shè)置正則表達(dá)式string以解析referrer$regex=#39;%(d+((*))%#39;;

  #循環(huán)遍歷每個(gè)referrerforeach($VALUESas$value){#查找ref勘誤表的number和referrerpregmatch($regex,$value,$matches);如果兩者存在,If($matchesamp;amp; $matches)#在array(referrer鏈接-gt;num誤碼率ref勘誤表)$ref2003;num=intval($matches);}#如果此visitif($referrer)#Add上有一個(gè)referrer,則將其添加到array$refnum)++;#獲取ips$VALUES=拆分(#39;#39;, $ips );

  #重復(fù)與上述相同的過(guò)程($VALUESas$value){#查找pregmatch($regex,$value,$matches);#如果($matchesamp;amp; $matches#Add它到array$ipnum=intval($matches);}

  #Update當(dāng)前Ip為$Ip的arraynum+;

  上面的兩個(gè)循環(huán)非常相似。它們從數(shù)據(jù)庫(kù)中獲取信息并用正則表達(dá)式進(jìn)行解析。一旦這些信息被解析,它就被存儲(chǔ)在一個(gè)數(shù)組中。然后用當(dāng)前訪問(wèn)的信息更新每個(gè)數(shù)組。然后,可以使用此信息創(chuàng)建**后一個(gè)字符串:#Reset the $ips string$ips = #39#39;;

  #循環(huán)allinformationforeach($ip_)為$key=gt;$val){#將其附加到string(用空格分隔)$ips。=$val.#39;(#39;.$ 鑰匙。#39;)#39;;}

  #修剪string$ips=修剪($ips);

  #重置$referrersstring$referrers = #39;#39;;

  #循環(huán)使用allinformationforeach($refunum)作為$key=gt;$val ) { # Append it $referrers .= $val.#39;(# 39;.$ 鑰匙。#39;)#39;;}

  #修剪string$referrers=修剪($referrers);

  現(xiàn)在創(chuàng)建**后一個(gè)字符串ips,建議的形式是:quotnumvisits1(Ip/referrer1)numvisits2(Ip/referrer2)等。例如,以下是參考字符串:

  5(https://www.noupe.com )10(http://css-tricks.com)

  #Updateviews$views++;#的num誤碼率如果我們did從數(shù)據(jù)庫(kù)獲取信息#(數(shù)據(jù)庫(kù)已經(jīng)包含一些關(guān)于這個(gè)頁(yè)面的信息)如果($flag)#Updateit $sqlCmd = #39;Update統(tǒng)計(jì)集ip=#39;#39;.$ips.#39;# 39;, views=#39;# 39;.$views.#39;# 39;, referrer=#39;# 39;.$referrers.#39;# 39; WHERE page=#39;# 39;.$ 第39頁(yè)39;# 39;;

  #否則#在it $sqlCmd = #39中插入新的value;插入統(tǒng)計(jì)(第頁(yè),ip,views,referrer)VALUES(#39;#39;.$ 第39頁(yè)39;, # 39;# 39;.$ips.#39;# 39;,# 39;# 39;.$views.#39;# 39;,# 39;# 39;.$referrers.#39;# 39;)# 39;; # executecommandssqliteexec($handle,$sqlCmd);

  這就是它的過(guò)程PHP. 回顧一下,我們發(fā)現(xiàn)訪問(wèn)者IP地址和引用使用值來(lái)創(chuàng)建兩個(gè)字符串,增加頁(yè)面視圖的數(shù)量,并將所有這些值放入數(shù)據(jù)庫(kù)。

  現(xiàn)在只剩下一個(gè)任務(wù)了。我們必須展示網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)。我們把下面的文件display放進(jìn)去PHP:ltDOCTYPEhtmlPUBLICquot;-//W3C//DTDXHTML 1.0transitional//分號(hào);引用;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional。DTD引用;燃?xì)廨啓C(jī);書信電報(bào);html xmlns=quot;http://www.w3.org/1999/xhtmlquot; dir=報(bào)價(jià);ltrquot;lang=quot;在美國(guó);燃?xì)廨啓C(jī);書信電報(bào);頭部gt;lt;metahttp-當(dāng)量=quot;Content-類型quot;Content=報(bào)價(jià);文本/html;charset=UTF-8quot/燃?xì)廨啓C(jī);書信電報(bào);一)所有權(quán);(1)Web Statistic)sdisplaylt/標(biāo)題;lt/頭部gt;書信電報(bào);車身gt;

  lt;PHP#打開(kāi)數(shù)據(jù)庫(kù)$handle=sqlite#打開(kāi)($SERVER。#39/統(tǒng)計(jì)數(shù)據(jù)庫(kù)#39;,0666,$sqlite錯(cuò)誤)或die($sqlite錯(cuò)誤);#Get all the statistics $sqlGet = #39;SELECT * FROM stats#39;; $result=sqlitequery($handle,$sqlGet);#創(chuàng)建無(wú)序列表echo quot;書信電報(bào);烏爾格特;nquot;##如果有results If($result){$頁(yè)views =0;$unique_visitors = 0; # fetch而($info=sqliteu82array($result)){#獲取頁(yè)面,views,ips和referrers$page=$info;$views =$信息;$ips=$信息;$referrers=$info;#如果($views ==1)echo quot;tlt; 一)輕的;(1)ntt)lt;pgt;美元頁(yè)面已瀏覽$viewstime:lt;/前列腺素T;恩庫(kù)特;;else echo quot;tlt; 一)輕的;(1)ntt)lt;pgt;美元頁(yè)面已瀏覽$viewstimes:lt;/前列腺素T;nquot;;#Updatepage views$頁(yè)views+=$views;#Parse the data of IPs and Referrers using process.php#39;s code preg_match_all(#39;%(d+((*))%#39;,$ips, $matches ); # 查找數(shù)據(jù)的大小$size=count($matches);#創(chuàng)建子列表echo quot;ttlt;烏爾格特;nquot;##循環(huán)($i=0;$我lt;$大??;$i++){#找到訪問(wèn)的number$num=$matches;

  #查找IP address$ip=$matches;#如果($num==1)echo quot;ttt升;利格;$num時(shí)間乘以$iplt/利格特;恩庫(kù)特;;else echo quot;ttt升;利格;$num倍乘以$iplt/利格特;nquot;;#Updateunique訪客的number$uniqueu訪客+++;}#對(duì)referrers pregmatchu97)(#39;%(d+((*))%#39;,$referrers, $matches ); $ 大小=計(jì)數(shù)($matches);#循環(huán)遍歷($i=0;$我lt;$大??;$i++){$num=$matches;$referrer = $matches; # 如果($num==1)echo quot;ttt升;利格;$numref勘誤referrerlt/利格特;恩庫(kù)特;;else echo quot;ttt升;利格;$numref勘誤表referrerlt/利格特;nquot;;}#結(jié)束子列表echo quot;ttlt/烏爾格特;nquot;##結(jié)束列表元素echo quot;tlt;/利格特;nquot;;}回音quot;tlt; 一)輕的;(1)Total)unique訪客:$unique\訪客SLT/利格特;恩庫(kù)特;;回音quot;tlt; 一)輕的;(1)Total)page views:$第views頁(yè)lt/利格特;nquot;;}#結(jié)束無(wú)序列表echo quot;lt/烏爾格特;nquot;;#close數(shù)據(jù)庫(kù)sqliteclose($handle);燃?xì)廨啓C(jī);

  lt/車身gt;lt/htmlgt公司;

  這看起來(lái)讓人望而生畏,但和過(guò)程非常相似PHP. 它解析頁(yè)面視圖IP地址,并從數(shù)據(jù)庫(kù)中引用它。然后,它繼續(xù)以無(wú)序列表格式輸出它們。

http://ywxrmy.cn/jianzhanzhishi/796.html 如何創(chuàng)建自己的程序(Javascript,ajax,PHP)

特別聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:0755-85297058;郵箱:2295772445#qq.com (#替換成@)。

標(biāo)簽:

QQ咨詢
微信咨詢
微信咨詢
電話咨詢
周一至周五 9:00-18:00
135-1055-3738
回頂部