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

Как вытащить из БД (MySql) логин авторизованного пользователя?

24.05.2020, 12:14. Показов 1904. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот код входа.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
всем привет у меня такой вопрос вот я сделал форму регистрации и входа все нормально работает и хотел бы спросить как мне вытащить с б\д логин пользователя на сам сайт. базу использую mysql.
вот сам код:
<?php
// Страница авторизации
 
// Функция для генерации случайной строки
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABC DEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
 
// Соединямся с БД
$link=mysqli_connect("localhos t", "root", "", "new_1");
 
if(isset($_POST['submit']))
{
// Вытаскиваем из БД запись, у которой логин равняеться введенному
$query = mysqli_query($link,"SELECT user_id, user_password FROM users WHERE user_login='".mysqli_real_esca pe_string($link,$_POST['login'])."' LIMIT 1");
$data = mysqli_fetch_assoc($query);
 
 
// Сравниваем пароли
if($data['user_password'] === md5(md5($_POST['password'])))
{
// Генерируем случайное число и шифруем его
$hash = md5(generateCode(10));
 
if(!empty($_POST['not_attach_ip']))
{
// Если пользователя выбрал привязку к IP
// Переводим IP в строку
$insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
}
 
// Записываем в БД новый хеш авторизации и IP
mysqli_query($link, "UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'");
 
// Ставим куки
setcookie("id", $data['user_id'], time()+60*60*24*30, "/");
setcookie("hash", $hash, time()+60*60*24*30, "/", null, null, true); // httponly !!!
 
// Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: index.html"); exit();
 
}
else
{
print "Вы ввели неправильный логин/пароль";
}
}
?>
<form method="POST">
<input class="vvod1" name="login" type="text" required><br>
<input class="vvod2" name="password" type="password" required><br>
 
<input class="button" name="submit" type="submit" value="Войти">
</form>
 
<style type="text/css">
.vvod1{
margin-left: 35%;
margin-top: 200px;
width: 400px;
height: 50px;
border: 1px solid black;
border-radius: 10px;
background: white;
padding-left: 20px;
}
.vvod2{
margin-left: 35%;
margin-top: 20px;
width: 400px;
height: 50px;
border: 1px solid black;
border-radius: 10px;
background: white;
padding-left: 20px;
}
.button{
margin-left: 42%;
margin-top: 30px;
width: 200px;
height: 40px;
border:1px solid black;
border-radius: 10px;
background: white;
 
}
</style>

а вот код регистрации
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
// Страница регистрации нового пользователя
 
// Соединямся с БД
$link=mysqli_connect("localhost", "root", "", "new_1");
 
if(isset($_POST['submit']))
{
    $err = [];
 
    // проверям логин
    if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
    {
        $err[] = "Логин может состоять только из букв английского алфавита и цифр";
    }
 
    if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
    {
        $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";
    }
 
    // проверяем, не сущестует ли пользователя с таким именем
    $query = mysqli_query($link, "SELECT user_id FROM users WHERE user_login='".mysqli_real_escape_string($link, $_POST['login'])."'");
    if(mysqli_num_rows($query) > 0)
    {
        $err[] = "Пользователь с таким логином уже существует в базе данных";
    }
 
    // Если нет ошибок, то добавляем в БД нового пользователя
    if(count($err) == 0)
    {
 
        $login = $_POST['login'];
 
        // Убераем лишние пробелы и делаем двойное хеширование
        $password = md5(md5(trim($_POST['password'])));
 
        mysqli_query($link,"INSERT INTO users SET user_login='".$login."', user_password='".$password."'");
        header("Location: login.php"); exit();
    }
    else
    {
        print "<b>При регистрации произошли следующие ошибки:</b><br>";
        foreach($err AS $error)
        {
            print $error."<br>";
        }
    }
}
?>
 
<form method="POST">
 <input class="vvod1" name="login" type="text" required placeholder="Логин"><br>
 <input class="vvod2" name="password" type="password" required placeholder="Пароль"><br>
<input class="button" name="submit" type="submit" value="Зарегистрироваться">
</form>
<style type="text/css">
    .vvod1{
        margin-left: 35%;
        margin-top: 200px;
        width: 400px;
        height: 50px;
        border: 1px solid black;
        border-radius: 10px;
        background: white;
        padding-left: 20px;
    }
        .vvod2{
        margin-left: 35%;
        margin-top: 20px;
        width: 400px;
        height: 50px;
        border: 1px solid black;
        border-radius: 10px;
        background: white;
        padding-left: 20px;
    }
    .button{
        margin-left: 42%;
        margin-top: 30px;
        width: 200px;
        height: 40px;
        border:1px solid black;
        border-radius: 10px;
        background: white;
        
    }
</style>
пожалуйста помогите!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2020, 12:14
Ответы с готовыми решениями:

Добавить логин авторизованного пользователя из сессии в базу (без удаления ранее авторизованных)
Всем привет!:) имеется форма авторизации, при входе на сайт, я хочу добавить логин авторизованного пользователя из сессии в бд mysql ...

Как вытащить логин пользователя, под которым он заходит в сеть?
Уважаемые, поможите... Есть какая-нить функция, которая возвращает логин пользователя, под которым он заходит в сеть? Заранее...

Как залогинить пользователя если его логин и пароль хранятся в MySQL
Здравствуйте. В бд в таблице есть login и password. В документации PHP взял пример авторизации по http-заголовку. Тобишь авторизирую...

3
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.05.2020, 12:53
у вас же в куках id пользователя. в чем проблема по id достать логин?
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 20
25.05.2020, 00:08  [ТС]
дело в том что я плохо знаю PHP этот скрипт я нашел. поэтому прошу помощи.. помимо этого надо сделать так что бы на каждого пользователя можно было настраивать рассписание которое он сам выставит
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 20
12.11.2022, 19:37  [ТС]
для тех кто не нашел но ищет,

PHP
1
2
3
$query = $pdo->query("SELECT * FROM `user`");
            while ($row = $query->fetch(PDO::FETCH_OBJ)) {
            $name_user_table=$row->name_user;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2022, 19:37
Помогаю со студенческими работами здесь

Как из ВК вывести данные авторизованного пользователя?
Доброе время суток. Вопрос такой, как из ВК вывести данные авторизироанного пользователя? язык:Java

Как выводить данные авторизованного пользователя?
Здравствуйте, кто знает, как выводить данные авторизованного пользователя? Здесь я авторизуюсь через логин(email) и пароль и если я ввожу...

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

Как переправить авторизованного пользователя с сайта на сайт
Необходимо авторизовать пользователя в одном веб-приложении и передать его в другое веб-приложение. Как пример - .NET Passport от Microsoft...

Как написать тест для авторизованного пользователя?
помогите пожалуйста советом. я написал тест для экшена edit: test &quot;should get edit&quot; do get :edit, id: @user ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru