Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
5 / 5 / 3
Регистрация: 19.09.2013
Сообщений: 303

Авторизация с куками

04.10.2013, 22:06. Показов 2553. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу вот это :
PHP
1
setcookie('login',$login,time() + 3600*24);
После проверки на верность введенного адреса и пароля с БД. выдает ошибку не могу отправить куки - заголовки уже отправлены и т.д. но если не делать проверки, то смысл добавлять что-то в куки пропадает . как сделать проверку пароля и при этом чтобы ошибка не вылезала ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2013, 22:06
Ответы с готовыми решениями:

Авторизация с куками из JS
Мне нужно сделать программу, которая автаризуется на сайте. Автаризоваться можно только с куками которые берутся из JS Использую ICS ...

проблема с куками
первый файл <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

Проблемы с куками
Мне нужно, чтобы пользователь мог отправлять форму только 2 раза. Но это не работает. Почему? Как исправить? <?php $errors = ; ...

34
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
05.10.2013, 13:11
Студворк — интернет-сервис помощи студентам
bulletproof24, я пока затрудняюсь ответетить на ваш вопрос, так как вам нужно послать два заголовка.
И сессию стартонуть и куку поставить, я уже отметил, что я бы рыл в направлении функции header
0
5 / 5 / 3
Регистрация: 19.09.2013
Сообщений: 303
05.10.2013, 13:17  [ТС]
PetyaVasechkin, ок ) просто как-то же люди делают авторизацию, у них получается, с куками я имею в виду
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
05.10.2013, 13:31
Цитата Сообщение от bulletproof24 Посмотреть сообщение
просто как-то же люди делают авторизацию, у них получается, с куками я имею в виду
Да делают, но это не надежно.
Это может просто почистить сам пользователь, а в худшем случае, можно утянуть вирусом.
Так что, я бы не стал ставить куки для регистрации. Вообще не стал бы что то выносить на сторону пользователя без веской на то причины.
0
Марсианин
 Аватар для MarlboroRed
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
05.10.2013, 17:09
Если так хочеться отправлять куки вот код:

form.html
HTML5
1
2
3
4
5
<form method="post" action="index.php">
            <input type="text" name="login"><br>
            <input type="password" name="pwd">
            <input type="submit">
            </form>
index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
if (checkUser()) {
    setcookie('login', $_POST['login'], time() + 3600*24);
}else{
    echo "Не верный логин или пароль;";
}
 
function checkUser () {
    $login = $_POST['login'];
    $pwd = $_POST['pwd'];
    
    $link = @mysql_connect('localhost','root','');
    if (!$link) exit ('Not connected to server');
    $db = @mysql_select_db('zf');
    if (!$db) exit ('Not connected to DB');
    
    $query = @mysql_query("SELECT pwd FROM users WHERE login='".$login."';");
    
    $row= mysql_fetch_array($query);
    if ($row['pwd']==$pwd)        return TRUE;
    return FALSE;
}
?>
0
05.10.2013, 21:01

Не по теме:

Цитата Сообщение от MarlboroRed Посмотреть сообщение
PHP
1
2
if ($row['pwd']==$pwd)        return TRUE;
    return FALSE;
;)
PHP
1
return $row['pwd']==$pwd;

0
5 / 5 / 3
Регистрация: 19.09.2013
Сообщений: 303
06.10.2013, 17:16  [ТС]
KOPOJI, Я делаю вот так в самом начале до еще каких-либо тегов и скриптов
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
session_start();
 
ini_set ('session.bug_compat_42', 'off');
 
function login($login_vhod,$password_vhod,$remember)
{
    $_SESSION['login'] = $login;
    
    if($remember == 'on')
    {
        setcookie('login',$login_vhod,time() + 3600*24*14);     
    }
    
    return TRUE;
 
function logout()
    {
        setcookie('login','',time() - 1);   
        unset($login);
    }   
    
}
Дальше в теле страницы проверяю есть ли указанный адрес и сходится ли пароль, если да то вызываю функцию login() . И в случае если я ставил галку запомнить меня (переменная remember), то мне выскакивает вот такая тема : Warning: Cannot modify header information - headers already sent by (output started at Z:\home\users.ru\www\enter.php:26) in Z:\home\users.ru\www\enter.php on line 11
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
06.10.2013, 17:20
Цитата Сообщение от bulletproof24 Посмотреть сообщение
Дальше в теле страницы проверяю есть ли указанный адрес и сходится ли пароль, если да то вызываю функцию login() . И в случае если я ставил галку запомнить меня (переменная remember), то мне выскакивает вот такая тема : Warning: Cannot modify header information - headers already sent by (output started at Z:\home\users.ru\www\enter.php:26) in Z:\home\users.ru\www\enter.php on line 11
Вы понимаете, что после session_start сделать setcookie нельзя ?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2013, 17:31
Цитата Сообщение от PetyaVasechkin Посмотреть сообщение
после session_start сделать setcookie нельзя ?
почему это нельзя?

