Jump to content
  • 0

Не работают сессии...


andrums
 Share

Question

Подскажите, почему могут не работать сессии. В коде все правильно. register_globals = ON. Использую ассоциативный массив $_SESSION. А переменные не хотят передаваться в другой сценарий....

Например:

код page1.php

<?
session_start();
$_SESSION['username'] = "dmitry";
echo 'Привет, '.$_SESSION['username']."<br>";
?>
<a href="page2.php">На следующую страницу </a>

Переходим по ссылке на page2.php

<?
session_start();
echo $_SESSION['username'].' , ты пришел на другую страницу этого сайта!';
?>

А там только: , ты пришел на другую страницу этого сайта!

???

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0
Мне кажется, что проблема не в коде, а в настройках.

Переменую видит только сценарий в котором она создана. Другие сценарии ее не видят...

Что может влиять на сессии???

Твой пример рабочий. Проблема действительно в настройках. Проверь, сохраняется ли у тебя в броузере кука с именем PHPSESSID. Если нет, проблема в броузере. Если да, давай сюда настройки из php.ini, раздел [session]

Link to comment
Share on other sites

  • 0
Твой пример рабочий. Проблема действительно в настройках. Проверь, сохраняется ли у тебя в броузере кука с именем PHPSESSID. Если нет, проблема в броузере. Если да, давай сюда настройки из php.ini, раздел [session]

Простите мне мою неосведомленность, но как проверить???

Edited by andrums
Link to comment
Share on other sites

  • 0
Простите мне мою неосведомленность, но как проверить???

Если браузер ФФ, то: Инструменты-Настройки-Приватность-Показать Cookies. В Опере примерно то же самое. Ищи куку со своего сайта имя куки PHPSESSID. Если задаёшь имя сессии с другим именем через session_name(), то и имя будет соответствующим. Если куки отключены, то и сессии в приведённом варианте работать не будут.

Link to comment
Share on other sites

  • 0

Проверил. Кука PHPSESSID создается.

Вот фрагмент php.ini:

[Session]
session.save_handler = files
session.save_path = /temp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 4
session.save_path= E:\PHP\sessiondata

Link to comment
Share on other sites

  • 0
Домен явно задай. session_set_cookie_params в помошь.

Домен тут не при чем.

andrums

у тебя указано 2 пути, по которым пхп сохраняет сессии:

session.save_path= E:\PHP\sessiondata

session.save_path = /temp

удали последний, затем проверь, создаются ли сессии в E:\PHP\sessiondata.

Сессия выглядят как файл с именем "sess_b6b531c47125530bf48b0b8f73978cdb" (например).

попробуй так же вообще закомментировать эту строчку. В этом случае сессии должны создаваться в c:\windows\

Если у тебя пхп стоит как модуль апача, не забывай его (апач) перезапускать после каждого изменения php.ini

Edited by stalker_2000
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy