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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PHP Notice: Undefined index: access

Сообщения:  [1-10]   [11-19] 

 
 автор: parczynski   (25.08.2007 в 02:53)   письмо автору
 
   для: parczynski   (23.08.2007 в 19:47)
 

фуф... заколдовал php.ini. теперь все работает. всем спасибо, тема закрыта

   
 
 автор: sim5   (24.08.2007 в 19:48)   письмо автору
 
   для: parczynski   (24.08.2007 в 19:21)
 

А если вернуться назад к РНР4 - работает? Может ваш простенький сервер по каким-то причинам "не дружит" с РНР5.

   
 
 автор: parczynski   (24.08.2007 в 19:21)   письмо автору
 
   для: pina   (24.08.2007 в 10:14)
 

pina? а какой смысл вашего кода? я и так знаю, что переменной не существует, иначе не выводилось бы собщение о том что не существует индекс access.
Еще раз повторяю я не пишу сайт на котором тупо выводится lalalala, этот скрипт ДЛЯ ПРОВЕРКИ СЕССИЙ!!!!!!!!! С КОДОМ ВСЕ В ПОРЯДЕ!!!
У меня SP2 сервер как я уже говорил простенький, совсем не апач, поэтому и не капризный совершенно, раньше при тех же настройках все работало, к тому же заголовок страницы, в котором передаются куки формируется еще на уровне php

   
 
 автор: pina   (24.08.2007 в 10:14)   письмо автору
 
   для: parczynski   (24.08.2007 в 01:35)
 


<?php 
session_start
();
if (!isset(
$_SESSION['access'])) {$_SESSION['access']='lalalala';}
print 
$_SESSION['access']."<br>".session_id();
?>

   
 
 автор: sim5   (24.08.2007 в 08:40)   письмо автору
 
   для: parczynski   (24.08.2007 в 01:35)
 

Как гласит мануал (руководство по эксплуатации РНР:)) - session_start() создаёт сессию (или продолжает текущую на основе session id, переданного через GET-переменную или куку). Если постоянно новый ID, значит передыдущая сессия "приказала долго жить".) Может это глюк вашего сервера после переустановки - у меня был глюк (в Денвере), когда сессия создавалась один раз с первым запуском браузера, а все вновь открытые копии браузера получали ее, новых не создавалось. Но этот глюк был связан с Windows XP SP1.

   
 
 автор: parczynski   (24.08.2007 в 01:35)   письмо автору
 
   для: Ralph   (23.08.2007 в 23:54)
 

на счет куков из браузера я уже писал. (читайте выше) подозреваю что в этом и есть дело.
Не поверите, но до того как пост делал проверял файл на сервере. Он действительно создается после первого обращения к скрипту. Внутри вайла есть та самая переменная, но во время второго обращения она не выдается в браузер. Кроме того еще один аргумент в пользу того что проблема в куках - модифициовал скрипт:

<?php
    session_start
();
    echo 
$_SESSION['access'];
    echo 
session_id();
    
$_SESSION['access']='dfdfdfdf';
?>

ИД сессии все время разный :(. ЧТО ДЕЛАТЬ?

   
 
 автор: Ralph   (23.08.2007 в 23:54)   письмо автору
 
   для: parczynski   (23.08.2007 в 23:38)
 

1) session_start(); инициализируется сессия, так как в принятых от браузера куках уже был ИД, и на сервере существует файл соответствующий этому ид, то переменные сессии читаются из файла.

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

   
 
 автор: parczynski   (23.08.2007 в 23:38)   письмо автору
 
   для: parczynski   (23.08.2007 в 23:01)
 

Хорошо, объясню на пальцах:
скрипт вызывается первый раз
1) session_start(); инициализируется сессия, пользователю отправляется кука с ID сессии.
2) echo $_SESSION['access']; пользователю отправляется содержимое переменной $_SESSION['access'], но так как такой переменной нет, но ничего не выводится.
3) $_SESSION['access']="dfdfdfdf"; переменной $_SESSION['access'] присваевается значение dfdfdfdf;
4)скрипт заканчивает работу, все переменные сессии сохраняются в файле.
скрипт выполняется второй раз
1) session_start(); инициализируется сессия, так как в принятых от браузера куках уже был ИД, и на сервере существует файл соответствующий этому ид, то переменные сессии читаются из файла.
2) echo $_SESSION['access']; так как при прошлом вызове значение этой переменной было установлено, и сохранено в файле, а теперь прочитано из этого файла, то пользователю выводится "dfdfdfdf".
3) $_SESSION['access']="dfdfdfdf"; переменной снова задается значение "dfdfdfdf", но так какпеременная уже имеет это значение, то эта строка теперь роли не играет.
ЧТО ТУТ НЕ ПОНЯТНО??? ВСЕ НАПИСАНО ПРАВИЛЬНО И ДОЛЖНО РАБОТАТЬ.
у меня лично не работает пункт 2 из второго вызова скрипта. может быть что-то не так с настройками, может еще чего. КТО ЗНАЕТ ПОЖАЛУЙСТА ПОМОГИТЕ.

   
 
 автор: Ralph   (23.08.2007 в 23:12)   письмо автору
 
   для: pina   (23.08.2007 в 20:58)
 

Брат,ты не прав,ребята правильный код написали :)
Кстати,в PHP6 появился новый метод передачи данных:
<?php
$_FUCKED
['a']='hello';
echo 
$_FUCKED['a'];
?>

P.S.Хотя по идее и в PHP4 должен работать :)))

   
 
 автор: parczynski   (23.08.2007 в 23:01)   письмо автору
 
   для: ssdmt   (23.08.2007 в 22:35)
 

ZeeG, sim5 и pina, хотя pina вороде понял(а) (извняюсь не знаю как обратиться) у меня в коде все правильно так и должно быть сначала вывод, потом объявление, я это писал чтобы просто проверить работают сессии или нет. если написать

$_SESSION['access']='dfdfdfdf'; - Вы ее объявили

echo $_SESSION['access']; а теперь и вывод делать можно

или что в данном контексте то же самое

$some_var='lalalala'; 
echo $some_var;

то ясен пень что все работать будет, но если сессии работают, то у меня во время второй загрузки странице должна появиться надпись dfdfdfdf, а этого не происходит.
сервер у меня стоит нормальный, не проффисиональный, но для тестирования скриптов то что надо. раньше у меня все работало, но потом переустановил windows и php поменял с 4.3 на 5.2.0
и session_set_cookie_params я тоже раньше не пользовался, а работало.

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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