簡體   English   中英

會話不能在類函數中設置

[英]session can't be set in a class function

我嘗試構建一個多語言站點,但是單擊提交按鈕以選擇語言后,無法設置變量的問題:

<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

缺少任何東西嗎?

您實際上需要將變量設置為某種值。

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

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

以及使用session_start()啟動會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM