Помощник
|
Авторизация на сайте. Как сделать?, Нифига не вьеду |
toorr2p
|
Сообщение
#1
|
||
|
|
||
|
|||
toorr2p
|
Сообщение
#2
|
|
Я переделал структуру файлов - теперь у меня в index.php через include/header.php вставляется шапка в которой вот такой скрипт:
<div id="logo"> Что может значит такое сообщение?: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at W:\home\localhost\www\toorr2p\index.php:28) in W:\home\localhost\www\toorr2p\bloks\header.php on line 4 в переводе на рус:Не может послать ограничитель кэша сеанса - заголовки, уже посланные Я подумал что это из-за того что в index.php уже есть соединение с БД, и создал новую БД с таблицей userlist и темиже пользователями...И для новой БД cоздал пользователя - это правильно? |
|
|
shtil |
12.5.2009, 8:27;
Ответить: shtil
Сообщение
#3
|
|
поставь сабаку перед сессией т.е. в коде у тебя должно быть так:
@session_start();
|
|
|
ZiTosS |
12.5.2009, 19:09;
Ответить: ZiTosS
Сообщение
#4
|
|
Вячеслав,
1) Я тебе посоветовал самый простейший скрипт, который ты и просил. 2) Про сессии уже писал на форуме. Могу только сказать что простыми словами сессия - это простое и удобное хранение данных на сервере пока сеанс пользователя, который зарезервировал данную сессию не закончен, т.е. пользователь не закрыл все страницы браузера с данным сайтом. Связь между пользователем и данными, хранящимися на сервере в папке temp осуществляется через cookies(хранение ID-сессии) или же адресную строку(передача ID-сессии). Поэтому например пользователь авторизуется, если данные не верны, то пользователь не сумеет зарезервировать переменных сессии. Если же он всё ввёл правильно, в сессию заносятся ник и пароль, которые если мы захотим мы затем можем проверить. Вообще в сессиях можно хранить всё что хочешь. 3) По поводу Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at W:\home\localhost\www\toorr2p\index.php:28) in W:\home\localhost\www\toorr2p\bloks\header.php on line 4 Функции session_start(), header() и многие другие которые передают что-то в заголовки страницы должны быть вызваны до любого вывода символов на страницу. Ведь сначала формируются заголовки, данные POST,GET переменных, другая информация сервера. А затем уже идёт вывод в браузер. Поэтому если у тебя перед данными функция будет любой символ вне <?php ?>, а также любые функции печати echo(), printf() и др., это будет распознано как вывод в браузер информации, сразу же отсылаются все заголовки, и при вызове функции session_start() тебе выдаётся ошибка, что браузеру уже были отправлены заголовки и повторно их отправить уже не получится. Вот к примеру у тебя: <!-- Отосланы заголовки --> <div id="logo"> .... <?php session_start(); //пытаемся передать заголовкам инициализатор сессии .... ?> Надеюсь понятным языком объяснил... Поэтому все подобные функции надо писать в начале либо использовать буфферизованный вывод. Использую функции ob_start() и ob_end_flush(). Но учти что не правильное использование подобных функций приведёт к дольшей работе скрипта. Поблагодарили: (0) |
|
|
toorr2p
|
Сообщение
#5
|
|
Ага понял, буду пробовать.
А по поводу предыдущего совета - это ведь делу не поможет да? |
|
|
ZiTosS |
13.5.2009, 15:27;
Ответить: ZiTosS
Сообщение
#6
|
|
Вячеслав, Ошибку то это уберёт, но работать всё равно не будет.
|
|
|
toorr2p
|
Сообщение
#7
|
|
|
Все заработало! Спасибо!
вот переписал скрипт и все стало на свои места :lol: <?php У меня почему-то не работала вот эта строчка ;) : $login = mysql_escape_string($_POST['login']); исправил на : $login = $_POST['login']; и все заработало!Да и еще вот с помощью этой фу-ии $_SERVER['REQUEST_URI'] после того как пользователь ввел в форму авторизации данные и нажал на кнопку войти скрипт возвращает его именно на ту страницу на которой он начал авторизовыватся(очюудобно!),т.е эта функция хранит в себе весь массив данных полученных через адресную строку...
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Быстрый и качественный обмен на сайте Baksman.org Обмен Bitcoin, BTC-e, PM, Qiwi, Yandex money, Карты банк |
52 | Baksman | 33586 | Вчера, 5:02 автор: Baksman |
|
Арбитражники, как ведете учет расходов и доходов? | 11 | Boymaster | 1803 | 17.4.2024, 23:35 автор: Boymaster |
|
Боты могут делать пушподписки на моём сайте? | 0 | Megaspryt | 447 | 17.4.2024, 23:29 автор: Megaspryt |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 29 | freeax | 4811 | 17.4.2024, 1:19 автор: sergio11 |
|
CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте | 36 | CryptoCLoud | 10638 | 16.4.2024, 16:02 автор: CryptoCLoud |
Текстовая версия | Сейчас: 19.4.2024, 19:07 |