Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
1

Не работает условие

29.03.2016, 12:51. Показов 876. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include ($_SERVER['DOCUMENT_ROOT'].'/include/connectdb.php');
$id = $_COOKIE['I'];
$hash = $_COOKIE['P'];
 
$q = mysql_query("SELECT * FROM `login` WHERE `user_id`='$id'");
    $h = mysql_fetch_array($q);
 
//проверяем совпадение хэша
if($id != $h['user_id'] && $hash != $h['hash']){
    header("Location: /login.php"); //редирект на авторизацию
    exit();
}
?>
Почему не хочет работать условие if($id != $h['user_id'] && $hash != $h['hash']){?
В бд всего 1 запись с ид и хэшем, а пускает с разных устройств где ранее был авторизован, то есть не редиректит на /login.php
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2016, 12:51
Ответы с готовыми решениями:

Проверка на число: Одно и то же условие работает в случае numchar, но не работает с xchar и ychar
Помогите ламеру с ламерской программкой. В тестирующей функции запрашиваются три строки numchar,...

Не работает условие
Примитивное условие: если эти три кнопки невидимы, то.. procedure TForm1.Button75Click(Sender:...

Не работает условие if else
function indexAction($smarty){ $catId = isset($_GET) ? $_GET : null; if($catId == null)...

Не работает условие
Вопрос казалось бы простой, но, кто может мне объяснить, почему условие не работает? Суть...

20
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
01.04.2016, 15:17  [ТС] 21
Author24 — интернет-сервис помощи студентам
В общем бился, бился, ничего не смог решить... Очень прошу вашей помощи!

Если юзер, с его ид в куках не найден в таблице, редирект на /login.php

Если юзер, с его ид в куках найден, проходим по таблице с этим ид, может он заходил несколько раз и при этом сверяем хэш в куках с таблицей. Если ид и хэш совпадает, без разницы какой по счету, хоть 7 раз он заходил, оставляем пользователя. Если ни один хэш с кукой не совпадает то редирект на /login.php

P.S.: хэш всегда разный, $hash пишется в таблицу и в куку.
PHP
1
2
$md5 = (date("Y-m-d H:m:s") . $ip);
        $hash = md5($md5);
Вот тот код, измученный до нельзя:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include ($_SERVER['DOCUMENT_ROOT'].'/include/connectdb.php');
$id = $_COOKIE['I'];
$hash = $_COOKIE['P'];
 
$q = mysql_query("SELECT * FROM `login` WHERE `user_id`='$id'");
 
//проверяем совпадение хэша
while($h = mysql_fetch_array($q)){
    if($id == $h['user_id'] && $hash != $h['hash']){
        header("Location: /login.php"); //редирект на авторизацию
        exit();
    }
}
?>
Оч прошу помочь! В долгу не останусь!!
0
01.04.2016, 15:17
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2016, 15:17
Помогаю со студенческими работами здесь

Не работает условие
Господа! Не могу понять, что происходит: Есть два одинаковых условия, но для разных полей select....

Условие if else не работает
Всем привет! Возникла следующая проблема. Не работает if else. Точнее то что в if выполняется, но...

Не работает условие IF
Помогите, плиииз, советом: я применила код к своей базе данных. он мне ищет номера торгов. Но...

Не работает условие
здравствуйте! есть простенький запрос, но при формировании отчета по этому запросу ничего не...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
В чем отличие между INNER JOIN и OUTER JOIN. Объединение таблиц в SQL
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru