Сесии или Куки вот в чём вопрос. Ошибка помогите разобраться
acter.best-host.ru
Это база данных актёров на ней человек может изскать любого актёра по параметрам, а вот если входишь на сайт под админом, то можешь:
- Создавать актёров и контактных лиц к нему
- Изменять
- Удалять
И как бы это может делать только админ и это надо закрыть от других пользователей.
У меня конечно с безопасностью проблемы, я сделал так: человек вводить \пароль логин\ и если совпадает с данных в БД, то появляется под основным меню (Главная, вход, форум, гостевая) появляется менюшка, которая в общем то и даёт доступ к этим файлам а точнее ссылки к неми, но если подумать моя менюшка то всё равно без определённого значения переменной user_level не выпадет, но доступ к файлам то есть, обидно. Знаю
это не разумно набрал в url и зашёл, но пока умнее ничего не придумал, может посоветуете?
И пробовал два способа:
1.Сессии - так вот открываю сессию если он зашёл, точнее она уже открыта просто перменной присваю другой user level. И он заходит, переменную хранит всё хорошо, казалось бы, а вот когда хочу организовать ВЫХОД, так он мне мол сессия удаляется, а переменные и значению в них сессионные не удаляются, вот. Это раз прб
2.Куки - так я тоже если всё совпало и введено верно, то я просто записываю в куки так же переменню user и так ей и пользуюсь, для появлению выше указанного меню. Но он мне в ответ ошибку:
Warning: Cannot modify header information - headers already sent by (output started at w:\home\acter\www\top.inc.php:3) in w:\home\acter\www\login.php on line 60
Я про неё почитал, ну мол заголовок уже записан, так я до заголовка пытался всё это дело делать, всё равно пишет хоть убей, поможите чем сможите.
Извиняюсь, наверное много и не понятно объяснено, просто уже ночи две промучался, а хочется проектитк добить. СПасибо :)
Написал простую авторизацию на сайте:
acter.best-host.ru
Это база данных актёров на ней человек может изскать любого актёра по параметрам, а вот если входишь на сайт под админом, то можешь:
- Создавать актёров и контактных лиц к нему
- Изменять
- Удалять
И как бы это может делать только админ и это надо закрыть от других пользователей.
У меня конечно с безопасностью проблемы, я сделал так: человек вводить \пароль логин\ и если совпадает с данных в БД, то появляется под основным меню (Главная, вход, форум, гостевая) появляется менюшка, которая в общем то и даёт доступ к этим файлам а точнее ссылки к неми, но если подумать моя менюшка то всё равно без определённого значения переменной user_level не выпадет, но доступ к файлам то есть, обидно. Знаю
это не разумно набрал в url и зашёл, но пока умнее ничего не придумал, может посоветуете?
И пробовал два способа:
1.Сессии - так вот открываю сессию если он зашёл, точнее она уже открыта просто перменной присваю другой user level. И он заходит, переменную хранит всё хорошо, казалось бы, а вот когда хочу организовать ВЫХОД, так он мне мол сессия удаляется, а переменные и значению в них сессионные не удаляются, вот. Это раз прб
2.Куки - так я тоже если всё совпало и введено верно, то я просто записываю в куки так же переменню user и так ей и пользуюсь, для появлению выше указанного меню. Но он мне в ответ ошибку:
Warning: Cannot modify header information - headers already sent by (output started at w:\home\acter\www\top.inc.php:3) in w:\home\acter\www\login.php on line 60
Я про неё почитал, ну мол заголовок уже записан, так я до заголовка пытался всё это дело делать, всё равно пишет хоть убей, поможите чем сможите.
Извиняюсь, наверное много и не понятно объяснено, просто уже ночи две промучался, а хочется проектитк добить. СПасибо :)
Я тоже много мучался с сессиями и куками, в общем session_start() и session_register() нужно расположить как можно выше к началу файла, и главное чтобы до session_start() и session_register() ничего не выводилось !
Если что кидай код сюда.
Я тоже много мучался с сессиями и куками, в общем session_start() и session_register() нужно расположить как можно выше к началу файла, и главное чтобы до session_start() и session_register() ничего не выводилось !
Если что кидай код сюда.
Прочитайте про ob_start():
Очень полезная штука!
к примеру не совсем понимаю, как сделать "Сейчас в онлайне..." и т.п. по php'шным сессионным файлам. Юзабельно-ли это. Вроде как формат у них простейший, но возиться впадлу:)) Есть какой готовый вариант поиска по "полям" в session_ сессиях??
В принципе, если б php было и cgi, но под тем же gid'ом проблема была б такой же.
Поправьте если неправ, соннИиЙ:D
А кто как считает, что юзабельнее, session_ набор или самодельный класс с хранением добра в бд?
Сессию хранят в БД по причине, что возможно поставить веб-приложение на Веб-ферму.
к примеру не совсем понимаю, как сделать "Сейчас в онлайне..."
Клиент обращается к серверу, только когда ему что-то нужно. Поэтому определить в онлайне он или нет можно только пропинговав его. IP-то
его мы знаем. Но на самом деле это не очень - пинговать каждого известного пользователя сайта. Да и вообще не всегда хорошо пинговать клиента. Поэтому просто вывести пользователей, которые за прошедшие 10мин обращались к серверу. Каждый раз при обращении к серверу мы записываем в базу, что последнее время визита такое-то,
про онлайн то же самое, тому меня учить не нужно=)) пинговать клиента непреемлимо, если речь идет об общении с ним в рамках http и не более того, и без всяких примороч, наподобие jshttprequest, выталкивания страниц и прочего. опять же вопрос был подвязан с первым - список онлайн по session_access_time при условии что сесси работают непосредственно на базе сессионых файлов/ php session_.
думаю просто попробую реализовать и сравню результат с аналогом при юзании бд. вообще после рассказов mike'а так хочется вырваться из рамок бд :D кто-нить какую лит-ру может посоветовать по устройству и организации бинарных деревье, построению индексов и т.п.;) жуть как интересно.