Добавлено через 1 минуту
Цитата Сообщение от bulletproof24 Посмотреть сообщение
Warning: Cannot modify header information
Есть целая тема, посвященная этому Что означает предупреждение "headers already sent"
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
06.10.2013, 17:35
Цитата Сообщение от KOPOJI Посмотреть сообщение
почему это нельзя?
Потому что получается двойная отправка заголовка.

Добавлено через 23 секунды
Цитата Сообщение от KOPOJI Посмотреть сообщение
Есть целая тема, посвященная этому
Сейчас гляну
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2013, 17:36
Цитата Сообщение от PetyaVasechkin Посмотреть сообщение
Потому что получается двойная отправка заголовка.
да хоть тройная Если они идут один за одним, то ничего не произойдет. Другое дело, если есть уже вывод какого-то контента между отправками заголовков
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
06.10.2013, 17:38
Получается, что session_start() "не закрывает" заголовок?! Грубо говоря, можно дописывать его сколь угодно получается??
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2013, 17:41
Посмотрите такой код
PHP
1
2
3
4
5
6
7
8
9
10
<?php
 
header('Content-type: text/html; charset=utf-8');
session_start();
error_reporting(-1);
$_SESSION['foo'] = 'bar';
 
setcookie('foo', 'bar', time()+3600*24, '/');
empty($_COOKIE) && header('Location: ' . $_SERVER['PHP_SELF']);
var_dump($_SESSION, $_COOKIE);
там сразу и header, и session_start, и setcookie

Добавлено через 58 секунд
заголовок "закрывает" контент..
2
5 / 5 / 3
Регистрация: 19.09.2013
Сообщений: 303
06.10.2013, 17:42  [ТС]
KOPOJI, все я понял, убрал все пробелы в этом файле во всех инклудах и все запахало )

Добавлено через 7 секунд
Спасибо )
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
06.10.2013, 17:43
Цитата Сообщение от KOPOJI Посмотреть сообщение
там сразу и header, и session_start, и setcookie
И работает?
Потестирую у себя на досуге подобные вещи ... спасибо, за инфу!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2013, 17:47
Цитата Сообщение от bulletproof24 Посмотреть сообщение
все пробелы в этом файле во всех инклудах
если там php-код (и им заканчивается), то во избежание данной ошибки не закрывают php-код
т.е., к примеру, весь файл выглядит так
PHP
1
2
3
4
5
<?php
//some php-code...
//....
//....
?>
в нем удаляют ?>, оставляя код "не закрытым". Ошибок из-за этого никаких не возникнет, зато лишних пробелов в конце файла не окажется никак (т.к. все пробелы в php-коде игнорируются и не считаются выводом)

Добавлено через 13 секунд
Цитата Сообщение от PetyaVasechkin Посмотреть сообщение
И работает?
конечно

Добавлено через 2 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
конечно
зато стоит добавить какой-то вывод внутри..
PHP
1
2
3
4
5
6
7
8
9
10
<?php
 
header('Content-type: text/html; charset=utf-8');
session_start();
error_reporting(-1);
$_SESSION['foo'] = 'bar';
echo 'Hello, errors!<br>';
setcookie('foo', 'bar', time()+3600*24, '/');
empty($_COOKIE) && header('Location: ' . $_SERVER['PHP_SELF']);
var_dump($_SESSION, $_COOKIE);
И сразу получим ошибку
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2013, 17:47
Помогаю со студенческими работами здесь

Проблемы с куками
Здравствуйте! Работаю в малоизвестном фреймворке, и задачей является на страницах-записей добавлять данные в куки. Записи находятся в...

Папка с куками
Здравствуйте. Не могу найти папку Cookies. Кроме этого Mozilla не выходит из чужого профиля ВКонтакте. Я уже и переустанавливать её пробовал

Get запрос с куками
Нужно отправить GET запрос с cookie и header,получить html код и в нем спарсить пару значений. Не могу понять,как отправить get запрос...

Непонятки с Куками
Добрый вечер... Снова прошу помощи знатоков. Есть сайт...и возникла необходимость в добавлении второго языка. база с таблице в ней...

Работа с куками
Привет всем! Авторизуюсь и регистрируюсь следующим образом: FormsAuthentication.RedirectFromLoginPage(String.Format(&quot;{0}...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru