• Можно ли реализовать авторизацию без cookies?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Есть ли способ сохранять пользовательскую сессию (между рестартами браузера и уходом со страницы) без использования cookies?
    Есть, кривые, косые, но есть.

    Какие минусы у localStorage?
    Ну, например нет автоматической передачи значений стоража на сервер при обмене заголовками...

    А чем вас куки обидели?
    Ответ написан
    Комментировать
  • Долгое чтение из Postgresql?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Как вариант - не писать в бд, а писать в файл, тогда сфинкс будет самое то.
    Ответ написан
    Комментировать
  • Есть код в PHP с img src но когда я открываю его в браузере то пишет img src(unknown)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть такой простой код, но, он не работает, почему то.
    Все работает, просто вы не умеете работать с данными (надеюсь пока что)

    Что делать

    Во первых научиться пользоваться var_dump(), убедиться что в $_SESSION['user']['avatar'] ничего нет, или лежит что-то неадекватное, проверить запись в бд и убедиться что там это поле пустое, ну или так же содержит что-то неадекватное.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    get_headers(), желательно использовать HEAD-запрос, а не GET, в доке есть пример как это делать.
    Ответ написан
    Комментировать
  • Iframe как альтернатива ajax и отправка POST запросов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    С точки зрения практичности и безопасности данный способ оправдывает себя?
    С точки зрения практичности - нет, так как это полная шляпа, мы такое писали в 2005, когда аякс как явление еще не существовал, а уже в 2012 появился нормальный XMLHttpRequest здорового человека, на который все быстренько переползли.

    С точки зрения безопасности вообще абсолютно монопенисуально каким способом вы отправляете пост запрос, внутренний механизм будет абсолютно одинаков.

    Задавшись вопросом безопасности отправки запросов через ajax
    Если возникают вопросы безопасности при отправке данных через пост - значит вы что-то не то передаете...
    Ответ написан
    Комментировать
  • Отправка копии емейл пользователю?

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

    Можно переписать функцию sendEmail(), добавив в конец необязательный параметр емэйл, котрый по умолчанию пустой, и если он пустой - брать из константы, в противном случае использовать его значение как емэйл отправки.
    Ответ написан
    2 комментария
  • Взять рандомную строку с удалением?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    запрос для выборки рандомной строки с удалением.
    Так для выборки или для удаления?
    Во первых - задача какая стоит? По описанию похоже на лютый треш.
    Во вторых - ордер бай ранд - ОЧЕНЬ затратная операция, ее лучше не использовать на более-менее больших таблицах.
    В третьих - WHERE `имя_поля` IN (select `имя_поля`... , но вроде более старые версии мускуля такое не поддерживают.

    Если вы нормально опишете зачем вы удаляете рандомную строку, будет проще понять что надо сделать на самом деле.
    Ответ написан
    9 комментариев
  • Статистика. Как "вытащить" в одну строку данные за 2 даты?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    В чистом виде скорее всего это будет какой-то треш, типа вычисляемых подзапросом полей, по этому:
    1) Не понятно почему бы не получить это строками и обработать уже программно
    2) Можно сгруппировать и конкатинировать, но так как все равно это не будет отдельным полем, тоже понадобятся некоторые программные манипуляции.

    И какова цель всего этого?
    Ответ написан
  • Чем отличается innerText от ручного ввода с клавиатуры?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть сайт PHP 7.4
    Разбить на блоки проверки с замером таймингов, посмотреть какой кусок тормозит, далее уже можно сделать выводы о производительности, кэше, бд и что вообще происходит хотя бы понимать. А так - тыканье пальцем в лужу ответов не даст.
    Ответ написан
  • Из за чего SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    во первых укажите сразу что вы получаете json, тогда все эти var message = JSON.parse(data); не нужны, у вас сразу будет объект.
    $.ajax({
        type: 'POST',
        url: '/recloud/modules/cabinet/engine/handlers/handler.php',
        data: 'operation=activate_gift&code=' + code,
        dataType: 'json'...

    Во вторых очевидно что с сервера пришел не json, что легко проверить открыв инструменты разработчика хром и вкладку нетворк. Что с этим делать уже совершенно отдельный вопрос.
    Ответ написан
    4 комментария
  • Как правильно указать время в PHP?

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

    Так как с датами "в голове" иногда сложно сопоставлять, для себя делайте умственную проверку:
    if($now_date_unix (пусть будет 27 число) > $otp1end_unix (пусть будет 17 число)) {
       // тут надо подумать и написать правильный вариант )
    }...
    Ответ написан
    Комментировать
  • Resource: что из себя представляю потоки в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Официальная дока же вполне нормально объясняет. Если коротко - это общий интерфейс к последовательному набору данных, который позволяет читать, писать и искать в этих данных (как в файле). И все это в едином стиле. Интерфейс такой, типа. Грубо говоря нечто вроде юниксовского подхода "все на свете это файл".

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Локализация (хорошая) всегда держится на кастомных наборах переводов, обычно это или таблица в бд, либо файлик с массивом, который правят по ходу наполнения сайта. Как конкретно реализовывать зависит от многих параметров, в том числе и от наличия готовых решений для используемого фреймворка. Ну или свое что-то пишут. Но смысл всегда примерно один - итоговый массив с ключами типа
    $translate = ['welcome'=>['ru'=>"Приветики",'jp'=>"Komichiwa"]...];
    Как достать значения по ключу думаю не надо разжевывать?..
    Ответ написан
    2 комментария
  • Как из preg_match получить ссылку на фото?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $pattern1 = '#<img.*src="([^\s]+)".*>';
    Ответ написан
    Комментировать
  • Как получить информацию по введенному пользователем в поиске запросу?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $t = '<p>qwe asd zxc.cvb dddfg. dfgdfg dfgdfg.ddg ertert. dfgdfg</p>';
    
    function repl($matches){
        return $matches[1].preg_replace('#(\.)+([^\s\.])+#', '$1 $2', $matches[2]).$matches[3];
    }
    
    $result = preg_replace_callback('#(<p>)([^<]+)(<)#', 'repl', $t);
    var_dump($result);
    Ответ написан
  • Почему функция confirm($txt) возвращает старый(прошлый) текст файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...
    var confirm = confirm(txt);// здесь получаем тру или фалс, ок...
    ...
    data: "confirm=" + encodeURIComponent(confirm) //здесь его енкодим и отправляем на сервер зачем-то...
    ...
    return filter_var(file_get_contents('text.txt'), FILTER_VALIDATE_BOOLEAN);//читаем файл, получаем из него значение...

    При выполнении функции вы выводите в браузер яваскрипт, и тут же запрашиваете содержимое файла. Так как вывод в браузер и выполнение функции жс в браузере происходят с серьезной задержкой, естественно вы получите "старое" значение, причем новое скорее всего будет содержать какой-то бред по типу 'true'/'false' строкой, судя по коду.
    Ответ написан
    Комментировать