Содружество Независимых Программистов

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



php сессия [решено]

Сообщений 1 страница 11 из 11

1

Не получается получить значения из $_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();
?>

ошибка

Warning: session_start(): open(/tmp\sess_kaojjej71acl4m32a2bbvdjkdf, O_RDWR) failed: No such file or directory (2) in D:\Server\data\htdocs\loading.php on line 4

Warning: session_start(): Failed to read session data: files (path: /tmp) in D:\Server\data\htdocs\loading.php on line 4

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

Код:
session.save_path /tmp

?

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

Код:
bin
----Apache24
----Php
        |----tmp
data
----htdocs
        |-----tmp

Отредактировано Aleksandr H. (Вт, 10 Дек 2019 09:53)

0

2

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

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

0

3

Aleksandr H. написал(а):

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

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

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

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

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

Код:
session.save_path = "D:/temp/php"

Отредактировано Serge (Пн, 9 Дек 2019 18:01)

0

4

Serge написал(а):

судя по слешу в начале - в корне диска

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

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

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

Alex P. написал(а):

я уже давно стараюсь не ставить ничего лишнего себе, намного проще через вагрант или докер.

Ну и для веб-разработки удобнее на линуксе (или маке) сидеть.

0

5

прописал

Код:
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();

0

6

Aleksandr H. написал(а):

но все равно не показывается

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

http://phpfaq.ru/sessions#bugs

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

+1

7

Alex P. написал(а):

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

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

Alex P. написал(а):

ЗЫ а что вы вообще сделать пытаетесь?


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

Alex P. написал(а):

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

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

0

8

Aleksandr H. написал(а):

Ожидалось

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

0

9

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

0

10

Код:
var_dump($message); die();
$_SESSION['message'] = $message;
Код:
var_dump($_SESSION['message']);
if (isset($_SESSION['message']) && $_SESSION['message']) {

0

11

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

Код:
session_start();

:rolleyes:

0