Ответы пользователя по тегу PHP
  • Собеседование php программиста, какие технологии, кроме php/sql/фреймворка нужны?

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

    Во вторых - 90% вакансий пхп подразумевают "нам нужен фуллстек, но основной код на пыхе, ангулара не будет".

    Ну и в третьих по сути вопроса:
    сомневаюсь, что на вакансию джуна будет человек, знающий jquery,ajax запросы, да еще и связав их между собой и php.
    Не сомневайтесь, там делов на 5 минут посмотреть как это делается и понять как работает, дальше все обычно просто. А используется все это практически в каждом проекте. Короче жс худо-бедно но надо знать.
    Ответ написан
    Комментировать
  • Почему PHP-функция str_replace не видит букву ё, а mb_convert_encoding превращает её в "?"?

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

    У вас там 2 разных "ё" - пример
    Ответ написан
  • Как сделать вывод последнего сообщения между двумя юзерами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    сообщение - это три значения: id, from_id (отправитель), to_id (получатель), msg (сообщение).
    Точно три??? А то я плохо считаю на пальцах... А еще неплохо было бы дату сообщения как то хранить, и собсно по ней сортировать...

    Мы получим дупликаты. Как поступить?
    Дубликаты чего?

    Как поступить?
    Зависит от того что вам нужно, в приведенных запросах вы получаете всю выборку, так как лимит на количество записей у вас не обозначен. Последний запрос с ограничением в одну запись я думаю подойдет, но я бы все же рекомендовал добавить дату (чисто по логике- хотелось бы знать кто и что когда кому отправлял) и уже по дате делал ордер.
    Ответ написан
    Комментировать
  • Почему перестал работать file_get_contents?

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

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

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

    Я бы хотела передавать этот ключ когда пользователь заполняет форму авторизации, что бы прописать, что если логин: Петя, то передаем ключ 123, если логин Вася передают ключ 443.
    Очень интересно как вы будете знать что это Петя, если пользователь еще не авторизирован?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как абсолютно верно заметил Роман Юрьевич Ипатьев, проблема не в вызове аргументов, а в абсолютно нелогичном подходе к архитектуре, которая тут просто швах...

    Просто на будущее - архитектура в разы важнее скорости исполнения, так как ресурсов всегда можно накинуть, а с кривой архитектурой ни поддержка, ни нормальная работа невозможна. Вы экономите 2 байта на каких-то мелких манипуляциях через Ж, при этом в коде совершенно невозможно разобраться, а любая модификация функционала может уронить весь проект или заставить менять код в 40 местах.

    Файл RouteController.php обрабатывает URL
    уже плохо, контроллер не должен знать что-то про урл и прочие переменные извне. Для этого есть роутер и реквест.

    и делает вывод о типе контроллера (гость, авторизованный пользователь или администратор).
    Как тип контроллера соотносится с ролью пользователя?

    Создаёт объект этого контроллера и отправляет в него аргументами (str)имя контроллера и (str) полученный URL.
    У вас же уже вызван контроллер, RouteController.php, либо он не контроллер, либо зачем тогда снова контроллер создавать? И зачем ему урл?

    Эти аргументы попадают в родительский контроллер файла Controller.php и оттуда далее используются в условном ветвлении и передаются в соответствующие функции, где дальше из этих функций опять передаются в нужные функции.
    Сложнааа, слоожжнаа (с) Карина. Очень запутанно и очень странно работает ваша творческая мысль.

    На самом деле все проще и сложнее одновременно. Понимаю что на основе разрозненных "слышал звон" вы попытались создать что-то свое, в надежде создать лучшее светлое будущее для всех, но, короче, ничего не получилось.

    Про то как оно примерно должно работать рассказывать наверное не стоит, чтобы не смутить ваш творческий поиск готовыми решениями. Если будет интересно - Дмитрий скинул вам замечательный курс от Елисеева, прям рекомендую.
    Ответ написан
  • Как удалить тег и содержимое с помощью preg_replace?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Xpath, simpleXml.
    Ответ написан
    Комментировать
  • Почему fetch() возвращает bool?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вас все смешалось, соединение, стэйтмент, резалт...
    ....
    if (!$stmt->execute()) 
          {
              echo "Не удалось выполнить запрос: (" . $stmt->errno . ") " . $stmt->error;
          }
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();
    var_dump($row);
    Ответ написан
    Комментировать
  • Как расшифровать кусочки AES из аудио ВКонтакте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    VK Music Saver скачиваешь и колупаешь до посинения, я просто поставил и забыл )
    Ответ написан
    7 комментариев
  • Как отправить SMS без отправки формы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пыталась ещё с curl разобраться, наверное туда и нужно копать?
    да, туда и нужно. Смотрите примеры работы с курл, их много, легко гуглится. Можно тупо подключить их библиотеку, как советует Сергей delphinpro, что дает сразу готовые функции по всем основным действиям с апи сервиса.

    Вообще запросы к апи на 90% выполняются в формате сервер-сервер, крайне редко клиент-сторонний сервер...
    В вашем случае должно быть что-то вроде: аяксом запрашиваете со своего сервера данные, ваш сервер создает запрос к апи сервиса, получает данные и возвращает в ответе аякса. Все ключи / логины / пароли передаются только от сервера к серверу, на фронте никоим образом не должна светиться подобная инфа.
    Ответ написан
    Комментировать
  • Почему цикл не останавливается?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как правильно получить JSON через PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Первое что надо проверить - открывается ли данный урл с машины (например из wget), если доступна консоль, или с помощью исполнения команд из пхп. Ну или как вариант - verbose в курл включить и посмотреть что там вообще происходит.
    Ответ написан
    Комментировать
  • Почему скрипт php не завершает свою работу после ухода пользователя?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Опять 25... Учимся искать свои косяки:
    0)
    Есть форма, я вставил туда код чтобы брать метки
    В коде у вас нет формы...

    1) проверяем что поля формы содержат нужные данные (открываем страничку с меткой, смотрим форму инспектором, проверяем что в нее что-то вообще попало)

    2) Открываем в браузере инструменты разработчика, вкладку нетворк, при отправке формы смотрим что форма отправила все данные нужным методом и с нужными данными.

    3) На сервере через var_dump() проверяем какие переменные пришли постом/гетом

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    открыть вашу пхп страницу в браузере и ctrl+s не подходит?
    Ответ написан
  • Как вывести итальянский в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Кодировка страницы + кодировка соединения + кодировка таблицы в бд + желательно дефолтная кодировка в пхп.ини = utf-8
    Ответ написан
    4 комментария
  • Где хранить аутентифицированного пользователя?

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

    По сути в объекте пользователя нет необходимости хранить все данные, можно вообще хранить только логин, айди, что-то часто используемое и статус залогинености, и все это кинуть либо в массив вообще, либо в стдкласс.

    Хранить в сессии норм, хотя некоторые топят за постоянную актуализацию из бд, оба подхода имеют как плюсы так и минусы, расписывать долго, факт - оба подхода имеют право на жизнь, а есть варианты специфики проекта, когда подходит только какой-то один.
    Ответ написан
    Комментировать