先看下图片问题是选择语言后,需要刷新栏目下的所有子栏目我运用了select 的 onchanage 事件代码如下:<script>
function changeLan()
{
   var selectVal=document.topForm.select1.options[document.topForm.select1.selectedIndex].value;
//alert(selectVal);

window.location.href="change_language.php?lan="+selectVal;
        window.parent.location.reload();   }
 
</script>
change_language.php 页面代码很简单,只是为了保存session代码如下:<?
session_start();
$lan=$_REQUEST['lan'];
//echo $lan;$_SESSION["lan"]=$lan;?>
 
现在的问题是:
刷新上级页面后 ,session 值没有了 
请问是什么原因呢?
请高手们不吝赐教啊 ,新手!

解决方案 »

  1.   

    不是session值没了, 估计是写都没写进去。
    js那边不要用  window.parent.location.reload(); 吧  涉及到线程的问题。 
    你可以把这句话去掉  到change_language.php那边写一句跳转的回显示页面的话吧session_start();
    $_SESSION['selectVal']=$_GET['lan'];
    header("Location:show.php");应该可以达到你要的效果  希望对你有所帮助!
      

  2.   

    window.parent.location.reload();  
    这个应该不会刷新session,你换其他session变量试试,例如弄个计数器
      

  3.   


    我要刷新多个页面啊,所以change_language.php 里面。不能只写一个location 的 !
    我换个说法吧:现在就是我选择一个语言,怎么实现如上图所示的左边导航里面的每个页面都能接收到选中的怨言呢?  这样说法,大家可能更容易接受啊,帮帮我啊!!!!
      

  4.   

    左侧的PHP文件都 引用了 这个 change_language.php ?或者 工侧的PHP文件 你开启了 session_Start() 没有?
      

  5.   


    回楼上:左侧文件没有引用change_language.php ;这个文件只是保存session的啊! 
    session_Start() 肯定是会开启的! 
      

  6.   

    把        window.parent.location.reload();  
    放到 change_language.php 中试试可能的原因是
    window.location.href="change_language.php?lan="+selectVal;
    刷新了当前框架页,但他并不等待页面的返回。如果等待返回的话,下一句也就无效了
    window.parent.location.reload(); 
    刷新整个框架。可以认为此句与上句是并行进行的。页面执行时,可能上句的处理还未完成你每个页面都是用了 session 吗?
      

  7.   

    建议还是调转到独立url下,xuecer.com提供
      

  8.   

    下拉列表的onchanage 事件中,本来也想 一个form 提交多个action的 只是可以传过去的,也都能获取到,但是页面不刷新...所以好像也不行!  
    论坛的大神块现身啊 ,帮帮我这个菜鸟啊!
      

  9.   


    我试试看吧 session肯定开启的呢!呵呵!
      

  10.   


    的确你这二句JS是冲突的,你在 change_language.php 写上  header("location: index.php");
      

  11.   

    谢谢10楼 用了你的办法,果然是这个问题!!!  js /css 略懂。呵呵!谢谢大家帮忙了! 
      

  12.   

    还好我记得八八九九,js快忘光了,印象中就是reload有问题
      

  13.   

    1 换个js 试试。 location.href = 'xxx'
    2 确定一下是否有更换二域名  例如 en.xxx.com  cn.xxx.com 域名不同,没法存的。
    3 确定session 值存进去了,折腾个其它的session 看看,是否有保存.
    4 good luck~