Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с сессионными переменными
 
 автор: Dead   (11.03.2007 в 00:07)   письмо автору
 
 

Если $lang становится en, тогда $_SESSION['lang'] равна en, но если после этого не указываю значение $lang, то $_SESSION['lang'] становится пустой. В чем проблема?


<?
session_start
();
$lang=$_GET['lang'];

if(
$lang!="" || $_SESSION['lang']!=$lang) { 

session_destroy();
   if(
$lang=="en") {
     
$_SESSION['lang']="en";
   } else {
     
$_SESSION['lang']="ru";
   }
}

$lang=$_SESSION['lang'];
?>

   
 
 автор: cheops   (11.03.2007 в 00:53)   письмо автору
 
   для: Dead   (11.03.2007 в 00:07)
 

$_SESSION['lang'] всегда имеет какое-то значение? И если да, то какое?

   
 
 автор: Dead   (11.03.2007 в 03:19)   письмо автору
 
   для: cheops   (11.03.2007 в 00:53)
 

Просто попытался соорудить многоязычную поддержку. $_SESSION['lang'] может быть пустым если пользователь зашел на страницу, если же он щелкает на ссылку АНГЛИЙСКАЯ версия, тогда $_SESSION['lang']=en, но она должна так и остаться даже в том случае если он перейдет на другую страницу без указания языка в строке адреса

   
 
 автор: dim0s   (11.03.2007 в 05:09)   письмо автору
 
   для: Dead   (11.03.2007 в 03:19)
 

Я думаю надо Что-то типа

<?php
session_start
();
if (!isset(
$_GET['lang']) || empty($_GET['lang']))
{
  if (!isset(
$_SESSION['lang']) || empty($_SESSION['lang']))
  {
$lang "ru";}
  else
  {
$lang $_SESSION['lang'];}    

else 
{
  
$lang $_GET['lang'];

$_SESSION['lang']=$lang;
?>


И сессию убивать не надо. Всегда будет или "ru" или "en"

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования