- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Друзья. Мой мозг похоже перегрелся, не могу сходу определить причину в своем же коде. Переработал видимо.
https://wappartner.club/123.txt
Почему то даже если пользователей в таблице еще нет, все равно выскакивает ошибка №5, при этом все выполняется согласно алгоритму (новый пользователь создается).
{"request":[{"error":"5"}]}
Почему? Не могу понять. Ошибка должна выскакивать только если пользователь с указанным e-mail уже существует в базе. При первом открытии, когда еще пользователей нет в базе, когда таблица users пустая, не должна выскакивать ошибка 5, а она выводится. При этом все работает согласно алгоритму, новый пользователь успешно создается.
Сломал голову, подскажите, где у меня ошибка в логике. Заранее спасибо за Ваше время.
Более или менее логичное объяснение, что у Вас где-то ранее задается $data = ['error'=>'5']; , тем более что $data Вы не инициализируете.
Второй вариант что по какой-то причине у Вас скрипт вызывается 2 раза, Вы получаете второй ответ.
Из общих корявостей - зря escape-ите $POST['password'] в данной ситуации.
т.е. пользователь создался, но у вас всё равно ошибка 5?
Браузер случаем два раза страницу не запрашивает?
Спасибо всем. А также про замечание насчет escape для поля пароля (поправлю этот момент).
У меня данная страница инклудится из общего скрипта.
Вот общая картина происходящего:
Из этого файла: https://wappartner.club/012.txt
Инклудится вот этот: https://wappartner.club/123.txt
(подключается строчкой: include('./'.$api_name.'/'.$api_method.'.php'); в первом файле)
Как все задумывалось:
В скрипт POST-запросом (через PHP CURL) передаются данные о пользователе для добавления в таблицу. Идет проверка наличия пользователя в базе. Если его нет, то происходит добавление в таблицу. Если такой пользователь есть, то возникает ошибка 5. А у меня текст об ошибке 5 в любом случае выскакивает, причем сам алгоритм скрипта при этом почему то работает как нужно - пользователь проверяется и либо создается либо нет, если уже есть.
Заметил такую вещь. Из PHP не работала команда INSERT через MySQLi после обновления MySQL-сервера. Прочел, что нужно в my.conf прописать sql_mode = '';
После этого INSERT заработала. Сейчас провел эксперимент, в PHP-коде после выполнения любого INSERT в таблицу MYSQL, PHP игнорит к примеру вот такие записи: echo '123'; exit;
До выполнения INSERT строчка срабатывает, после выполнения уже нет.
Вот так echo '123'; exit; работает:
А вот так уже нет (игнорируется):
Чудеса. Уже начинаю думать в сторону криво работающего или криво настроенного mysql-сервера
Нет. В новой версии строгие правила добавления данных. Вызовите ошибку mysql и вы увидите, что скорее всего проблема в структуре таблицы. Возможно добавляется NULL туда, куда этого нельзя делать.
Еще раз всем спасибо. Действительно, проблема была в том, что curl_exec($curl) вызывался два раза. В первом случае, когда была проверка на наличие ошибок, второй раз когда я хотел увидеть на экране результат ответа.
Удачной работы и хорошего настроения!