apelsin2017: В принципе, если вам не критична скорость реакции можете не держать у себя базу geoip, а использовать сторонний сервис. Правда тогда желательно сделать проверку асинхронной.
hollanditkzn: Да, я не первый раз вижу ваши вопросы и даже на парочку из них отвечал. Вы упорно продолжаете придумывать себе сложности в тех местах, где есть готовые проверенные решения. Вместо того, чтобы узнать как делается что-то вы изобретаете велосипед. От этого тоже есть польза - вы получаете опыт, скилл растет.
Еще раз повторю, что без особых переделок, просто немного подправив разметку можно сократить ваш js примерно так: https://jsfiddle.net/mqkvrdd9/1/
Возможно к data придется добавить пару параметров типа sizePic, который вы не приложили в примере и непонятно как именно он работает.
Hello World: Скажу, что вы бы хоть читали описание функции. random_bytes принимает на вход длину желаемого результата а вы туда md5(strlen(email)) передает зачем-то.
И вообще, strlen(email) будет очень часто давать одинаковые результаты, и у вам будет множество одинаковых md5.
Hello World: Я регистрирую парочку аккаунтов, убеждаюсь в том, что id закодирован при помощи base64. Это вообще не шифрование а кодировка. Зная чужой userId генерирую соответствующую строку и начинаю брутфорсить токен. Что меня остановит?
евГений Карлоний:
Я даже не знаю с какого места начать рассказывать подробнее.
У вас единая точка входа, в index.php? У вас есть роутинг? Вы можете добавить там еще один параметр, который будет передаваться в action?
Денис Букреев: Так работает же.
Естественно при обращении к this.mode = 'search' из других объектов нужно использовать не this а указатель на тот объект, к свойству которого вы обращаетесь.
Vanya Huk: В фрагменте кода который вы привели нет responseJSON и моих навыков телепатии недостаточно для того, чтобы увидеть остальную часть кода.
Я верю что данные приходят с сервера, но success это callback-функция, и результат который она возвращает не попадает в ваш var obj, который в самом конце. Если вы напишете console.log() внутри success - да, вы их увидите. Но вызов console.log( obj ) происходит раньше чем приходит ответ с сервера. Если вы добавите туда вывод таймера вы можете в этом убедиться.
(отступы между слайдами)
Если вы про автоматическую смену слайдов, то