Сеанс не может быть установлен в функции класса
Я пытался создать многоязычный сайт, но проблема в том, что переменная не может быть установлена после нажатия кнопки отправки для выбора языка:
<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 ответ
Решение
Вы должны на самом деле установить переменные на что-то.
if($_POST['en']){
$_SESSION['lang_en'] = true;
}
if($_POST['ar']){
$_SESSION['lang_ar'] = true;
}
А также начать сеанс с помощью session_start()
,