Bor*_*rsn -1 php cookies if-statement
else {
if ($_COOKIE['HotspotLanguage'] == 'ENG') {
$url_lang_code = '?lang=eng';
header('Location: '.$url_captive_portal.$url_lang_code.'');
} elseif ($_COOKIE['HotspotLanguage'] == 'ALB') {
$url_lang_code = '?lang=alb';
header('Location: '.$url_captive_portal.$url_lang_code.'');
} elseif ($_COOKIE['HotspotLanguage'] == 'MKD') {
$url_lang_code = '?lang=mkd';
header('Location: '.$url_captive_portal.$url_lang_code.'');
}
}
Run Code Online (Sandbox Code Playgroud)
从上面的代码中可以看出,我已经定义了一个变量$url_lang_code; 但是,我的变量在if声明之外不起作用.
URL被重写,这是有效的.但是,如果我使用$url_lang_codeif语句之外的某个地方,它就不起作用......
难道我做错了什么?
您正在使用header()方法,该方法保留当前脚本并加载您请求的页面.
因此,您基本上丢失了该范围,您可以将其存储在$ _SESSION或$ _COOKIE var中,并从您请求的其他页面中检索它.
所以类似于:
else {
if ($_COOKIE['HotspotLanguage'] == 'ENG') {
$_COOKIE['url_lang_code'] = '?lang=eng';
header('Location: '.$url_captive_portal.$url_lang_code);
} elseif ($_COOKIE['HotspotLanguage'] == 'ALB') {
$_COOKIE['url_lang_code'] = '?lang=alb';
header('Location: '.$url_captive_portal.$url_lang_code);
} elseif ($_COOKIE['HotspotLanguage'] == 'MKD') {
$_COOKIE['url_lang_code'] = '?lang=mkd';
header('Location: '.$url_captive_portal.$url_lang_code);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |