есть такое бд: И я делаю проверку, если у пользователя статус "4", он на сайт зайти не может. Вот такой код: PHP: $result2 = mysql_query("SELECT * FROM users WHERE login='$login' AND password='$password' AND activation='1' AND status='4'",$db); $status = mysql_fetch_assoc($result2); // тут ещё одна проверка, поэтому тут else if else if($status['id']) { exit("Извините, но вы заблокирован перманентно на нашем сайте."); } Этот код работает, но я после этой проверки, делаю ещё одну проверку, что если пользователь авторизован и он получил статус "4" когда уже авторизован, так его должно де-авторизовать. Но я тут не очень знаю как сделай такую проверку, написал только де-авторизование, но проверку есть ли на сайте авторизованный пользователей со статусом "4" не сделал, вот что получилось дальше: PHP: else if(($_SESSION['login']) or ($_SESSION['password']) AND/* тут я думаю он должен как-то статус узнать у сессии, но не знаю как */ ){ // ну и тут уже уничтожаем переменные в сессиях unset($_SESSION['password']); unset($_SESSION['login']); unset($_SESSION['id']); setcookie("auto", "", time()+9999999); exit("<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head></html>");
Так я же сделал уже, самый первый код. PHP: $result2 = mysql_query("SELECT * FROM users WHERE login='$login' AND password='$password' AND activation='1' AND status='4'",$db); $status = mysql_fetch_assoc($result2); // тут ещё одна проверка, поэтому тут else if else if($status['id']) { exit("Извините, но вы заблокирован перманентно на нашем сайте."); } Тут и сказано, что если в полях авторизации введенный логин равен $login каторый в базе данных и если введенный пороль равен $password который в дб и активация у пользователя "1" и статус "4" так вместо входа, останавливаем сценарий и выводим "Извините, но вы заблокирован перманентно на нашем сайте." И теперь я дулаю после этого скрипта ещё один скрипт, где уже проверяет пользователя который авторизовался. И если у него статус "4" когда он уже авторизован, так его должно де-авторизовать, вот мне и надо узнать как это проверить
Не авторизовать, я же не авторизую, а вывожу ошибку, просто если вдруг статус поменятся на 4 когда он будет авторизован, тогда надо его де-авторизовать
ну... Может дейстивии и не объязательно, просто нужно проверку сделать, если он авторизован и имеет статус 4, тка просто он автоматически де-авторизируется. Просто вот тут нужно правильно начало сдеать PHP: else if(($_SESSION['login']) or ($_SESSION['password']) AND ){ Вот, тут уже написано, что если сессия авторизирована и... И вот посля "AND" нужно как-то сделать проверку. Словами должно так быть: если пользователь авторизирован ( уже написал это) и статус у того пользователя 4, так он де-авторизируется.
Наверно ты еще не знаешь что такое Notice Надо попросить разработчиков, чтобы в пхп 8.0 за Notice взрывались компы, выгорала проводка, а из дисплея вылезал чужой и заживо хомячил программиста
тебе сложно сделать архив и скинуть его? Что бы я его распаковал, создал твою базу, одним запросом и запустил весь твой сайт и нашёл причину.
тут не причину, просто нужно дописать 1 строку. Что так трудно сделать проверку, которая будет проверять есть ли на сайте авторизорован пользователь, у которого статус в бд "4"? --- Добавлено --- и если такой пользователь есть, так эго просто нужно де-автаризировать. PHP: unset($_SESSION['password']); unset($_SESSION['login']); unset($_SESSION['id']); setcookie("auto", "", time()+9999999); exit("<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head></html>"); --- Добавлено --- ну вот что-то вроде этого, но опять же, не так кажется. PHP: else if(($_SESSION['login']) or ($_SESSION['password']) ){ if ($_SESSION['status'] == 4) { // тут деавторизацию } }
Это значит: Если пользователь авторизован. --- Добавлено --- Но главный вопрос как проверить того пользователя статус, как в бд показано, что у каждого пользователя в поле статус есть своё значение
@Terminator004 это бредовая проверка, надо проверять логин и пароль и желательно, что бы такие же данные были в базе, ну можно ещё и токен.
Получается что у тебя, при каждом перемещении пользователя надо ходить в БД и проверять его статус. Ты кикнул пользователя, он страничку обновляет - вылетел. Мне думается, что надо с куками мутить