Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 02.01.2014
Сообщений: 33

Хранение, чтение и сравнение cookie

02.01.2014, 18:03. Показов 2836. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код типа такого:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_POST['login']) && ($_POST['password'])){
    $login = md5($_POST['login']);
    $password = md5($_POST['password']);
}else{
    echo "Login or password incorrect.";
}
$data = "$login|$password\n";
file_put_contents('users.txt', $data, FILE_APPEND);
setcookie($login, $password);   
echo "$_COOKIE[$login]";
?>
1.
На приём два инпута из обычного хтмл файла: логин, пароль.
Если заполнить только одно поле, то ругается на уже отправленный хедер, что и правильно.
Но если заполнить оба поля, то никаких ошибок, куки прописывается в браузере и в файле.
Почему так?

2.
После загрузки страницы в первый раз echo не выводится, если нажать f5, то тогда уже начинает выводить эхо.
Почему так?

3.
Но эхо выводит не мд5-хэш логина/имени, а мд5-хэш пароля/значения!
Тоже не понимаю как так.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2014, 18:03
Ответы с готовыми решениями:

Хранение корзины заказов в Cookie
Добрый день! Собственно сабж. Знаю,что это плохо, лучше хранить в сессиях, бд и т.д, но сейчас интересует именно это. Техническая сторона...

Проверка если пользователь Онлайн / Хранение его ID в Session или Cookie
В общем пишу онлайн чат. На странице чата есть список онлайн и оффлайн юзеров (тянутся из БД) Пока что делаю иммитацию онлайн - просто...

сравнение записи cookie с сессией
Объясните саму последовательность действий. я использую code igniter. при прохождении авторизации я записываю данные в сессию. он...

7
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
02.01.2014, 18:45
avitaminoz, 1 тема - 1 вопрос.
Цитата Сообщение от avitaminoz Посмотреть сообщение
Если заполнить только одно поле, то ругается на уже отправленный хедер, что и правильно.
Все заголовки (в данном случае это делает setcookie) должны отправляться до первого вывода (echo).
Цитата Сообщение от avitaminoz Посмотреть сообщение
После загрузки страницы в первый раз echo не выводится, если нажать f5, то тогда уже начинает выводить эхо.
setcookie только отправляет информацию, получил ли куки браузер, можно понять только при следующей загрузке страницы. Прочитайте подробней про эту функцию и про отправку заголовков.
Цитата Сообщение от avitaminoz Посмотреть сообщение
Но эхо выводит не мд5-хэш логина/имени, а мд5-хэш пароля/значения!
Что Вы имеете ввиду я не понял.
1
0 / 0 / 1
Регистрация: 02.01.2014
Сообщений: 33
02.01.2014, 19:35  [ТС]
Цитата Сообщение от ilikesmile Посмотреть сообщение
avitaminoz, 1 тема - 1 вопрос.
Не создавать же мне 20 тем ради 12 строк кода
Цитата Сообщение от ilikesmile Посмотреть сообщение
Все заголовки (в данном случае это делает setcookie) должны отправляться до первого вывода (echo).
Не углядел, что в условии эхо выводится как раз, когда не все поля заполнены. Извиняюсь)
Цитата Сообщение от ilikesmile Посмотреть сообщение
setcookie только отправляет информацию, получил ли куки браузер, можно понять только при следующей загрузке страницы. Прочитайте подробней про эту функцию и про отправку заголовков.
Понял. Спасибо.
Цитата Сообщение от ilikesmile Посмотреть сообщение
Что Вы имеете ввиду я не понял.
Я ожидаю, что будет выводится мд5-хэш присланого логина, который я беру из $_POST['login'] (он же - имя куки), а выводится хэш пароля (значение куки)
0
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
02.01.2014, 20:12
Цитата Сообщение от avitaminoz Посмотреть сообщение
Я ожидаю, что будет выводится мд5-хэш присланого логина, который я беру из $_POST['login'] (он же - имя куки), а выводится хэш пароля (значение куки)
Цитата Сообщение от avitaminoz Посмотреть сообщение
$login = md5($_POST['login']);
мб проблема где-то здесь?)
0
0 / 0 / 1
Регистрация: 02.01.2014
Сообщений: 33
02.01.2014, 21:08  [ТС]
Вот мой хтмл код:
HTML5
1
2
3
4
5
        <form action="profile.php" method="post">
            <input type="text" name="login" value="Email">
            <input type="password" name="password" value=""><br>
            <input type="submit" name="submit" value="Войти"> или <input type="submit" name="submit" value="Зарегистрироваться">
        </form>
Если и есть косяк где-то, то в упор его не вижу.
0
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
02.01.2014, 21:14
Цитата Сообщение от avitaminoz Посмотреть сообщение
Вот мой хтмл код:
А HTML-форма тут причем? У Вас $login равен md5-хэшу логина.
1
0 / 0 / 1
Регистрация: 02.01.2014
Сообщений: 33
03.01.2014, 12:45  [ТС]
Всё, понял. Извиняюсь, что жёстко тупил)
0
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 11
02.03.2014, 13:52
скажите а можно сделать что бы куки жили до закрытия браузера?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.03.2014, 13:52
Помогаю со студенческими работами здесь

Чтение cookie
Здравствуйте! У меня следующая проблема. Пытаюсь создать пользовательский компонент, который выводит определённую информацию из базы...

Чтение cookie, поставленного Yii2
Добрый день. Создаю куку в PHP и пытаюсь считать ее в JavaScript вот такой функцией: function getCookie(name) { var r =...

Phantomjs хранение/чтение cookies
Здравствуйте. Мне нужно организовать работу с сайтом с использованием cookies для Webdriver phantomjs, чтобы избежать лишней авторизаций. Я...

Чтение и хранение данных, занесенных в контроллы
Здравствуйте.Как можно реализовать функцию хранения и чтения данных? То есть занесенные в текстбоксы или другие компоненты данные при...

Чтение из ListBox в Visual Prolog 5.2 или хранение данных
Товарищи, подскажите, как в Visual Prolog 5.2 извлечь из ListBox ранее записанные строки. Записал вот так: FILENAME =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru