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

时间:2015-04-19 11:16:48

标签: javascript php jquery session

我有代码,当从这样的下拉菜单中选择国家/地区时,我会为用户提供国家标志

提交国家/地区:

<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值。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

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

你是如何设置会话的?用户是否单击“提交”然后会话已设置?或者你在使用AJAX吗?