2014-01-09 105 views
0

我想要顯示產品價格USDGBP。我的默認貨幣是美元。如果用戶來自英國的IP範圍,則此腳本將在Cookie中設置貨幣代碼GBP。如何根據Cookie值顯示內容

如何根據Cookie值顯示價格(java-Script方法)?

腳本:

<?php 
$con=mysqli_connect("localhost","userip","asdfgh","userip"); 
$ip = $_SERVER['REMOTE_ADDR']; 
$query = "SELECT id FROM ip WHERE '$ip' BETWEEN f AND t"; // check user ip from UK ip range 
$result = mysqli_query($con,$query); 
if(mysqli_num_rows($result) > 0) 
{ 
    setcookie('currency', 'GBP', time()+604800); 
} 
mysqli_close($con); 
?> 

回答

0

如果你想用javascript來做,你可以使用下面的函數來讀寫cookie。

function read_cookie(name) { 
    var arg=name+"="; 
    var alen=arg.length; 
    var clen=document.cookie.length; 
    var i=0; 
    while (i<clen){ 
    var j=i+alen; 
    if (document.cookie.substring(i, j)==arg) 
     return arguments_cookie(j); 
    i=document.cookie.indexOf(" ",i)+1; 
    if (i==0) break; 
    } 
    return null; 
} 

function write_cookie(name, val, expires) { 
    document.cookie=name+"="+escape(val)+ 
    ((expires==null) ? "" : ("; expires="+expires.toGMTString())); 
} 

function arguments_cookie(offset){ 
    var endstr=document.cookie.indexOf (";", offset); 
    if (endstr==-1) endstr=document.cookie.length; 
    return unescape(document.cookie.substring(offset, endstr)); 
} 
1

您可以從_COOKIE $全局變量閱讀:

switch ($_COOKIE['currency']) { 
    case "GBP": [...]; break; 
    default: [...] 

更多細節:http://www.php.net/manual/en/reserved.variables.cookies.php

+0

請確保您正確驗證cookie內容,它們可能會被注入惡意數據,祝您好運!在java-script方法中使用 –

0

在PHP中,你可以通過訪問$_COOKIE餅乾。

switch($_COOKIE['currency']) { 
    case 'GBP': 
     $price = <...>; 
    break; 

    // USD 
    default: 
    $price = <...>; 
} 

在JavaScript中這是一個有點不同: http://www.w3schools.com/js/js_cookies.asp

function getCookie(cname) 
{ 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 

    for(var i=0; i<ca.length; i++) 
    { 
     var c = ca[i].trim(); 
     if (c.indexOf(name)==0) return c.substring(name.length,c.length); 
    } 

    return ""; 
} 

注:用戶可以在自己的瀏覽器中的cookies的變化,所以要知道。用戶可能會將貨幣更改爲任何試圖破壞您的腳本的內容。

+0

? – Nantha

+0

更新了一個函數來檢索JavaScript中的Cookie –