Php сессия

Не получается получить значения из $_SESSION.


session.auto_start	Off	Off
session.cache_expire	180	180
session.cache_limiter	nocache	nocache
session.cookie_domain	no value	no value
session.cookie_httponly	Off	Off
session.cookie_lifetime	0	0
session.cookie_path	/	/
session.cookie_secure	Off	Off
session.gc_divisor	1000	1000
session.gc_maxlifetime	1440	1440
session.gc_probability	1	1
session.lazy_write	On	On
session.name	PHPSESSID	PHPSESSID
session.referer_check	no value	no value
session.save_handler	files	files
session.save_path	/tmp	/tmp
session.serialize_handler	php	php
session.sid_bits_per_character	5	5
session.sid_length	26	26
session.upload_progress.cleanup	On	On
session.upload_progress.enabled	On	On
session.upload_progress.freq	1%	1%
session.upload_progress.min_freq	1	1
session.upload_progress.name	PHP_SESSION_UPLOAD_PROGRESS	PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix	upload_progress_	upload_progress_
session.use_cookies	On	On
session.use_only_cookies	On	On
session.use_strict_mode	Off	Off
session.use_trans_sid	0	0

при открытии страницы

<?php
require ("includes/db.php");
require ("includes/combobox_items.php");
session_start();
?>

ошибка

Где именно должен располагаться

session.save_path /tmp

?

Структурa сервера :


bin
----Apache24
----Php
        |----tmp
data
----htdocs
        |-----tmp

Пути начинающиеся с / обычно означают абсолютный путь в линуксах. (типа как C:\foo\bar на винде)

Странно, что у вас так если у вас винда.

судя по слешу в начале - в корне диска
скорее всего, в D:\tmp

есть такая папка?

у меня локальный сервер поднят под Windows

в настройках так


session.save_path = "D:/temp/php"

Так слеш на винде не значит ничего такого, это просто относительный путь непонятно от чего.

В общем явно что-то странное случилось с настройками, надо исправить их, или может быть переустановить если не только с этим проблема.

А вообще
Хранение текстов для сайтов на русском и на английском

прописал

session.save_path = "d:/Server/data/htdoc/tmp"

ошибка ушла, но все равно не показывается

Может в вызовах намешал?

loading.php

<?php 
session_start():
	if (isset($_SESSION['message']) && $_SESSION['message']) {
    printf('<b> message: ' . $_SESSION['message'] . '</b>');
    unset($_SESSION['message']);
	}
	?>

file2.php

$_SESSION['message'] = $message;
header("Location: loading.php");
exit();

Так а что происходит сейчас?

http://phpfaq.ru/sessions#bugs

ЗЫ а что вы вообще сделать пытаетесь? Обычно лучше взять какой-нибудь фреймворк и не трогать всё это самому.

Ожидалось, что будет выведено сообщение $message.

Вывести сообщение о результатах работы file2.php - “Готово!”, “Ошибка”.

Я не делаю ничего сложного, архитектурного, лишь обучение. Код увидел где-то в сети, в теме о загрузке файла на сервер, скопировал его себе.

Так а происходит что?

А, прошу прощения, ничего не выводится на странице.


var_dump($message); die();
$_SESSION['message'] = $message;

var_dump($_SESSION['message']);
if (isset($_SESSION['message']) && $_SESSION['message']) {

Решено, спасибо за участие.
в начале каждого php должна быть прописана строка

session_start();

:rolleyes: