За последние 24 часа нас посетили 17370 программистов и 1200 роботов. Сейчас ищет 1231 программист ...

Переменные уровня сесии

Тема в разделе "Вопросы от блондинок", создана пользователем kvv, 17 янв 2007.

  1. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
    Чем отличается
    session_register("lng"); и $HTTP_SESSION_VARS['lng'] = $_GET['lnglog'];
     
  2. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    тем, что $HTTP_SESSION_VARS старо, а session_register - еще старее. используйте $_SESSION.
     
  3. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
    У меня не работает $_SESSION

    lang.php
    Код (Text):
    1.  
    2. <?PHP
    3.     session_start();
    4.    
    5.     if (isset($_GET['lnglog']))
    6.      {
    7.             $lng=$_GET['lnglog'];
    8.  
    9.             $_SESSION=$lng;
    10.      }
    11.        
    12.  
    13.    if (!isset($lng))
    14.     {
    15.         $lng='rus';
    16.  
    17.         $_SESSION=$lng;    
    18.    
    19.     }
    20.  
    21. ?>


    а так при переходе на след. страницу переменная $lng = rus
    lang.php:
    Код (Text):
    1. <?PHP
    2.     session_start();
    3.    
    4.     if (isset($_GET['lnglog']))
    5.      {
    6.             $lng=$_GET['lnglog'];
    7.             session_register("lng");
    8.      }
    9.        
    10.  
    11.    if (!isset($lng))
    12.     {
    13.         $lng='rus';
    14.         session_register("lng");
    15.    
    16.     }
    17.  
    18. ?>

    посмотрите http://ukrbiznes.com/blank.php[/quote]

    На каждой странице есть
    Код (Text):
    1. include('lang.php');
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    $_SESSION - Это ассоциативный массив.
    PHP:
    1. $_SESSION['var_name'] = $var_value;
     
  5. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
    И так не пашит.
    При переходе на след. страницю срабатывает if (!isset($lng))
    Код (Text):
    1.  
    2. <?PHP
    3.     session_start();
    4.    
    5.     if (isset($_GET['lnglog']))
    6.      {
    7.             $lng=$_GET['lnglog'];
    8.  
    9.             $_SESSION['lng']=$lng;
    10.      }
    11.        
    12.  
    13.    if (!isset($lng))
    14.     {
    15.         $lng='rus';
    16.  
    17.         $_SESSION['lng']=$lng;     
    18.    
    19.     }
    20. ?>
     
  6. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    $_SESSION['lang'] = $lng;
     
  7. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    kvv, если сначала устанавливается $_SESSION['lng']=$lng;, то какого х.. потом проверяется if (!isset($lng))?!
     
  8. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
    Для того штобы автоматически установить $lng=rus при первом заходе на страницу...
     
  9. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. $lng = $_SESSION['lng'];
     
  10. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
    Нет нифига
    Код (Text):
    1. <?PHP
    2.     session_start();
    3.    
    4.     if (isset($_GET['lnglog']))
    5.      {
    6.             $lng=$_GET['lnglog'];
    7.  
    8.             $_SESSION['lng']=$lng;
    9.             $lng=$_SESSION['lng'];
    10.      }
    11.        
    12.  
    13.    if (!isset($lng))
    14.     {
    15.         $lng='rus';
    16.  
    17.         $_SESSION['lng']=$lng;     
    18.    
    19.     }
    20.  
    21. ?>
     
  11. Mavir

    Mavir Guest

    $lng где-нибудь до этой строки определяется?
     
  12. kvv

    kvv Активный пользователь

    С нами с:
    24 ноя 2006
    Сообщения:
    146
    Симпатии:
    0
    Адрес:
    Луцьк- УКРАЇНА
  13. Mavir

    Mavir Guest

    А раз не определяется, то условие будет выполняться всегда, конечно, если первое тоже не выполняется.

    Посоветую изменить логику определения языка.
     
  14. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    kvv, повторюсь:
    почему ты устанавливаешь значение одной переменной $_SESSION['lng'], а проверяешь на существование совершенно другую (когда нет переменной из GET), $lng ?