• Сохранение сессий в базе данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это называется "закат солнца вручную". Если весь сыр-бор вокруг "запомнить меня" и прочими разлогинами, то к самому механизму сессий это никакого отношения не имеет.

    Более того, если вы реально доросли до того что стандартный механизм сессий вас чем-то не устраивает, то скорее всего вы уже пользуетесь каким-то фреймворком, а в современных фв практически везде используется обертка и интерфейс для обращения к сессии, так что сменить способ хранения сессионных данных на бд/редис/мемкеш/чета свое дело 15 минут.

    А если вы все еще пишете свое решение с блэкджеком и сессиями в бд, то лучше используйте пока стандартный функционал.
    Ответ написан
  • Как написать свою собственную операционную систему под кнопочный телефон?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    вроде на старых телефонах стоял симбиан, думаю найти исходники и поколупаться будет самым реальным вариантом.
    Ответ написан
    Комментировать
  • Как сделать JS, что бы он запускался только при первом визите на сайт?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    иф (кука есть) {
     ретурн 
    }
    елс{
    выполнять скрипт;
    записать в куки;
    }
    Ответ написан
    2 комментария
  • Как сделать теги(метки) на сайт через php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Создать таблицу тегов, создать таблицу связей теги-товары/теги-публикации, по клику переходить на роут типа гетбайтег/мойтег, по мойтег выбирать связанные с тегом сущности - профит.
    Ответ написан
  • Как реализовать корректную систему удаления комментария?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    для того чтобы удалить конкретный комментарий, нужно передавать его id, ну и тогда запрос будет:
    DELETE FROM `comments` 
    WHERE `user_id` = :user_id 
    and `id` = :comment_id

    Кроме того, в куках держать айди пользователя нельзя (я спокойно могу напихать в свои куки любой айди и рулить всеми доступами рандомного пользователя). Для этого есть сессии. Так же, для удаления комментариев лучше использовать специальное поле, отвечающее за статус комментария, меняя его на (условно) "удален".

    Так же, для таких случаев лучше подходит яваскрипт и аякс запросы, чем перезагрузка страницы формой.
    Ответ написан
  • Как и где практиковать php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня вот такой вопрос, как и где мне практиковать php?
    Как и все выучившие основы - пиши соц. сеть.

    (например скрип авторизации и регистрации)
    Не бывает скрипов авторизации и регистрации. Есть система, компонентами которой будут авторизация и регистрация. В отрыве от общей схемы (архитектуры) эта работа будет абсолютно бесполезной. Да и сама регистрация и авторизация не является простейшим компонентом, а значит требует разбивки на более мелкие задачи - называется декомпозировать задачу (например, для начала надо продумать структуру таблиц в бд, где будут храниться пользователи, предусмотреть как их создавать, менять и удалять, а уже затем писать код, затем решить какие поля будут приходить с фронта, написать их там, как они будут проверяться на бэке, какие ошибки могут быть, что с ними делать и в конце как это сохранять).
    Ответ написан
    Комментировать
  • Как сделать чтобы пользователь мог управлять только собственными комментариями?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов есть несколько
    1) Авторизация и через нее уже аутентификация, простой вариант если на сайте уже есть регистрация. Самый надежный вариант, но естественно не всегда удобный.
    2) Куки с генерированным ключом пользователя, норм вариант, по сути авторизация на минималках, очевидный минус - привязка к браузеру и нет контроля со стороны пользователя
    3) Пароль при создании коммента. При редактировании запрашиваете введенный пароль и вот вам защита. В принципе самый простой вариант для быстрого введения функционала.
    Ответ написан
    Комментировать
  • Появление скрытие div через js?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Сейчас все работает криво. Не знаю как переписать скрипты? помогите разобраться!
    Код сам по себе "не айс"...
    Во первых не надо использовать инлайновый вызов функций в элементах, выносите это в евентлистенеры.
    Во вторых - логично было бы прятать все переключаемые элементы, а уже затем показывать нужный, вместо этого вы зачем то переключаете состояние выбранного элемента.
    В третьих - для передачи параметров удобно использовать дата атрибуты, тогда их легко использовать в листенерах через this.
    Ответ написан
  • Как реализовать условие?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Но при наведении первый элемент скрывается, но второй не появляется. В чем проблема, можете объяснить
    Где цсс, где разметка? Подозреваю что разметка рассчитана на более стандартные hide/show, а не на смену прозрачности (что само по себе дурацкое решение)...

    PS: Все работает, хотя конечно в идеале надо бы обернуть в документ реди...
    https://jsfiddle.net/1zkaexu0/
    Ответ написан
    5 комментариев
  • Как дополнить массив?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Чет вообще пошли вопросы уровня третьеклассников...
    $faucet_arr['status'] = 'ok';
    echo json_encode($faucet_arr);
    Ответ написан
    Комментировать
  • Как на jquery записать data атрибут в html?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $('.block').text().data('vin'); вы тексту как элементу пытаетесь задать дата атрибут. Посмотрите доку что-ли, как работает text().
    Ответ написан
    Комментировать
  • Как сделать чтобы кнопка на js сработала только 1 раз?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    removeEventListener()
    Ответ написан
    Комментировать
  • Не редактируется БД через PHP. Что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $id = $_GET['id'];
    $_id = mysqli_real_escape_string($link, $id);
    Ок, то что мы не умеем в подготовленные выражения вместо бредового "экранирования" пол беды, и даже не страшно что операцию так то можно в 1 строку прописать, но далее
    $name = $_POST['name'];
    $age = $_POST['age'];
    $salary = $_POST['salary'];
    Ну типа, ид мы проверили, на этом наши полномочия все...

    Файл Update.php не выдает никаких ошибок после введения формы, но при этом данные не вносятся.

    Во первых - перестаньте называть файлы в разном регистре, если это не классы!!!
    Во вторых - смотрим доку по mysqli, в частности рекомендуемая процедура подключения:
    <?php
    /* Вы должны включить отчёт об ошибках для mysqli, прежде чем пытаться установить соединение */
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
    /* Установите желаемую кодировку после установления соединения */
    mysqli_set_charset($mysqli, 'utf8mb4');
    printf("Успешно... %s\n", mysqli_get_host_info($mysqli));
    После этого уже можно что-то смотреть, например что вернул print_r ($check);...
    Ответ написан
    2 комментария
  • Почему выдает ошибку: Сайт выполнил переадресацию слишком много раз, когда ввожу header(Location: /)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) зачем require 'config.php'; в обоих файлах?
    2) судя по всему, код первого файла должен выполняться только при субмите формы, соответственно весь код должен быть обернут в проверку метода запроса, смотрите $_SERVER['REQUEST_METHOD'].
    Ответ написан
    6 комментариев
  • Можно ли и как обработать ajax в js?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Ajax, как я понял, существует для передачи данных на сервер и обработки ответа от него.
    Важное уточнение - без перезагрузки страницы. То есть как раз поведение противоположное тому что вам надо.

    Знаю, что можно сохранять их, например, в локальном хранилище или куках, но... Выглядит это не особо профессионально :D.
    Зависит от целей и задач передачи. Если данные чисто информационного характера, не влияющие на функционал серверной части, то хранение в куках или локалстораже оправдано (например некоторая кастомизация внешнего вида станиц на основе жс и переменных из локального хранилища). Защищенные данные обычно хранят на стороне сервера, например в сессии.

    А для передачи пользовательских данных обычно используются формы (пример - логин или регистрация), которые передают от одной страницы в другую зашифрованные данные либо как параметры урл (метод гет), либо через заголовки и тело запроса (метод пост).
    Ответ написан
    1 комментарий
  • VM719:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 ошибка?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Смотрим содержимое возвращаемого ответа от сервера, скорее всего там какой-то варнинг, заключенный в хтмл теги.
    Ответ написан
    1 комментарий
  • Как выбирать последующие записи в SQL?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    в пхп передаются параметры прошлого запроса (пофиг как, через куки, гет запросом, божественным откровением или сессионной переменной - не суть), а пых вычисляет новое смещение и передает его в запрос вида limit 10, 5 (про лимиты читать в доке)
    Ответ написан
  • Можно ли png преобразовать в svg например в адоб иллюстратор?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых какую линию и где там вообще круг справа? Волнистый замкнутый контур за спиной рисованного чувака?
    Во вторых - проще нарисовать от руки, так как это достаточно элементарные фигуры. Рисуем круг, делаем точку изгиба, множим до нужного числа, выбираем через одну, трансформ в центр - сгладить углы...
    Ответ написан
    Комментировать
  • Почему не срабатывает ajax и нет ошибок?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    открываем инструменты разработчика - нетворк, делаем клик, смотрим что и куда ушло, какой код вернуло, что попало в респонс и что ушло в пэйлоад. После этого думаем, что пошло не так, правим, наслаждаемся заслуженными аплодисментами...
    Ответ написан
  • Как вывести значения из базы даных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Значения из бд выводятся если вывести их print_rом но в нужных местах они не отображаются. echo data['price'] к примеру не отображается, title тоже
    Это трындеж. Если выводятся через print_r, то и через ечо должны выводится.

    Судя по коду, дело в лени (ну и настройках шорт тега).
    пишите нормальный открывающий пхп тэг, или пользуйтесь шорт ечо: <?=

    PS: и да, с выборкой разберитесь, или форич резалта, или вайл и фетч_ассок...
    Ответ написан