Как передать переменную в сессии?

enver

Guest
Как передать переменную в сессии?

Друзья, я в отчаянии... весь день не могу разобраться че у меня с сессиями...

есть такой кусок кода

PHP:
session_start();
if (!$_SESSION['test'])
{
	$_SESSION['test']='Hello world!';
	echo "<a href=test.php>Сделай чудо</a>";
}
else
	echo $_SESSION['test'];
теоретически должно произойти чудо, он должен вывести "Привет дружек".... но что просиходит, переменной $_SESSION['test'] нет как таковой... хотя к ссылке цепляется двухметровый id сессии

Помогите, кто чем может
Спасибо
 

SvetaQL

Guest
обожди! А ты зарегистрировал свою сессию? Типа как:
session_register("test");
 

enver

Guest
короче, оно вроде заработало после того как я в php.ini вместо

session.save_path = /tmp

поставил

session.save_path=c:/temp

тепрь вроде работает,но дело в том что теперь в папке C:/temp создаются файлы с номерами сессий, так что же получается, я должен постоянно подчищать эту папку? и вообще нормально появление таковых файлов? и что за такое сомнительно расположение этих файлов по умолчанию /tmp ?

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

скажите, можно ли эту проблему как то еще решить....

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

Всем спасибо, за проявленное внимание
 

SvetaQL

Guest
А когда ты её зарегистрировал, она существовала? И ещё, я как-то запамятовала про наличие session_unset("var"); и долго не могла понять - где моя переменная. У тебя этой фичи нет?
 

SvetaQL

Guest
Насчёт TMP - а тебе не по барабану, что там на сервере хостера творится?:) У него там всё настроено, думаю... У тебя какой мыл, могу пхп.ини на русском подсуропиить:)
 

enver

Guest
[email protected]
[email protected]

мыль на любой, а лучше на обои

я так понял, что Света имеет в виду, что можно удалять те файла этим приколом

session_unset("var");

правильно?
 

ast-ross

Новичок
тепрь вроде работает,но дело в том что теперь в папке C:/temp создаются файлы с номерами сессий, так что же получается, я должен постоянно подчищать эту папку? и вообще нормально появление таковых файлов? и что за такое сомнительно расположение этих файлов по умолчанию /tmp ?
Видимо php у тебя работает модулем Apache, в Apache ты настроил работу php а вот php.ini ручками не подправил. По дефолту папка /tmp, и распологаться она должна рядом с php.exe. Можно прописать полный путь до этой папки типа c:/WebSRV/temps (обычно я так делаю)... А на счет файлов - не беспокойся сборщик мусора их сам удалит когда надо будет...

да и что говорить, я так понимаю, что если на хосте не будет настроен php.ini как у меня(с указанием конкретного расположения временных файлов), а будет по умолчанию, то мои сессии опять прекратят работать :(
Ну тут уж извини, если админ хостинга бестолочь... Но как правило на хостингах все настроенно и тебя не должно ето волновать...
и вопрос не по теме, кончно, но кто то может дать ссылку на русскую поясниловку по настройке php.ini и http.conf ..... ну в смысле, что там что значит.... или намыльте, если не в лом... буду очень благодарен
http://www.dklab.ru/doc/apache/httpd.conf.html

И вообще не мучайся поставь себе денвера и отлаживай свои скрипты. Линк: http://www.dklab.ru/chicken/web/base.html
 

SvetaQL

Guest
Это команда на полную очистку от сессий. Я , например, для безопасности юзаю, как кнопка "Выход". Раньше мне приходилось делить комп со многими челами, вот такая привычка и осталась. Хорошая, по-моему. Отправила, проверь мыл.
 

fixxxer

К.О.
Партнер клуба
Так. хорошо ерунду говорить. эту Свету вообще банить надо в сраку. Enver, слушай сюда.

1) Твой скрипт, который ты написал в первом посте, правильный.
За исключением того, что условие лучше заменить на if (!isset($_SESSION['test'])) .

2) Какая версия PHP? Если более старая, чем 4.2 - обновляйся.

3) Напиши в самом начале
ini_set('display_errors',1);
error_reporting(E_ALL);
и смотри на ошибки и нотисы. Возможно, у тебя в конфиге указан кривой путь к session.save_path, или что-то подобное. Возможно, не удается отдать куку, так как ты случайно оставил пробел или пустую строку перед <?
 

fixxxer

К.О.
Партнер клуба
На хостинге ты можешь указать свое собственное местоположение файлов сессии с помощью строки наподобие php_value session.save_path /home/xxxx/tmp в .htaccess.
 

Verk

Guest
Автор оригинала: ast-ross
По дефолту папка /tmp, и распологаться она должна рядом с php.exe. Можно прописать полный путь до этой папки типа c:/WebSRV/temps (обычно я так делаю)... А на счет файлов - не беспокойся сборщик мусора их сам удалит когда надо будет...
По дефолту папка /tmp юниксовая и располагаться 'рядом' с php ей не положено, т.к. она лежит в корне.
Для продакшена советуется использовать свою папку под сессии чтобы соседи по хостингу их не могли видеть.
 

fixxxer

К.О.
Партнер клуба
ast-ross
Не надо потому что давать такие советы.
Вот возьмет он Денвер.
Поставится он - хорошо.
А если не поставится, или понадобится изменить какие-то настройки?
Базовых знаний не будет - так как ставил не сам. Помогать здесь тоже никто не будет, ибо денвера этого и что он там настраивает по дефолту в глаза не видели.
 

enver

Guest
спасибо... я то подумал, что меня тут не любят :) а оказалось, что просто никого не было..... вот теперь чувствуется, что люди попросыпались, почистили зубы, умылись и начался день, на ночь глядя :)

Спасибо...... и за ссылку тоже :)
 

ast-ross

Новичок
Автор оригинала: fixxxer
ast-ross
Не надо потому что давать такие советы.
Вот возьмет он Денвер.
Поставится он - хорошо.
А если не поставится, или понадобится изменить какие-то настройки?
Базовых знаний не будет - так как ставил не сам. Помогать здесь тоже никто не будет, ибо денвера этого и что он там настраивает по дефолту в глаза не видели.
В денвере подробная документация на русском, на которой реально можно учиться... Все настройки подходящие, за исключением register_globals стоит почему то в on... Полная иммитация расположения каталогов как в *nix. Куча дополнительных модулей, идеальное решение для отладки...
 

fixxxer

К.О.
Партнер клуба
ast-ross
не имею ничего против. просто хочу заметить, что тогда "всё сам", а на любой вопрос будет вполне логичный ответ "снеси денвер".
 
Сверху