Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Snysmyrik
1 / 1 / 1
Регистрация: 28.06.2012
Сообщений: 39

Setcookies и авторизация пользователя

03.12.2012, 12:31. Показов 1515. Ответов 6

Студворк — интернет-сервис помощи студентам
Всем привет!

Столкнулся с проблеммой: не знаю как настроить нормально setcookies,а следовательно и закончить полностью авторизацию.
Вот код для передачи данных с главной страницы на страницу обработки запроса:
HTML5
1
2
3
4
5
6
7
8
<font size = +2>Вход в личный кабинет</font>
                                <br>
                            <form action=\"Enter.php\" method=\"post\">
                Логин: <input title=\"Введите Логин, указанный при регистрации\" name=\"LoginEnter\" placeholder =\"Vacek\" type=\"text\"><br>
                    
                Пароль: <input title=\"Введите Пароль, указанный при регистрации\" name=\"PasswordEnter\" type=\"password\" placeholder =\"123abc\"><br>
                <input type=\"submit\" value=\"Войти\">
                <input type=\"submit\" value=\"Забыли Пароль\">
Вот код обработки сервера запроса:
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
25
26
27
28
29
30
31
<?php
echo "<br>".$_POST['LoginEnter'];
echo "<br>".$_POST['PasswordEnter'];
 
//Подключение к БД и проверка на наличие такого же  Логина.
        $result = mysql_connect('localhost', 'root', '');   
        mysql_select_db('project', $result);
        mysql_set_charset('cp1251', $result);
        $query = mysql_query("SELECT * FROM users2 WHERE Login=\"".($_POST['LoginEnter'])."\"") or die ("<br>Invalid query: ".mysql_error());
                if ($query)
                    {
                    echo "<br>"."<font color = green>"."Достал из БД ассоциативный массив"."</font>";
                    }
                    else
                        {
                        echo "<br>"."Не получил значения";
                        die;
                        }
                $zapros_iz_BD= mysql_fetch_assoc($query);
                echo "<br>"."Вывожу значения массива по элементам :"."<br>".implode(',',$tmp)."<br>";
//Проверка на соответсвие Логина и парроля.
            if($zapros_iz_BD['Login'] == $_POST['LoginEnter'] && $zapros_iz_BD['Password'] == $_POST['PasswordEnter'])    
                {
                    $otv = "<font color= green>"." Успешно"."</font>";
                    echo  $otv;
            setcookie("testcookie", "blablabla");
                } 
            else
                {
                    echo "<br>"."Неудачно";
                }
Куки при авторизации я получаю,а как их использовать и как на главной странице заменить форму входа на что-нибудь типа "Привет ....!" не понимаю. Как я понял, надо через get запросить на главную страницу результат проверки авторизации, и тогда,если это успешно, страница меняется.

Help!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2012, 12:31
Ответы с готовыми решениями:

Авторизация пользователя
Написал не большой скриптик, из программы отправляю пост запрос (в базе создал пользователя с логином: user. Паролем: 123) Далее, запрос...

Авторизация пользователя, ошибка:
Делаю авторизацию пользователя. Нижеприведенный скрипт выдает &quot;ok&quot; если введен правильный email, и не выдает ничего, если e-mail не...

Нужна авторизация пользователя
Всем здрасте. Хочу авторизовать пользователя. session_start(); $_SESSION = '$_POST'; $k = mysqli_query($l, &quot;INSERT INTO...

6
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
03.12.2012, 12:54
Цитата Сообщение от Snysmyrik Посмотреть сообщение
PHP
1
setcookie("testcookie", "blablabla");
тоесть я могу себе сам повесить такую куку и буду залогинен сразу у вас на сайте . Юзайте лучше сессии
Цитата Сообщение от Snysmyrik Посмотреть сообщение
что-нибудь типа "Привет ....!"
условия никто не отменял
PHP
1
2
3
4
5
6
if (залогинен) { 
  выводим_одно();
}
else{
  выводим_другое();
}
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
03.12.2012, 13:04
Цитата Сообщение от crautcher Посмотреть сообщение
тоесть я могу себе сам повесить такую куку и буду залогинен сразу у вас на сайте . Юзайте лучше сессии
На cookie тоже можно сделать безопасную авторизацию, просто отправляя cookie с хешем, например логина и пароля (захешированного), + ещё с сюлью. А потом проверять, является ли значение в cookie верным. Тогда пока не украдут у пользователя cookie или не узнают его данные взломщики не смогут авторизоваться.
1
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
03.12.2012, 13:47
Snysmyrik, пропишите в начале файла
PHP
1
error_reporting(-1);
а потом почитайте эту темуЧто означает предупреждение "headers already sent"
0
 Аватар для Snysmyrik
1 / 1 / 1
Регистрация: 28.06.2012
Сообщений: 39
04.12.2012, 10:27  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
Snysmyrik, пропишите в начале файла
PHP
1
error_reporting(-1);
а потом почитайте эту темуЧто означает предупреждение "headers already sent"
я ставлю значение "(0)" - у меня работает нормально,спасибо


Цитата Сообщение от crautcher Посмотреть сообщение
тоесть я могу себе сам повесить такую куку и буду залогинен сразу у вас на сайте . Юзайте лучше сессии

условия никто не отменял
PHP
1
2
3
4
5
6
if (залогинен) { 
  выводим_одно();
}
else{
  выводим_другое();
}
посмотрел сессии, сделал, работает ,но у меня возникает вопрос! сессии работают индивидуально или быть может каждый кто заходит обнавляет эту глобальную переменную?

Цитата Сообщение от Lyodik Посмотреть сообщение
На cookie тоже можно сделать безопасную авторизацию, просто отправляя cookie с хешем, например логина и пароля (захешированного), + ещё с сюлью. А потом проверять, является ли значение в cookie верным. Тогда пока не украдут у пользователя cookie или не узнают его данные взломщики не смогут авторизоваться.
Способ реализации через setcookie или session_start() лучше? и стоит ли использовать их совместно?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 10:34
Цитата Сообщение от Snysmyrik Посмотреть сообщение
сессии работают индивидуально или быть может каждый кто заходит обнавляет эту глобальную переменную?
Индивидуально.
0
 Аватар для Snysmyrik
1 / 1 / 1
Регистрация: 28.06.2012
Сообщений: 39
06.12.2012, 15:53  [ТС]
Цитата Сообщение от Lyodik Посмотреть сообщение
Индивидуально.
спасибо!

Добавлено через 1 минуту
Реализовал авторизацию через сессии,спасибо всем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2012, 15:53
Помогаю со студенческими работами здесь

Авторизация зарегистрированного пользователя
Работает авторизация для Администратора и общая для Сотрудников. Не получается только авторизироваться обычному пользователю, который...

Определение страницы, с которой выполняется авторизация пользователя
Ребят нужна помощь..... Не могу найти в интернете не чего подобного....( У меня есть сайт например lolka.ru/kabinet При входе на...

Авторизация пользователя
Всем доброго времени суток! Изучаю php недавно. Необходимо сделать авторизацию пользователя на страницу администратора. Чудным образом...

одновременная авторизация пользователя
Здравствуйте. Мне нужно реализовать чтобы одновременно нельзя было авторизоваться одним логином несколько раз. Если я буду...

Авторизация пользователя
Добрый день! Помогите, пожалуйста, исправить код. Задача такая: при запуске программы первой открывается форма авторизации, где...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru