php $变量在 IF 语句之外不起作用
php $variables don't work outside 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.'');
}
}
从上面的代码可以看出,我定义了一个变量$url_lang_code
;但是,我的变量在 if
语句之外不起作用。
URL 被重写了,这行得通。但是如果我在 if 语句之外的某个地方使用 $url_lang_code
,它就不起作用...
我是不是做错了什么?
您正在使用 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);
}
}
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.'');
}
}
从上面的代码可以看出,我定义了一个变量$url_lang_code
;但是,我的变量在 if
语句之外不起作用。
URL 被重写了,这行得通。但是如果我在 if 语句之外的某个地方使用 $url_lang_code
,它就不起作用...
我是不是做错了什么?
您正在使用 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);
}
}