Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.06.2018
Сообщений: 2
1

Код PHP не берёт данные из базы данных, при авторизации всегда выдаёт прописанную ошибку "Неверный логин или пароль"

20.06.2018, 13:36. Показов 1502. Ответов 4

PHP/HTML
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
<head>
    <meta charset="UTF-8">
    <title>QestBar</title>
    
    
</head>
 
<?php
require ("db.php");
 
if (isset($_POST['login'])){
    $login = $_POST['login']; 
    if ($login == '') {
        unset($login);
        exit ("Введите пожалуйста логин!");
    } 
}
if (isset($_POST['password'])){
    $password = $_POST['password']; 
    if ($password == '') {
        unset($password);
        exit ("Введите пароль");
    }
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
$login = trim($login);
$password = trim($password);
 
$user = mysql_query("SELECT id FROM Reg WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id']))
{
    exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
    echo"Hello";
    $_SESSION['password'] = $password; 
    $_SESSION['login'] = $login; 
    $_SESSION['id'] = $id_Reg['id']; 
}
       
        
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];
?>
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2018, 13:36
Ответы с готовыми решениями:

"Неверный пароль" при авторизации
Сделал такую авторизацию. До того зарегистрировал на &quot;сайте&quot; пользователя, его данные сохранились в...

Пишет "Не верный логин или пароль", но данные правильно введены
Пишет Не верный логин или пароль но данные правильно введены else if ($Module == 'login' and...

Post-запрос, "Неверный логин или пароль"
Ребят, помогите пожалуйста. У меня XE3. Использую следующую функцию для отправки POST запроса: ...

Программа выдает ошибку "не верный логин или пароль", хотя аккаунт добавляется в Account.base
Здравствуйте вот пишу программу и тут возникла проблема регистрирую первый аккаунт всё норм входит...

4
71 / 58 / 48
Регистрация: 12.03.2017
Сообщений: 566
21.06.2018, 11:58 2
Пробежался по коду, все верно написано, но тут много разных факторов может влиять на ошибку.
1. Подключение к бд (проверьте подключился ли ваш код к бд).
2. Проверьте название полей в запросе. и лучше поля из бд пишите так
PHP
1
`login`
(безопасней).
3. Также нашел ошибку,что вы не включили сессии (
PHP
1
session_start();
) в начале файла .php.
Если вам это нужно срочно сделать, или вам сдавать, то можете добавить меня в вк или скайп , отпишите здесь, я с вами свяжусь.
0
Эксперт PHP
3586 / 3004 / 1260
Регистрация: 01.08.2012
Сообщений: 10,285
21.06.2018, 12:18 3
На 33 строке сделайте так:
PHP
1
$user = mysql_query(...) or die(mysql_error());
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 3
22.06.2018, 21:40 4
Цитата Сообщение от RiDer_22 Посмотреть сообщение
mysql_query("SELECT id FROM Reg WHERE login='$login' AND password='$password'");
;
Перед запросом нужно вставлять имя переменной через которого вы подключились к базе данных

Нап. mysqli_query($db, "SELECT...")

Цитата Сообщение от RiDer_22 Посмотреть сообщение
$id_user = mysql_fetch_array($user);
if (empty($id_user['id']))
;
Замените этот код вот этим
if ( row = mysqli_num_rows($data) == 0) {
echo "Извините, введённый вами логин или пароль неверный.";
}
0
Эксперт PHP
3586 / 3004 / 1260
Регистрация: 01.08.2012
Сообщений: 10,285
23.06.2018, 06:11 5
Цитата Сообщение от amirkhan Посмотреть сообщение
Перед запросом нужно вставлять
В коде ТС используется mysql_query, поэтому если и вставлять, то после.
Цитата Сообщение от amirkhan Посмотреть сообщение
if ( row = mysqli_num_rows($data) == 0) {
А зачем здесь $row и почему без символа $?
Цитата Сообщение от RiDer_22 Посмотреть сообщение
$_SESSION['id'] = $id_Reg['id'];
Кстати, откуда взялась $id_Reg?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2018, 06:11

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Создать обработчик кнопки "Найти" для базы данных в borland (выдаёт ошибку)
должен производиться поиск страны и стоимости по фамилии клиента, программа запускается, но при...

Access выдаёт ошибку "несоответствие типов данных в выражении условия отбора" при выборе даты
Формат поля стоит Дата и время (настройки по умолчанию). выбираю в delphi дату через всплывающий...

При вводе ПРАВИЛЬНОГО пароля пишет "неверный пароль"
Здравствуйте! Такая проблема странная случилась, пользовался Win 7 стоял пароль при входе в...

Wi-Fi сеть выдает "неверный" пароль при верном пароле
Доброго дня После переустановки Винды (7ка), при подключении к моему домашнему вай-фаю выдает,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.