• После регистрации пользователь в базу таблицы users не попадает..В чем проблема?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Как правильно написал Антон, пора знакомиться с таким понятием, как отладка.
    Но дополним его ответ более практическими рекомендациями.

    Во-первых, при создании соединения с БД, надо сказать ПДО, чтобы он сообщал об ошибках.
    $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    Во-вторых, временно, на период разработки, включить отображение ошибок РНР. Чтобы тупо увидеть, если произошла какая-то ошибка.
    ini_set('display_errors', 1);

    И в-третьих, начать собственно отладку.
    Для начала убедившись, что РНР код в принципе запускается, и проблема в нем, а не в форме.
    Для этого в самом начале action.php пишем большими буквами
    die("пхп хотя бы запустился");
    И если после нажатия на кнопку мы этот текст не увидели, то начинаем тупить в свою форму - а с чего она вообще должна что-то посылать в файл action.php (и попутно задаваться вопросом - а какое отношение наш вопрос имеет к php и sql?)?
    Если форма отправляется аяксом, то смотрим ответ пхп в инструментах разработчика, вкладка Сеть.

    Если обработку формы мы начали, то заезжаем внутрь условия
    die("начали обработку формы");

    И так далее, отслеживаем работу своего кода, выполняется ли он вообще, и содержат ли переменные нужные значения.

    А в целом, конечно, код очень жестокий.
    Вот прямо хочется спросить -
    зачем здесь функция test_input?
    зачем здесь try {}catch (){echo 'Error : '.$e-getMessage();}?
    зачем class Auth extends Database?
    почему showMessage - это часть класса Database? Ну вот серьёзно, каким местом вывод сообщения в браузер в виде HTML хоть как-то относится к работе с базой данных?

    Чтобы сделать этот код минимально осмысленным, надо
    выкинуть класс Database
    в класс Auth добавить
    public function __construct($pdo){
                $this->conn = $pdo;
        }

    и выкинуть из него require_once 'config.php';

    В config.php оставить только соединение с PDO
    в action написать
    require 'config.php';
    $user = new Auth($pdo);

    и выкинуть условие при регистрации, оставив только
    $user->register($name,$email,$hpass);
    $_SESSION['user'] = $email;

    И тогда этот код станет минимально осмысленным
    Ответ написан
    Комментировать
  • Как правильно сделать цикл с ajax-запросами?

    @raketman
    Программист
    1. Надо вызывать метод для всех ссылок

    $('a.article-link').each(function(key, item) {
    getSumComments($(item).attr('href'));
    })

    2. ajax запросы работае асинхронно, поэтому

    var sumComments = getSumComments('https://www.metrtv.ru/articles/second_estate/11617');
    console.log(sumComments);
    не сработает, т.к вернет объект ajax запроса, а не ваше число

    нужно передать вторым аргументом ссылку с которой работает, чтобы относительно нее изменять dom
    getSumComments($(item).attr('href'), $(item));

    и при получении ответа
    sum = responseHC.data[0].cm2;
    $(item).closest('li').find('.comments-counter').html(sum) // Предварительно создав все нужные блоки
    Ответ написан
    Комментировать
  • При попытке создать пользовательскую функцию в MySQL 8.0 возникает ошибка 1418. На сервере MySQL 5.6 создается без проблем. Почему?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Собственно, ответ на ваш вопрос заключён в тексте ошибки.
    Вы используете бинарные логи, которые содержат только последовательность выполняемых запросов. Поскольку ваша функция не детерминирована, она при каждом следующем вызове из одного и того же состояния может вернуть разные значения, соответственно MySQL не может гарантировать точную репликацию и/или восстановление данных из бинарного лога.
    https://dev.mysql.com/doc/refman/5.7/en/stored-pro...
    Ответ написан
    2 комментария
  • Как сделать дизайн для веб приложения?

    Pryamoslov
    @Pryamoslov
    2D, 2.5D, 3D Художник, программист
    Найди в интернете первый понравившийся сайт с дизайном и сделай в той же стилистике и цветовой схеме. Или за аленьким цветочком: выбери набор гармоничных цветов и запили с нуля. Первый вариант быстрей, ты увидел как красиво и у себя еще лучше.
    Ответ написан
    Комментировать
  • Как отучить phpstorm разрезать html теги?

    lidacriss
    @lidacriss
    wtf
    5ad839906e2a7034780148.png
    Ставьте "Do not wrap"
    Ответ написан
    Комментировать
  • Как получить первую букву из string?

    sabramovskikh
    @sabramovskikh
    {{ Str::limit($myVariable, 1) }}
    Ответ написан
    Комментировать