新聞中心
解決php源碼程序自定義首頁(yè)后點(diǎn)擊每個(gè)頁(yè)面都會(huì)跳轉(zhuǎn)到自定義頁(yè)面
小編常談玩轉(zhuǎn)php程序,必須擁有一個(gè)自己的php空間,這樣寫(xiě)出來(lái)的程序的兼容性是更大的,廣告已經(jīng)過(guò)了,那么就來(lái)說(shuō)說(shuō)今天無(wú)憂主機(jī)小編遇到的問(wèn)題,啥問(wèn)題呢? 說(shuō)難也不難,說(shuō)簡(jiǎn)單也不簡(jiǎn)單,沒(méi)有一定的基礎(chǔ)的站長(zhǎng)朋友可能是弄不出來(lái)的,只是說(shuō)可能哈,不是說(shuō)的一定。今天小編在上班的遇到一位站長(zhǎng)朋友,他需要訪問(wèn)站點(diǎn)的時(shí)候默認(rèn)訪問(wèn)自定義的一個(gè)動(dòng)畫(huà)頁(yè)面,然后點(diǎn)擊才進(jìn)入到主站,剛開(kāi)始小編認(rèn)為非常的簡(jiǎn)單,怎么樣的簡(jiǎn)單方法呢,就是把這個(gè)動(dòng)畫(huà)頁(yè)面設(shè)置為默認(rèn)首頁(yè)不就可以了嗎?對(duì)于其他的源碼程序這個(gè)方法可能行,但是對(duì)于每次加載一個(gè)頁(yè)面的時(shí)候或者欄目頁(yè)的時(shí)候都要進(jìn)過(guò)index.php去加載的時(shí)候,那么這個(gè)時(shí)候問(wèn)題來(lái)了,不管您怎么樣的去點(diǎn)擊,都是訪問(wèn)到的是默認(rèn)的自定義頁(yè)面,那么這個(gè)問(wèn)題也是花了小編數(shù)分鐘的時(shí)間才解決的,主要是經(jīng)驗(yàn)不足導(dǎo)致的,也是沒(méi)有想到這方面去,但是最后還是完美的解決了。 解決思路: 當(dāng)遇到這個(gè)問(wèn)題的時(shí)候,我們就需要用到我們的session和cookie了,為什么需要這樣的方法呢,原理其實(shí)很簡(jiǎn)單的,當(dāng)我們?cè)L問(wèn)的第一次的時(shí)候?yàn)g覽器中沒(méi)有任何的緩存,那么默認(rèn)調(diào)轉(zhuǎn)到自定義首頁(yè)去,當(dāng)點(diǎn)擊第二次的時(shí)候已經(jīng)記錄緩存了,那么就讓程序自動(dòng)執(zhí)行index.php頁(yè)面。這樣的思路是不是就很清晰了呢,那么小編這里以cookie的判斷來(lái)解決這個(gè)問(wèn)題。 首先我們要把index.php中的代碼就是去除掉<?php ?> 然后保存在一個(gè)文本里面,留起來(lái)后面使用,那么這個(gè)時(shí)候index.php文件里面已經(jīng)是空文件了,那么再次加入以下代碼:
<?php //第一次訪問(wèn)該站點(diǎn)的時(shí)候?yàn)g覽器沒(méi)有記錄緩存,默認(rèn)調(diào)轉(zhuǎn)的是自定義頁(yè)面home.html if( !isset($_COOKIE['visited']) ) { setcookie("visited", "one", time()+3600*24, "/") or die("客戶端禁止COOKIES"); header('Location: /home.html'); } //當(dāng)COOKIE="one" 也就是說(shuō)瀏覽器中已經(jīng)有了緩存,那么這個(gè)時(shí)候讓程序執(zhí)行的是index.php elseif( $_COOKIE['visited'] == "one" ) { setcookie("visited", "two", time()+3600*24, "/") or die("客戶端禁止COOKIES"); header('Location: /index.php'); } //當(dāng)COOKIE="two" 這個(gè)時(shí)候就讓程序執(zhí)行index.php之前拿出來(lái)的代碼了 elseif( $_COOKIE['visited'] == "two" ) { //放入的是index.php源文件中的代碼,復(fù)制到這里即可。 } ?>就這樣簡(jiǎn)單的幾步完美解決掉了這個(gè)問(wèn)題,希望這篇文章能幫助到還沒(méi)有實(shí)現(xiàn)的站長(zhǎng)朋友,轉(zhuǎn)載的時(shí)候請(qǐng)注明出處,謝謝!(ps:這個(gè)代碼還可以優(yōu)化,能力有限也只能是這樣,如您有不同的看法,請(qǐng)聯(lián)系我們進(jìn)行改正,謝謝?。?/p>
本文地址:http://www.love62.cn/others/21077.html