Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не могу понять где тут ошибка / 9 сообщений из 9, страница 1 из 1
04.06.2012, 15:16:41
    #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
04.06.2012, 15:17:32
    #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
04.06.2012, 15:19:36
    #37824396
hemoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять где тут ошибка
доходит тольео до metka0
...
Рейтинг: 0 / 0
04.06.2012, 16:37:19
    #37824580
hemoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять где тут ошибка
Код: php
1.
 $result = $mysqli->query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';");

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

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

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

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


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