【问题标题】:Refresh SESSION after change it by submit form通过提交表单更改后刷新会话
【发布时间】:2015-04-19 11:16:48
【问题描述】:

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

提交国家:

<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,并且要更新它,我们必须刷新页面以显示新的@987654325 @值。

我能做什么??

【问题讨论】:

  • 你可以使用 ajax 来启动一些改变 $_SESSION['countryname']; 的 php 脚本。当客户在下拉菜单中更改国家/地区时。
  • 如果您在问题中也输入下拉菜单的代码会很有用。

标签: javascript php jquery session


【解决方案1】:

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

您如何设置会话?用户是否单击提交,然后设置会话?还是您使用的是 AJAX?

【讨论】:

  • 如何取消设置然后设置会话值?尝试放置我的代码!
  • unset($_SESSION['countryname']; 然后您可以使用您的代码再次设置会话
  • 您不必取消设置会话来更新它。但是为了在客户端更改下拉菜单时更新它,如果您不想刷新页面,则需要 ajax。
  • @AliShaikh 我尝试取消设置($_SESSION['countryname']);在上面的代码中,但它的新会话的删除值。这不是真正的方式
  • @Redrif 如何刷新页面?
猜你喜欢
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
相关资源
最近更新 更多