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

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте, у меня такая вот задача: нужно ввести в текст. поля логин и пароль и записать их в бд, потом нужно эти данные из таблицы прочитать и сохранить в куки. С записью в бд я справился:
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2015, 22:32
Ответы с готовыми решениями:

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

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

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

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

4
23 / 23 / 1
Регистрация: 31.05.2013
Сообщений: 108
22.11.2015, 02:43 2
если php файлы разделены, как показано выше, то глобальной переменной $_POST, там где запрос выборки данных, не переданы данные, а переменным login и pass соответственно ничего не присваивается...
0
1 / 1 / 1
Регистрация: 07.09.2014
Сообщений: 88
22.11.2015, 02:58  [ТС] 3
немного вас не понял , а как должно тогда правильно быть?
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
22.11.2015, 03:34 4
Лучший ответ Сообщение было отмечено 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  [ТС] 5
спасибо вам за код, я нашел в своём ошибку вот тут: вместо
PHP
1
 if($myrow['password'] == "") {
должно быть
PHP
1
2
3
if($myrow['pass'] == "") {
...
}
и тут так само:
PHP
1
 if($myrow['pass'] == $pass)
вместо password
0
22.11.2015, 15:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2015, 15:21
Помогаю со студенческими работами здесь

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

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

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

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

Программное изменение логина и пароля к базе данных FireBird
Здравствуйте! Как программно изменить логин и пароль к базе данных FireBird 2.1?

Сохранение данных (логина и пароля) пользователей в текстовый файл
&lt;form action=&quot;&quot; method=&quot;post&quot;&gt; &lt;input type=&quot;text&quot; id=&quot;login-field&quot;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru