За последние 24 часа нас посетили 18300 программистов и 1597 роботов. Сейчас ищут 867 программистов ...

чем отличеется $_SESSION[aut] от $_SESSION['aut'] ?

Тема в разделе "PHP для новичков", создана пользователем Hard1911, 15 май 2008.

  1. Hard1911

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

    С нами с:
    16 апр 2008
    Сообщения:
    44
    Симпатии:
    0
    кто может обьяснить чем отличается $_SESSION[aut] от $_SESSION['aut'] в PHP 5 ? Это одно и тоже?


    Дело в том, что переменные обьявленные так

    Код (Text):
    1.  
    2. $_SESSION['aut']="значение";
    не обьявляются, а переменные обьявленные так:
    Код (Text):
    1.  
    2. session_register("aut");
    3. $_SESSION[aut] ="значение";
    вполне нормально функционируют;

    Когда как описывать переменные в сесиии намогли бы разьеснить? :)
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Элемент ассоциативного массива имеет string-ключ (aut в данном случае). Это не переменная и не константа, а строка. Поэтому её надо заключать в кавычки.
    session_register использовалось в ранних версиях PHP, а теперь достаточно $_SESSION['aut']="значение";
    Чтобы объявлялось, в начало страницы надо - session_start();
     
  3. Sephiroth_Lukaw

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

    С нами с:
    26 апр 2008
    Сообщения:
    62
    Симпатии:
    0
    PHP:
    1. $_SESSION['aut']="значение";
    Сам так объявляю, всё работает, а вот пример с
    PHP:
    1. $_SESSION[aut] ="значение";
    Мне очень не нравиться...а что если где то будет существовать константа aut?
    А как, когда и где вы это проверяете? :)[/code]
     
  4. Mc X

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

    С нами с:
    14 май 2008
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Северная и Культурная Столица России
    Вы ничего не путаете? может наоборот?
    с кавычками все должно нормально работать ;)
     
  5. Ti

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

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    если не использовать кавычки то php преобразует выражение в строку (при условии что константы с таким именем не существует) и сгенерирует notice:
    Код (Text):
    1. <?
    2. error_reporting(E_ALL | E_STRICT);
    3. $a = array();
    4. $a[waka] = 123;
    5. print_r($a);
    С одной стороны это то же самое, с другой, любые ошибки добавляют проблем.
     
  6. Mc X

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

    С нами с:
    14 май 2008
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Северная и Культурная Столица России
    и дыр...:)
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Дыр это в частности, а проблем в любом случае (даже если нет дыр)
     
  8. Mc X

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

    С нами с:
    14 май 2008
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Северная и Культурная Столица России
    Я о том и говорю, просто дополнил ;)
    Чтобы страху нагнать %)))))