我想添加一个cookie横幅到我的网站,它有两种不同的语言:意大利语和英语。
语言为
http://www.grcparfum.it/home.php?section=letteradelpresidente& lang = eng
和
http://www.grcparfum.it/home.php?section=letteradelpresidente& lang = ita
,这是我的代码:
<?php
$currentlang= $_GET['link'];
if($currentlang !=eng){
?>
<script src="/js/cookiechoices-en.js"></script>
}
<?php else: ?>{
<script src="/js/cookiechoices-it.js"></script>
<?php endif; ?>
}
你可能遇到的问题:
- 有些大括号不在PHP 的作用域内。
- 看起来你应该在第一个
if
语句中使用==
而不是!=
。 - 您正在尝试将称为
eng
的常量与$currentlang
而不是"eng"
进行比较
试题:
<?php
$currentlang = filter_input(INPUT_GET, 'lang', FILTER_SANITIZE_STRING); // Safer
if($currentlang == "eng"){ ?>
<script src="/js/cookiechoices-en.js"></script>
<?php } else { ?>{
<script src="/js/cookiechoices-it.js"></script>
<?php }
?>
我假设它永远不会选择eng
选项。
我认为你的错误是没有把eng
放在引号里:
if($currentlang !=eng){
应该 if($currentlang != "eng"){
使用JQuery:
url = 'http://www.grcparfum.it/home.php?section=letteradelpresidente&lang=eng';
function getParameterByName(name) {
name = name.replace(/['[]/, "''[").replace(/[']]/, "'']");
var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
results = regex.exec(url);
// results = regex.exec(location.search); gets the url of current window
return results === null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
}
var language = getParameterByName('lang');
english = '<script src="/js/cookiechoices-en.js"><'/script>';
italian = '<script src="/js/cookiechoices-it.js"><'/script>';
if(language == 'eng'){
$('#script').html(english);
}else if(language == 'ita'){
$('#script').html(italian);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="script"></div>