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

Чтение логина и пароля из базы данных для сохранения в куки

21.11.2015, 22:32. Показов 5030. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня такая вот задача: нужно ввести в текст. поля логин и пароль и записать их в бд, потом нужно эти данные из таблицы прочитать и сохранить в куки. С записью в бд я справился:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
 <head>
     <meta charset="utf-8">
     
    </head>
<body>
    
<form action="insert.php" method="post">
    
    
<input type="text" name="login" placeholder="Login"/>
    <br>
    <br>
<input type="password" name="password" placeholder="Pass" />
<input type="submit" value="Enter" />
    
</form> 
    
    
    
</body>
 
    
</html>
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
<?php
 
$con  = mysql_connect("localhost" , "misha" , "123");
if(!$con) {
    
 die('Error connect to database '. mysql_error());   
}
 
mysql_select_db('firstdb' , $con);
$sql = "INSERT INTO users (login , pass)
VALUES
('$_POST[login]', '$_POST[password]')";
if(!mysql_query($sql,$con)) {
    
 die('Error: ' . mysql_error());   
}
 
 
exit("<input type = 'button' value = 'Back' onclick = 'history.back()'>
    ");
 
mysql_close($con);
 
 
 
?>
Теперь мне нужно считать эти данные для дальнейшего сохранения в куки, но вот проблема когда я считываю логин и пароль с бд, выполняется условие что такого логина и пароля в бд нету (No login ),вместо того чтобы написало: "вы вошли как,user" , хотя на самом деле такое поле в бд есть, вот код которым пытаюсь прочитать:
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
<?php
 
$con  = mysql_connect("localhost" , "misha" , "123");
if(!$con) {
    
 die('Error connect to database '. mysql_error());   
}
 
mysql_select_db('firstdb' , $con);
 
 
session_start();
if(!isset ($_SESSION['login'])) {
    $login = $_POST['login'];
    $pass = $_POST['password'];
    
    
    if(empty ($login) or empty($pass))  {
    exit("You enter invaild information
    <input type = 'button' value = 'Back' onclick = 'history.back()'>
    ");
    }
    
    
    $result = mysql_query("SELECT *  FROM users WHERE login = '$login'" , $con);
    
    $myrow = mysql_fetch_array($result);
    
    if($myrow['password']=="") {
    exit("No login
    <input type = 'button' value = 'Back' onclick = 'history.back()'>
    ");
    }else {
       if($myrow['password']==$pass) {
       
       setcookie("login" , $myrow['login'] , time() + 3600);
       
       }else {
       exit("Login or password is incorrect
       <input type = 'button' value = 'Back' onclick = 'history.back()'>
       
       ");
       }
    
    }
}
 
 
 
echo "Welcome " .$myrow['login'];
mysql_close($con);
 
 
?>
Скажите плиз почему оно не видит мои поля в бд и не может их прочитать?? Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2015, 22:32
Ответы с готовыми решениями:

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

Запись в куки логина и пароля
Подскажите пожалуйста, после авторизации идет запись в куки логина и пароля,в личном кабинете они распознаются и впускают в защитную зону...

Ввод логина и чтение пароля из файла
Помогите пожалуйста организовать логин и пароль и чтоб чтение шло из файла *.dat При правельном вводе открывало форму. При не правельном...

4
 Аватар для m1ndgr3p
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
22.11.2015, 02:43
если php файлы разделены, как показано выше, то глобальной переменной $_POST, там где запрос выборки данных, не переданы данные, а переменным login и pass соответственно ничего не присваивается...
0
1 / 1 / 1
Регистрация: 07.09.2014
Сообщений: 88
22.11.2015, 02:58  [ТС]
немного вас не понял , а как должно тогда правильно быть?
0
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
22.11.2015, 03:34
Лучший ответ Сообщение было отмечено Jonny123 как решение

Решение

Jonny123,

Вот написал простой пример.

db.php
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'dbname';
 
$connect = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
mysqli_query($connect, "SET CHARSET UTF8");
login.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
<head>
 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
 
</head>
<body>
 
 
<form action="login.php" method="POST">
    <label>Логин:</label><br />
    <input type="text" name="login" /><br />
    <label>Пароль:</label><br />
    <input type="password" name="password" /><br />
    <button>Войти</button>
</form>
 
 
</body>
</html>
login.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
25
<?php
 
include_once 'db.php';
 
if($_SERVER["REQUEST_METHOD"] === 'POST') {
    
    $login = trim(mysqli_real_escape_string($connect, $_POST["login"]));
    $password = trim(mysqli_real_escape_string($connect, $_POST["password"]));
    
    if(empty($login)) {
        exit('Поле логина пустое, вернитесь и исправьте ошибку.');
    }
    
    if(empty($password)) {
        exit('Поле пароля пустое, вернитесь и исправьте ошибку.');
    }
    
    $result = mysqli_fetch_assoc(mysqli_query($connect, "SELECT `login` FROM `users` WHERE `login`='{$login}' AND `password`='{$password}' LIMIT 1"));
    if($result) {
        echo 'Приветствуем вас ' . $result["login"];
    }else{
        echo 'Неверный логин и/или пароль!';
    }
    
}
1
1 / 1 / 1
Регистрация: 07.09.2014
Сообщений: 88
22.11.2015, 15:21  [ТС]
спасибо вам за код, я нашел в своём ошибку вот тут: вместо
PHP
1
 if($myrow['password'] == "") {
должно быть
PHP
1
2
3
if($myrow['pass'] == "") {
...
}
и тут так само:
PHP
1
 if($myrow['pass'] == $pass)
вместо password
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.11.2015, 15:21
Помогаю со студенческими работами здесь

Basic аутентификация. Проверка логина и пароля из базы.
Hi, all! Привыкла к Apache, жизнь столкнула с IIS. Проблема следующая: хочу на сайте IIS/ASP стандартную basic аутентификацию, но...

Куки и хранилище для базы данных
Всем привет! Сделал регистрацию пользователей в MySQL. Через куки отрабатываю запоминание пользователя. Все работает хорошо. Но...

Сделать окно ввода логина/пароля при открытии базы
Подскажите ребят а как сделать чтобы при открывание бд выходило окно ввдите имя и пароль !?? у меня выходит окно! но ток пароль на всю...

Загрузка данных в соответсвии логина и пароля
Добрый день. Помогите решить одну проблему. У меня есть в базе 2 таблицы users(с полями id,login,password,фио,email) и karta(id,фио...

Шифрование и расшифровка данных (логина и пароля)
Здравствуйте. Суть вопроса: есть форма. на нее вводим пароль и логин. Пароль хэшируется по алгоритму MD2, затем полученный хэш мы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru