session不能在类函数中设置

时间:2013-03-23 23:46:55

标签: php class multilingual

我尝试构建一个多语言网站,但是在点击提交按钮选择语言后无法设置变量的问题:

<form action="<?php $aradown->make_lang(); ?>" method="post">
  <input type="submit"  name="en" value="english" >
  <input type="submit" name="ar" value="arabic" >
</form>

类功能代码:

public function make_lang(){
  if($_POST['en']){
    $_SESSION['lang_en'];
  }

  if($_POST['ar']){
    $_SESSION['lang_ar'];   
  } 
}   

public function check_lang(){
  if(isset($_SESSION['lang_en'])){
    $lang="english";
  }
  if(isset($_SESSION['lang_ar'])){
    $lang="arabic";
  }
  $path=dirname(__FILE__)."/languages/".$lang.".php";   
  return $path;
}

这是要使用的代码:

include('includes/core.class.php');
$aradown= new aradown;
$lang_file=$aradown->check_lang();
include($lang_file);

我尝试打印$lang_file的结果,但$lang var为空。

C:\AppServ\www\aradown-new\includes/languages/.php

有什么遗漏?

1 个答案:

答案 0 :(得分:1)

您需要实际设置变量。

    if($_POST['en']){
        $_SESSION['lang_en'] = true;
        }

    if($_POST['ar']){
        $_SESSION['lang_ar'] = true;   
        }

使用session_start()启动会话。