кто может обьяснить чем отличается $_SESSION[aut] от $_SESSION['aut'] в PHP 5 ? Это одно и тоже? Дело в том, что переменные обьявленные так Код (Text): $_SESSION['aut']="значение"; не обьявляются, а переменные обьявленные так: Код (Text): session_register("aut"); $_SESSION[aut] ="значение"; вполне нормально функционируют; Когда как описывать переменные в сесиии намогли бы разьеснить?
Элемент ассоциативного массива имеет string-ключ (aut в данном случае). Это не переменная и не константа, а строка. Поэтому её надо заключать в кавычки. session_register использовалось в ранних версиях PHP, а теперь достаточно $_SESSION['aut']="значение"; Чтобы объявлялось, в начало страницы надо - session_start();
PHP: $_SESSION['aut']="значение"; Сам так объявляю, всё работает, а вот пример с PHP: $_SESSION[aut] ="значение"; Мне очень не нравиться...а что если где то будет существовать константа aut? А как, когда и где вы это проверяете? [/code]
если не использовать кавычки то php преобразует выражение в строку (при условии что константы с таким именем не существует) и сгенерирует notice: Код (Text): <? error_reporting(E_ALL | E_STRICT); $a = array(); $a[waka] = 123; print_r($a); С одной стороны это то же самое, с другой, любые ошибки добавляют проблем.