[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача $PHPSESSID
l@pteff
здравствуйте, есть форма авторизации, через которую пользователь попадает на страницу форума:


<input name="login_auth" id="login_auth" type="text"/>
<input
name="password_auth" id="password_auth" type="password"/>
<input
type="submit" value="В форум!"/>


дальше помещаю значения в сессию и устанавливаю куки:


session_start();
$login_auth = trim($_POST['login_auth']);
$password_auth = trim($_POST['password_auth']);
$login_auth = addslashes($login_auth);
$password_auth = addslashes($password_auth);

$_SESSION['login_auth']=$login_auth;
$_SESSION['password_auth']=$password_auth;

setcookie('valid_user', $_SESSION['login_auth']);
setcookie('valid_passw', $_SESSION['password_auth']);


на каждой странице сайта нужно прописать логин авторизовавшегося:


if (isset($_SESSION['login_auth'])&&isset($_SESSION['password_auth'])) {
session_start();
$username=$_SESSION['login_auth'];
echo "Вы вошли как $username";
}
else {echo "Вы вошли как Гость";}


но условие выполняется только собственно для страницы форума, на всех остальных страницах выводится "Вы вошли как Гость". Почему $PHPSESSID не передаётся всем страницам сайта, к которым можно перейти по ссылкам, ведь директивы session.use_cookies и session.use_trans_sid включены?



Спустя 23 минуты, 26 секунд (9.04.2011 - 22:54) alex12060 написал(а):
Глобальный массив $_SESSION активируется только после включения session_start();


session_start();
if (isset($_SESSION['login_auth']) && isset($_SESSION['password_auth'])) {
$username = $_SESSION['login_auth'];
echo "Вы вошли как $username";
} else {
echo "Вы вошли как Гость";
}

Спустя 19 минут, 35 секунд (9.04.2011 - 23:14) l@pteff написал(а):
alex12060, теперь выводится правильно: "Вы вошли как (логин)", но вместе с варнингом об отправленных заголовках:

Цитата

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\my_projects\site.local\www\main.htm:205) in E:\my_projects\site.local\www\php\name.php on line 2



Спустя 2 минуты, 59 секунд (9.04.2011 - 23:17) l@pteff написал(а):
в чём косяк? (в PHP-файле нет BOM)

Спустя 7 минут, 54 секунды (9.04.2011 - 23:25) alex12060 написал(а):
http://phpforum.ru/index.php?showtopic=43337&hl=

Тут разбираестся этот вопрос.

Спустя 10 часов, 37 минут, 20 секунд (10.04.2011 - 10:02) l@pteff написал(а):
да не, эт всё понятно, если в двух словах то происходит следующее: на той странице, куда мы попадаем непосредственно с формы авторизации (сюда можно задать любую страницу), всё ОК:

Цитата

Вы вошли как lapteff


на остальных:

Цитата

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent()... Вы вошли как lapteff


Как быть с остальными страницами?

Спустя 5 минут, 45 секунд (10.04.2011 - 10:08) Trianon написал(а):
l@pteff
Цитата
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent()... Вы вошли как lapteff
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.