powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не могу понять где тут ошибка
9 сообщений из 9, страница 1 из 1
Не могу понять где тут ошибка
    #37824391
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять где тут ошибка

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
function login($username,$password)    {
    
    $result = $mysqli->query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';");
        
    $USER = $result->fetch_assoc(); //Генерирует удобный массив из результата запроса
    $result->close();
    if(!empty($USER)) { //Если массив не пустой (это значит, что пара имя/пароль верная)
        $_SESSION = array_merge($_SESSION,$USER); //Добавляем массив с пользователем к массиву сессии
        
        $mysqli->query("UPDATE `".USERS_TABLE."` SET `sid`='".SID."' WHERE `uid`='".$USER['uid']."';");
        return true;
    }
    else {
        return false;
    }
}
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824393
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
весь скрипт 

<?php
##Определяем константы
define('USERS_TABLE','users');
define('SID',session_id());
include('../config/db.php');
##Определяем функции
//Функция выхода.
//Пользователь считается авторизированым, если в сессии присутствует uid
//см. "Действия - если пользователь авторизирован".
function logout() {
    unset($_SESSION['uid']); //Удаляем из сессии ID пользователя
    die(header('Location: '.$_SERVER['PHP_SELF']));
}



function login($username,$password)    {
    
    $result = $mysqli->query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';");
        
    $USER = $result->fetch_assoc(); //Генерирует удобный массив из результата запроса
    $result->close();
    if(!empty($USER)) { //Если массив не пустой (это значит, что пара имя/пароль верная)
        $_SESSION = array_merge($_SESSION,$USER); //Добавляем массив с пользователем к массиву сессии
        
        $mysqli->query("UPDATE `".USERS_TABLE."` SET `sid`='".SID."' WHERE `uid`='".$USER['uid']."';");
        return true;
    }
    else {
        return false;
    }
}

//Функция проверки залогинности пользователя.
//При входе, ID сессии записывается в БД.
//Если ID текущей сессии и SID из БД не совпадают, производится logout.
//Благородя этому нельзя одновременно работать под одним ником с разных браузеров.
function check_user($uid) {
    $result = $mysqli->query("SELECT `sid` FROM `".USERS_TABLE."` WHERE `uid`='$uid';") ;
    $sid=$result->fetch_assoc();
    return $sid['sid']==SID ? true : false;
}

##Действия - если пользователь авторизирован
if(isset($_SESSION['uid'])) { //Если была произведена авторизация, то в сессии есть uid

    //Константу удобно проверять в любом месте скрипта
    define('USER_LOGGED',true);
    //Создаём удобные переменные
    //Все поля таблицы пользователей записываются в сесси (см. стр. 35-37)
    //Таким образом, после добавления нового поля в таблицу надо дописть лишь одну строку
    $UserName = $_SESSION['username'];
    $UserPass = $_SESSION['password'];
    $UserID = $_SESSION['uid'];
}
else {
    define('USER_LOGGED',false);
}

##Действия при попытке входа
if (isset($_POST['login'])) {
    
   
    
    if(get_magic_quotes_gpc()) { //Если слеши автоматически добавляются
        $_POST['user']=stripslashes($_POST['user']);
        $_POST['pass']=stripslashes($_POST['pass']);
    }
    $user = $mysqli->real_escape_string($_POST['user']);
    $pass = $mysqli->real_escape_string($_POST['pass']);
    echo "metka0";
    if(login($user,$pass)) {
         echo "metka1";/*
        header('Refresh: 3');
        die('Вы успешно авторизировались!');*/
    }
    else {
        echo "metka2";/*/* header('Refresh: 3;');
        die('Пароль неправильный!');*/
    }
    echo "metka3";
    
}

##Действия при попытке выхода
if(isset($_GET['logout'])) {
    logout();
}
?>
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824396
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
доходит тольео до metka0
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824580
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
 $result = $mysqli->query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';");

здесь ошибка, не могу понять почему.
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824621
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoy,

Люди ау
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824971
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoyне могу понять почемуВыводим и читаем сообщения об ошибках. Обычно там есть ответ на этот вопрос или подсказка.
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824990
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
echo mysqli_error();
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37824993
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или че у вас там

Код: php
1.
echo $mysqli->error
...
Рейтинг: 0 / 0
Не могу понять где тут ошибка
    #37825442
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoy
Код: php
1.
 $result = $mysqli->query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';");

здесь ошибка, не могу понять почему.
вы уверены что точка с запятой в конце запроса жизненоважна для работы скрипта?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не могу понять где тут ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]