|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
||||||
Не работает условие29.03.2016, 12:51. Показов 1034. Ответов 20
Метки нет (Все метки)
В бд всего 1 запись с ид и хэшем, а пускает с разных устройств где ранее был авторизован, то есть не редиректит на /login.php
0
|
||||||
| 29.03.2016, 12:51 | |
|
Ответы с готовыми решениями:
20
Проверка на число: Одно и то же условие работает в случае numchar, но не работает с xchar и ychar Не работает условие Не работает условие if else |
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|
| 29.03.2016, 13:07 | |
|
Так у вас хэш не меняется при авторизации. Поэтому да, можно одновременно авторизоваться с нескольких устройств.
Чтобы авторизован мог быть только 1 юзер, надо после успешного логина генерировать новый хэш.
0
|
|
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
||||||
| 29.03.2016, 13:11 [ТС] | ||||||
|
Jodah, да, так и есть, при авторизации новый хэш в куку прописывается.
Добавлено через 1 минуту Если таблица пустая, то просит на любом устройстве авторизоваться. Но если я хоть где-то авторизовался, то начинает пускать со всех устройств. Хотя в куках хэши разные. Добавлено через 1 минуту Записываю новый хэш пока вот так, чтоб были разные, потом переделаю на IP и пароль
0
|
||||||
|
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
|
||
| 29.03.2016, 14:06 | ||
|
А нужно проверять юзера и если всё верно - редиректить куда надо, а остальных редиректить на авторизацию. Ваше условие работает, но не так как вам нужно. -- Если айди не равен юзер_айди И хэш не равен какой_то_хэш тогда редирект, стоп скрипт. У меня айди не равен юзер_айди. И меня не редирекнет. Ещё же надо хэш не равен какой_то_хэш. Где бы мне взять неверный айди и неверный хеш и записать их в куки, что бы меня пустили к авторизации? ) А что делать новым пользователям у которых нет ни айди ни хеша?
0
|
||
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|||||||||||
| 29.03.2016, 20:08 [ТС] | |||||||||||
|
useruser, именно нужно сделать редирект если не совпадает. Этот скрипт подключаю в каждую страницу админки. Это как проверка, тот ли человек зашел туда, куда нельзя заходить обычным пользователям.
Добавлено через 1 минуту Я переделывал условие на: если ид=равен ид и хэш не равен хэшу то вообще не пускает никуда, сразу редирект на авторизацию. Добавлено через 18 минут useruser, сделал вот так:
Вот что сейчас. Все же не могу разобраться. Помогите кто знает как правильно составить это условие. Кстати, если в таблице нет этого ид, то пускает всех. Ну с этим я разберусь, добавлю доп условие. Но нужно чтоб смотрел все значения с одинаковым ид. Смотрит только первое, и со второго устройства уже не пускает, будь хоть 15 записей.
0
|
|||||||||||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
|
|
| 29.03.2016, 21:04 | |
|
0
|
|
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|
| 29.03.2016, 21:09 [ТС] | |
|
полудух, нет, сразу редирект на логин, хотя на 2-х устройствах хэш равен хэшу в таблице.
0
|
|
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
|
| 29.03.2016, 21:15 | |
|
Что-то не совсем понятно зачем так, здесь $h = mysql_num_rows($q); вы получаете количество строк полученных из БД, возвращает integer, а затем вы обращаетесь к числу как к массиву $id == $h['user_id'] && $hash != $h['hash']
Может вам все-таки нужно получить записи из БД и их проверять, а не количество этих записей?
0
|
|
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
|
|||||
| 29.03.2016, 21:24 | |||||
![]() в этом условии нужен || вот эта строка мимо а вообще, чтобы экономить всем время в будущем, проверяйте сразу var_dump($_COOKIE) и var_dump($h)
0
|
|||||
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
||||||
| 29.03.2016, 21:38 [ТС] | ||||||
|
geee, полудух, вот один единственный код, уже исправил кое какие ошибки, пробовал многие варианты...
Если присутствует 1 запись, то все в порядке, с другого устройства уже не зайти, потому что хэш в куках отличается, примерно как в ВКонтакте, когда закрываешь все соединения просит авторизовать заново. Если присутствует 2 или более записей с одинаковым user_id, но разным хэшем, то выбирает только первый user_id, то-есть, авторизовался я на компьютере, поработал, решил зайти на телефоне, редиректит, хотя не должно... В общем говоря мне нужно так: скрипт проверит существует ли запись в таблице с одинаковым ид и одинаковым хэшем (без разница сколько раз пользователь заходил, скрипт должен найти соответствие среди всех одинаковых ид), значит оставляем и ни куда не редиректим... Если запись с ид существует, но хэш отличается тот что в куках, то редиректим на логин... Если записей с ид вообще нет то редиректим на логин. Ну как то так...
0
|
||||||
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
||
| 29.03.2016, 21:46 | ||
|
if($id != $h['user_id'] || $hash != $h['hash']){ редирект } Если что-то не так как должно быть, то пишешь var_dump($h); смотришь, что вообще в массиве лежит от этого и плясать
0
|
||
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
||||||
| 29.03.2016, 21:52 [ТС] | ||||||
|
geee, не видит вторую запись. Вот что выдал var_dump:
Первым я авторизовал комп, потом телефон. На компе норм, а с телефона редирект, обе записи с одинаковым ид но разным хэшем присутствуют в таблице.
0
|
||||||
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
|
| 29.03.2016, 21:54 | |
|
А какую вторую запись должно видеть? Или в БД несколько записей с одинаковым user_id?
0
|
|
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|
| 29.03.2016, 21:55 [ТС] | |
|
geee, да, несколько записей с одинаковым user_id, но разными $h['hash'].
0
|
|
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
||||||
| 29.03.2016, 21:58 | ||||||
|
Ну тогда и нужно проходить по всем записям, а не только по первой:
1
|
||||||
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|
| 29.03.2016, 22:01 [ТС] | |
|
geee, я пробовал... редиректит на всех устройствах где был авторизован.
0
|
|
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
|
| 29.03.2016, 22:02 | |
|
Ну может в куках не то лежит? Можно вывести куки на экран и посмотреть
0
|
|
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|
| 29.03.2016, 22:04 [ТС] | |
|
geee, все то же что и в таблице, ид и хэш соответствует кукам.
0
|
|
|
7 / 7 / 5
Регистрация: 17.03.2014
Сообщений: 77
|
||||||
| 29.03.2016, 22:08 | ||||||
|
А так?
0
|
||||||
|
19 / 18 / 11
Регистрация: 24.08.2015
Сообщений: 471
|
|
| 29.03.2016, 22:10 [ТС] | |
|
geee, выбирает только первую запись
0
|
|
| 29.03.2016, 22:10 | |
|
Помогаю со студенческими работами здесь
20
Не работает условие Не работает условие Условие if else не работает Не работает условие IF Не работает условие Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|