Просмотр полной версии : Кто поможет с сессиями?
У меня не работают сессии. Установлен Apache 1.3.26 PHP 5.0.0
Может какие-нибудь доп настройки в php.ini нужны? :confused:
session_start() вызывать нужно каждый раз.
И права на чтение/запись в директорию session_dir.
А как ты понял что они не работают.
Попробуй
<?php
session_start();
$_SESSION['hello'] = 'hello';
if (isset($_SESSION['hello']))
{echo 'sesson works';}
else
{echo 'sux'}
?>
Если всё таки 'sux' то проверь значения директив
session.use_cookies и sessin.use_trans_sid в php.ini
они должны быть равны 1.
Если не заработант то писани сюда свой раздел session в php.ini
В одном файле рабоать будет в любом случае :)
Antoine, проверил твой пхп, выдал: sesson works (знать, сессии работают)
Но тогда не могу понять причину, почему в этом пхп Апачик не обнаруживает ни переменую submit, ни user_name, ни user_pass?
<?php
session_start();
if ($submit)
{
if (($user_name=="login")&&($user_pass=="password"))
{
$login_user=$user_name;
session_register("login_user");
header("location: done.php");
exit;
}
}
?>
А вот index.html, если это чем-нибудь сможет помочь...
<html>
<body>
<form action="auth.php" method="post">
Логин <input type="text" name="user_name"><br>
Пароль <input type="password" name="user_pass"><br>
<input type="submit" name="submit" value="вход">
</body>
</html>
maelstorm
26.10.2005, 10:25
Батенька, не $user_name, а $GLOBALS['_POST']['user_name'], ну и по аналогии
Или просто $_POST['user_name']
Вот оно как бывает! Спасибо, братцы! Сейчас пренепременно буду юзать!
Скрипт подхватился. Всё чудно. Но... Хотел, чтобы мне вдовесок распечаталось : Вы залогинены под логином login.
Я (от имени PHP) : echo $GLOBALS['_POST']['login_user'] ;
appache : не определён индекс login_user
А как правильно?
ужас и с вопросами с ответами.
внимание, правильный ответ:
1. Предопределенные переменные (http://php.net/manual/ru/language.variables.predefined.php)
2. Сессии (http://php.net/manual/en/ref.session.php)
3. Сессии. Подробное описание работы и объяснение механизма. (http://phpfaq.ru/sessions)
4. Не передаются переменные! Проблема register_globals (http://phpfaq.ru/globals)
maelstorm
27.10.2005, 10:28
а ты сохраняй в $GLOBALS['SESSION']['login'] и оттуда и бери
Или, что короче, $_SESSION['login']
maelstorm
27.10.2005, 13:56
мне почему-то мастера-секурники советовали через глобалс именно. непомню уже чем аргументировали, но что-то там было :))
Регистрируй переменную через $_SESSIONS и всё. Только если ты деланшь так, то не рекомендуется пользоваться конструкциями
if (session_registered('variable'))
{//code;}. А GLOBALS нефиг трогать.
maelstorm
27.10.2005, 16:00
session_register и session_regstred сразу идут в сад :)))
блин, вот не помню почему говорили что лучше $GLOBLAS['_SESSION'] чем просто $_SESSION. грю же - безопасники что-то мне там нагрузили, я так с тех пор и пишу =)))
во-первых перестаем слушать maelstorm'a
во-вторых maelstormу предлагаю послать "мастеров-секурников" в известное место
в-третьих всем УБЕДИТЕЛЬНО РЕКОММЕНДУЕТСЯ прочесть приведенные ссылки. чтобы ни себя ни других идиотскими ответами и разглагольствованиями не вводить в заблуждение.
Вообще забудь о $GLOBALS[""] всегда бери оттуда, откуда пришли. Если допустим register_globals=off, то нифига не заработает в 80% случаев. Я тоже раньше так писал, сейчас пишу всегда то, откуда данные должны прийти и register_globals=off сделал у себя
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.