通过提交表单更改会话后刷新会话



我有代码,当从下拉菜单中选择国家/地区时,我可以为用户获取国家/地区标志

提交国家:

<select name="countryname" onchange="this.form.submit();fla(this);" >
    <option value="AF">Afghanistan</option>
    <option value="US">USA</option>
    <option value="UK">UK</option>
</select>

在上面的更改之后,我们这样做:

define('WCDP_PATH_INCLUDES', dirname(__FILE__) . '/inc');
if (!class_exists('GeoIP')) {
    include(WCDP_PATH_INCLUDES . "/geoip.inc");
}
$geo_data = geoip_open(WCDP_PATH_INCLUDES . "/GeoIP.dat", GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($geo_data, $_SERVER['REMOTE_ADDR']);
$countrynameselect =  $_SESSION['countryname'];
if ($countrynameselect) {
    $country_code = $countrynameselect;
} else {
    $country_code = geoip_country_code_by_addr($geo_data, $_SERVER['REMOTE_ADDR']);
}       
// Build HTML for flag icons.
?>
<img src="<? bloginfo('stylesheet_directory')?>/flags/sm/<?php echo strtolower($country_code).'.png'; ?>" border="0" style="margin-top:10px" id="flagc" />

现在当用户从下拉菜单中选择国家时,我将国家/地区帖子保存在SESSION中,但是当用户再次更改时,它不会SESSION更新,并且要更新它,我们必须刷新页面以显示新的SESSION值。

我能做什么??

您可以

尝试取消设置会话,并在用户选择其他内容时再次设置会话。

如何设置会话?

用户是单击"提交",然后设置会话?还是在使用 AJAX?

最新更新