can sıkıcı Oturum yazılmasını

5 Cevap php

I'm making a multi language website and i decided to use sessions to remember the current language , overall it works as its supposed to , but there is one bug that i can't fix . 1) i load the page and it displays properly in Bulgaria 2) i add '&lang=en' to test if its working properly , and it does 3) when i remove the '&lang=en' and its back to Bulgarian when its not supposed to its supposed to stay in English

Burada sayfanın başlığında ne olduğunu

   if(isset($_GET['lang'])){
    $lang = htmlspecialchars($_GET['lang']);
lang($lang);
}
if(!isset($_SESSION['slang'])){
    lang('bg');
}else {
    lang($_SESSION['slang']);
}

ve burada dil değişimini kolları benim işlevi olduğunu

function lang($lang=''){

    	if($lang=='bg'){
    		$_SESSION['slang'] = 'bg' ;
    		include_once('./includes/bulgarian.php');
    	}
    	if ($lang == 'en'){
    		$_SESSION['slang'] = 'en' ;
    		include_once('./includes/english.php');
    	}else {
    		$_SESSION['slang'] = 'bg' ;
    		include_once('./includes/bulgarian.php');
    	}

}

if someone can explain me why this is happening and how i can fix it it would be great Thanks

5 Cevap

Her sayfada session_start aradığınız emin olun. Benim bilgisayarda denedim ve session_start olmadan sonuçlar aldım. Bunu eklendiğinde istediğiniz gibi, işe yaradı.

Sen oturumu herhangi bir sayfada başlatılmış ise echo session_id(); görmek için kullanmayı da deneyebilirsiniz

Eğer kod $ _SESSION aslında sayfalar arasında alırsa kontrol etmelisiniz çalışması gerektiğini ne yazdı bakılırsa.

Kullandığınız: session_start();?

http://en.wikipedia.org/wiki/Gettext: Ben olsam Gnu gettext spec kullanmak istiyorsunuz

Tarayıcı önbelleği? Eğer net sonra tüm kayıtlı tarayıcıda bilgi ve deneyebilir miyim?

Çağrı session_start() oturumunuzu yüklemek için lütfen.