Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于Cookie值显示内容_Javascript_Php_Jquery_Cookies - Fatal编程技术网

Javascript 如何基于Cookie值显示内容

Javascript 如何基于Cookie值显示内容,javascript,php,jquery,cookies,Javascript,Php,Jquery,Cookies,我想用美元和英镑显示产品价格。我的默认货币是美元。如果用户来自英国ip范围,此脚本将在cookie中设置货币代码GBP 如何基于Cookie值显示价格(java脚本方法) 脚本: <?php $con=mysqli_connect("localhost","userip","asdfgh","userip"); $ip = $_SERVER['REMOTE_ADDR']; $query = "SELECT id FROM ip WHERE '$ip' BETWEEN f AND t"; /

我想用美元和英镑显示产品价格。我的默认货币是美元。如果用户来自英国ip范围,此脚本将在cookie中设置货币代码GBP

如何基于Cookie值显示价格(java脚本方法)

脚本:

<?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);
?>

您可以从$\u COOKIE全局变量读取:

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

更多详细信息:

在PHP中,您可以通过
$\u COOKIE
访问COOKIE

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

    // USD
    default:
    $price = <...>;
}
开关($\u COOKIE['currency'])){
案例“英镑”:
$price=;
打破
//美元
违约:
$price=;
}
在JavaScript中有点不同:

函数getCookie(cname)
{
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);

对于(var i=0;i,如果您想在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)); 
}
函数读取\u cookie(名称){
var arg=name+“=”;
var alen=arg.length;
var clen=document.cookie.length;
var i=0;

while(iin java脚本方法?确保正确验证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)); 
}