f(session_is_registered('choice')) {
if ($_POST['choose_lan']){

$choice=$_POST['language'];
session_destroy();
session_register("choice");
header("Refresh: 1; URL=register.php?language=$choice"); //调用函数

$lang_page=languagechoose($choice);f(session_is_registered('choice')) {session_destroy();
session_register("choice");
'choice'这个不是已经注册成session了,
session_destroy();
session_register("choice");
剩下的这两步不是多余吗

解决方案 »

  1.   

    这是用来处理用户选择语言之后注册新session的代码。因为用户是在原来有session的情况下进行了语言选择,这时肯定要把原来的session给清掉,并把新的session注册,所以先
    session_destroy();
    然后
    session_register();session_is_registered();只是用来判断session是否已经注册,如果已经注册则返回为true,否则返回false;
    难道你的意思是用isset()吗?
      

  2.   

    session_destroy(); 
    session都destroy()掉了, 还register("choice")能不出错嘛?
    session_register("choice");
      

  3.   

    session_start()
    放错地方了
      

  4.   

    $choice=$_POST['language'];
    session_destroy();
    session_register("choice");我觉得你不用session_destroy(),你要是下面注册了一个同名session,那么上面的session的值就相应的变成新的了。对吗?
      

  5.   

    在各位朋友的帮助下问题解决了。
    解决办法如下:
    将session_destroy()改为session_unregister();结帖,给分。