2010年11月4日 星期四

$_SERVER['???']

這個問題適用在於開發購物網時站在使用者角度來使用,當在選購商品時準備加入購物車必須登入會員

原本做法是登入後直接轉址到首頁,這樣感覺讓使用者不太友善,應該是要登入後轉回他原來在觀看的網址;上網搜尋到的方法如下

<?php

//介紹--$_SERVER[HTTP_HOST],此函式是抓取Server路徑

//例如本身網址為:http://ivan1002.blogspot.com/ivan/ivan.jpg 當我執行以下函式時

echo $_SERVER['HTTP_HOST'].'<BR>';

//echo 出來的字串會是=>ivan1002.blogspot.com

/*-------------------------------------------*/

//介紹--$_REQUEST['url'],此函式是抓取取得完整的參數路徑URI

//例如本身網址為:http://ivan1002.blogspot.com/ivan/ivan.jpg 當我執行以下函式時

echo $_SERVER['REQUEST_URI'].'<BR>';

//echo 出來的字串會是=>/ivan/ivan.jpg

?>


所以在進行表單傳送資料的時候可以把當下的完整路徑(Name="URL")參數傳到要執行的程式,

例如:我目前在此網址下(http://ivan1002.blogspot.com/ivan/ivan.php?ProNo=5)看到喜歡的商品

當我點擊購物車時出現要我登入才能購買,而在左邊欄頁面部份有個登入系統,再登入系統表單傳送程式碼

底下就可以加入以下這段程式,把當下正在瀏覽的完整路徑(Name="URL")參數傳送到登入驗證執行程式,

再驗證完後執行 header("Location: ".$_REQUEST['URL']);

<input type="hidden" Name="URL" value="<?php echo $_SERVER['REQUEST_URI']; ?>">

沒有留言: