IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   PHP сессии не работают (https://www.imho.ws/showthread.php?t=67960)

EvroStandart 08.09.2004 12:42

PHP сессии не работают
 
попробовал запустить скрипт:

PHP код:

session_start();
session_register("m");
$m "abc";
echo 
$_SESSION['m']; 

Этот скрипт ничего не выдаёт. (Apache/1.3.31 (Win32) PHP/4.3.8 )
На другом компьютере всё работает. В чём может быть проблема?

is_absent 08.09.2004 12:45

Цитата:

If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister().
цитата из мануала

Цитата:

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
вот еще одна. проверь register_globals в php.ini

EvroStandart 08.09.2004 13:06

Спасибо!

register_globals выключены.
Написал $_SESSION['m'] = "abc" заместо session_register("m");
$m = "abc";
Всё заработало. Сам бы не додумался :)

de(m)net 09.09.2004 08:16

Приветствую всех!
Решил не создавать новую тему, впринципе тема одна :)

Не передается SID в адресной строке,
для каждого обновления станицы создается новая сессия.
Использую Apache 2.0.49 + PHP 4.3.9RC2 на Windows 2000 Pro
При register_globals = Off
В настройках php.ini прописал следующее:
Цитата:

[Session]
session.save_handler = files
session.save_path = f:/php/session
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 1
session.cookie_lifetime = 0
session.cookie_path = f:/php/session
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
=============================================

Проделываю следующее:
[/quote]

создаю функцию:
Цитата:

function login(){

if ($PASS == $USER_PASS) {
session_start();
$_SESSION['status']="logged";
}

}
вытаскиваю статус:
Цитата:

echo isset($_SESSION['status']);

Hubbitus 09.09.2004 14:57

Во-первых у Вас стоит session.auto_start = 1, поэтому поидее session_start(); писать не обязательно.

Чтобы передавался в строке идентификатор сесии session.use_trans_sid = 1 попробуйте.

P.S. Кстати интересно: в функцию login() Вы не передаете никаких параметров, глобальными переменные не определяете, соответственно сравнение $PASS == $USER_PASS всегда true, т.к. ни одна переменная не определена (NULL == NULL).

de(m)net 10.09.2004 18:54

Hubbitus
Вопрос ведь не в переменных (переменные я задаю чуть раньше, просто весь код писать было бы неразумно.)

session.use_trans_sid = 1 пробовал, но неработает.

Hubbitus 10.09.2004 19:26

Попрробуй скрипт:
PHP код:

<?
session_start();
$SESSION["var"] = "qwerty";
var_dump($SESSION);
?>

И приведи сюда вывод скрипта.

de(m)net 11.09.2004 16:32

array(1) { ["var"]=> string(6) "qwerty" }

Hubbitus 11.09.2004 20:10

Отлично, занчит сесии как минимум работают.
А теперь сначала запустите этот скрипт, а потом уберите (закомментируйте) в нем строчку $SESSION["var"] = "qwerty"; и запустите снова, если выведется тоже самое, значит все нормально, и ошибка в Ваших скриптах. Приведите сюда вывод, если нет.

de(m)net 15.09.2004 03:26

Результат: NULL

Hubbitus 15.09.2004 15:31

Странно, а никаких ошибок в логах?
Попробуйте со стандартными настройками, например скачайте комплект Апач+ПХП в одном флаконе с единым инсталлером, коих сейчас куча в сети...

de(m)net 15.09.2004 20:07

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

Hubbitus 15.09.2004 22:07

Абсолютно правильное решение разобраться!, но это же не мешает Вам сравнивать рабочие конфиги с Вашими для нахождения ошибок! ;)

Про ошибки в логах Вы так и не ответили.

de(m)net 16.09.2004 06:50

Hubbitus
Ошибок в логах нет.
Да, Вы правы, я займусь поиском таких пакетов и попробую их на прочность. О результатах отпишусь чуть позже.
Hubbitus
Я Вам крайне признателен за помощь, прошу еще на некоторое время не тереть тему из вида, думаю поиск пакетов и установка не займут много времени. :-)


Часовой пояс GMT +4, время: 13:18.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.