<?php $sname = trim($_POST['name']); $spass = trim($_POST['pass']); $fo = file("тут имя файла с паролями и логинами"); $login = false; foreach($fo as $s) { $aUser = explode(" ", $s); if((trim($aUser[0])==$sname)&&(trim($aUser[1])==$spass)) { $login = true; session_start(); $_SESSION['auth']=1; break; } } ?>
...
далье где-то там на страничке в нужном месте:
<?php if ($_SESSION['auth']==1) echo ("Добро пожаловать, $sname"); else echo('Добро пожаловать, гость!'); ?>
на защищенной странице или ссылке пишу:
<?php session_start(); if($_SESSION['auth']!=1) { echo('Авторизуйтесь с главной страницы!'); exit; }
Пользователь успешно проходит авторизацию.. После повторного захода на сайт или нажатия кнопки обновить тожа все ок, повторная аторизация не тр*цензура*ется НО выводится сообщение "Добро пожаловать, гость!"... а имя не запоминает...
К сему вопрос: как сделать, чтоб имя пользователя сохранялось в сессии?
Спустя 13 минут, 21 секунда (29.11.2006 - 14:22) Ghost написал(а):
в сессии имя не запоминается
$_SESSION["sname"] = $sname;
$_SESSION["sname"] = $sname;
Спустя 56 минут, 12 секунд (29.11.2006 - 15:18) Naurgrim написал(а):
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->в сессии имя не запоминается<br><br>$_SESSION["sname"] = $sname;<br><br>Отредактированно Ghost (Сегодня 21:24:22)<!--QuoteEnd--></div><!--QuoteEEnd--><br>Ну вставил я <br>
и дальше на странице
И нифига... нажимаю обновить страницу и пишет гость... хотя пускает по ссылкам, то есть auth сохраняет.
Толи я тугой то ли еще что... в файле сессии содержится "sname|s:5:"admin";auth|i:1;" то есть вроде все есть.... Посоветуйте, где я накосячил..
session_start(); $_SESSION['sname'] = $sname; $_SESSION['auth']=1;
и дальше на странице
<?php if ($_SESSION['auth']==1) echo ('Добро пожаловать, $sname'); else echo('Добро пожаловать, гость!'); ?>
И нифига... нажимаю обновить страницу и пишет гость... хотя пускает по ссылкам, то есть auth сохраняет.
Толи я тугой то ли еще что... в файле сессии содержится "sname|s:5:"admin";auth|i:1;" то есть вроде все есть.... Посоветуйте, где я накосячил..
Спустя 27 минут, 2 секунды (29.11.2006 - 15:45) md5 написал(а):
на всех страницах session_start(); ??
Спустя 58 секунд (29.11.2006 - 15:46) md5 написал(а):
полезно просматривать переменные и массивы в ходе работы print_r($_SESSION);
Спустя 6 минут, 50 секунд (29.11.2006 - 15:53) Naurgrim написал(а):
Ну session_start() соответственно на главной и на защищенной, я думаю ни к чему на каждой-то лепить.. Просто даже залогинившись, я нажимаю кнопку "обновить" и сразу получаю "Добро пожаловать, гость!".
Воть
Воть
Спустя 11 минут, 43 секунды (29.11.2006 - 16:04) Ghost написал(а):
Naurgrim,
прилепи на каждой :)
и на каждой проверяй значения массива сессии
прилепи на каждой :)
и на каждой проверяй значения массива сессии
Спустя 6 дней, 23 часа, 26 минут, 42 секунды (6.12.2006 - 15:31) PhpDracon написал(а):
Привет всем:)
Я новичок
У меня вот такая проблема:
Допустим я учусь создавать интернет магазин
И первое что я сделал страницу регистрации пользователя
Итак пользователь зарегился,информация,пароли записались в базу данных.
Потом я сделал форму ввода ника и пароля
А как проверить его ник и пароль в базе и впустить его на сайт?
И при следующем входе он не вводил это все заново?
Я новичок
У меня вот такая проблема:
Допустим я учусь создавать интернет магазин
И первое что я сделал страницу регистрации пользователя
Итак пользователь зарегился,информация,пароли записались в базу данных.
Потом я сделал форму ввода ника и пароля
А как проверить его ник и пароль в базе и впустить его на сайт?
И при следующем входе он не вводил это все заново?
Спустя 1 час, 8 минут, 38 секунд (6.12.2006 - 16:40) Ghost написал(а):
1. изучить основы sql
2. прочитать тему сначала и подумаь.
2. прочитать тему сначала и подумаь.
Спустя 6 дней, 16 часов, 10 минут, 6 секунд (13.12.2006 - 08:50) Lucky написал(а):
QUOTE(Ghost)
Naurgrim,
прилепи на каждой :)
и на каждой проверяй значения массива сессии
прилепи на каждой :)
и на каждой проверяй значения массива сессии
У меня иногда возникала ситуация, когда php ругался если на каждой странице session_start();
на мой взгляд это не должно было бы случатся. но...
файл1 проверял правильность заполнения формы и перенправлял (header()) на сверку с базой. Вот тут фторой файл и ругался - что session is opened.
не подскажите в чём дело?
Спустя 33 минуты, 33 секунды (13.12.2006 - 09:23) md5 написал(а):
приведи ошибки, которые тебе выводятся, а вобще в поиск по форуму и вобще по манам и факам, сессии - миллионы раз обсуждались..
Спустя 4 часа, 7 минут, 54 секунды (13.12.2006 - 13:31) max_ru написал(а):
$_SESSION['auth']=1; - это ОЧЕНЬ плохо. Ты даже не представляешь, КАК это плохо.
(Я бы предложил проверять каждый раз наличие пары username/userpass в $_REQUEST и $_SESSION и каждый (!!!) раз проверять на валидность. Только не надо кричать о трате ресурсов. Одна десятитысячная доля секунды, которая тратится на извлечение хэша из БД (Кстати, почему пароли в файле???) не играет роли. Подмена cookies в таком случае невозможна, как и большинство трюков. Не надо привязывать id сессии к ip (в большинстве случаев).)
(Я бы предложил проверять каждый раз наличие пары username/userpass в $_REQUEST и $_SESSION и каждый (!!!) раз проверять на валидность. Только не надо кричать о трате ресурсов. Одна десятитысячная доля секунды, которая тратится на извлечение хэша из БД (Кстати, почему пароли в файле???) не играет роли. Подмена cookies в таком случае невозможна, как и большинство трюков. Не надо привязывать id сессии к ip (в большинстве случаев).)
Спустя 16 минут, 42 секунды (13.12.2006 - 13:48) tishka написал(а):
max_ru,
if (isset($_REQUEST[session_name()])) session_start();
ты имеешь в виду что то типа этого на каждой странице?
QUOTE
Я бы предложил проверять каждый раз наличие пары username/userpass в $_REQUEST и $_SESSION
if (isset($_REQUEST[session_name()])) session_start();
ты имеешь в виду что то типа этого на каждой странице?
Спустя 10 минут, 44 секунды (13.12.2006 - 13:59) AlexBB написал(а):
QUOTE(max_ru)
Я бы предложил проверять каждый раз наличие пары username/userpass в $_REQUEST и $_SESSION и каждый (!!!) раз проверять на валидность.
А с какого перепугу они каждый раз будут оказываться в $_REQUEST ?
Спустя 1 час, 31 минута, 29 секунд (13.12.2006 - 15:30) md5 написал(а):
AlexBB,
скорее всего имеется ввиду каждый раз оказываться в $_SESSION и в $_REQUEST при авторизации
tishka,
имеется ввиду, что на каждой странице проверяется наличие логина и пароля в сессионных данных
скорее всего имеется ввиду каждый раз оказываться в $_SESSION и в $_REQUEST при авторизации
tishka,
имеется ввиду, что на каждой странице проверяется наличие логина и пароля в сессионных данных
Спустя 2 года, 1 месяц, 20 часов, 56 минут, 51 секунда (14.01.2009 - 12:27) 1112 написал(а):
- [/list]
- 4
Спустя 9 месяцев, 1 день, 20 часов, 2 минуты, 52 секунды (16.10.2009 - 07:30) Сережа написал(а):
у меня тоже авторизация не работает.
на виртуальном дкнвере все работает
а на реальном хостинге не работае
вот отрывок из программы
session_start();
print_r($_SESSION);
if(!isset($_SESSION['log'])) { $_SESSION['log'] = 0;}
if (!($_SESSION['log'])) {
login();
} else {
захожу на главную страницу результат Array ( [log] =>0 ) и авторизация прошла
захожу второй раз - вдруг переменная становиться Array ( [log] =>1 )
а потом вообще исчезает Array ( [log] => ) и авторизацию приходиться заново делать.
session_destroy(); я не делал!!! в чем может быть проблема??
Cerega-23 @ yandex . ru
на виртуальном дкнвере все работает
а на реальном хостинге не работае
вот отрывок из программы
session_start();
print_r($_SESSION);
if(!isset($_SESSION['log'])) { $_SESSION['log'] = 0;}
if (!($_SESSION['log'])) {
login();
} else {
захожу на главную страницу результат Array ( [log] =>0 ) и авторизация прошла
захожу второй раз - вдруг переменная становиться Array ( [log] =>1 )
а потом вообще исчезает Array ( [log] => ) и авторизацию приходиться заново делать.
session_destroy(); я не делал!!! в чем может быть проблема??
Cerega-23 @ yandex . ru
Спустя 38 минут, 27 секунд (16.10.2009 - 08:08) Гость_Сергей написал(а):
делал замену _SESSION (так как она в php 4.1 ) на $HTTP_SESSION_VARS и нифига вообще не работает, там хоть один раз авторизация происходила а теперь вообще как я понял переменные незапоминаються
на моем хостинг-сервере php 4.04
Cerega-23 @ yandex . ru
может кто еще подкинет идею в чем может быть проблема?
на моем хостинг-сервере php 4.04
Cerega-23 @ yandex . ru
может кто еще подкинет идею в чем может быть проблема?
Спустя 4 дня, 15 часов, 1 минута, 8 секунд (20.10.2009 - 23:09) savelikan написал(а):
А я написал
PHP |
session_start(); |
, а оно мне
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4
Что бы ето могла быть?
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4
Что бы ето могла быть?
Спустя 1 день, 10 часов, 28 минут, 8 секунд (22.10.2009 - 09:37) WildeR написал(а):
Цитата (savelikan @ 20.10.2009 - 20:09) | ||
А я написал
, а оно мне Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\test1.ru\www\index.php:3) in Z:\home\test1.ru\www\content\TDMU\15hr\prikol.php on line 4 Что бы ето могла быть? |
В варнингах явно показано где ошибка: выводится что то в браузер до session_start(), что быть не должно.
Спустя 6 часов, 24 минуты, 1 секунда (22.10.2009 - 16:02) agentor написал(а):
у меня похоже е было пока не добавил в фаил индкса,
PHP |
ob_start("ob_gzhandler"); |
в самом начале..