Ответы пользователя по тегу PHP
  • Вылазит ошибка, как исправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Читаем правила и оформляем нормально код
    2) Не ошибка, а предупреждение
    3) "Ошибка" легко ищется поисковиком или думается головой
    4) Для тех кто все еще в танке и 19 веке - в массиве отсутствует индекс msg (хорошая практика - проверять нужные поля на существование/непустоту)

    UPD: 5) Плохая практика - использовать глобальные переменные внутри функции.
    Ответ написан
    1 комментарий
  • Есть ли смысл передавать $_POST в качестве параметра?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
  • Как расчитать рабочее время?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    не работает
    Все работает, другое дело что вы допускаете ошибки, и код делает не то что вы ожидаете.

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

    Что нужно сделать:
    Во первых оформить вопрос чтобы его можно было прочесть и понять.
    Во вторых привести ошибки: 1) из консоли браузера, если таковые есть, 2) из логов сервера, или как более логичный для разработчика вариант - включить вывод ошибок и посмотреть в чем проблема.
    Ответ написан
    3 комментария
  • Как можно получить сколько дней в этом году php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    date('z',strtotime('31.12.2001'));
    или проверить на високосность, параметр "L".
    Ответ написан
    Комментировать
  • Не получается сделать сравнение числа из базы данных и input. Ниже подробности. Как?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Создается рандомное число $data['randomNumber'], отправляется на email и базу данных.
    Пока все логично.

    Если все хорошо, то отправляет на другую страницу
    Хм, а если плохо? И что такое "хорошо" в вашем коде?

    $one = $data['code'];
    $two = $data['randomNumber'];
    И вот тут вопрос: откуда у вас взялись $data['code'] и $data['randomNumber']?
    Как только вы сообразите откуда их взять сразу все заработает.
    Ответ написан
    Комментировать
  • Почему возникает ошибка в PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) установить вывод ошибок в индексном файле/единой точке входа:
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    2) читать ошибки во вкладке нетворк.
    Ответ написан
    1 комментарий
  • Как параллельно вывести из 2х баз данные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Не надо называть контроллером то, что им не является.
    2) Если у вас 2 дб - не надо в одном объекте их инициализировать, нужно создать 2 объекта (по 1 на дб) со своими настройками.
    3) WHERE id - просто шикарное условие.
    4) $_POST, $_GET и вообще сырые данные приходящие с фронтенда в запросы вставлять категорически нельзя. Во первых их надо хотя бы базово валидировать, во вторых для этого есть prepared statements.
    5) Чем вообще обусловлено разделение данных на 2 базы? Похоже что вы что-то не так делаете изначально, на уровне проектирования структуры данных.
    Ответ написан
    5 комментариев
  • Искажается хеш из MySQL при проверке пароля - как поправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Первый вардамп не проходит, во втором (где сам генерит и сам проверят ) - все нормально.
    Соль?

    Что мешает вывести во втором варианте дамп полученного хеша и посмотреть чем отличается от того что лежит в мускуле?
    Ответ написан
  • Можно ли формировать sql запрос таким образом?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) id = 'value' это наверное `fieldname` = 'value'?
    2)
    на php получаем этот массив, перебираем массив и записываем в строку ($str) значения "id = 'value'"
    можно заменить на implode(',', $array);, но это все равно плохо, см. пункт 3.
    3) Вставлять переменные проверенные яваскриптом на фронтенде в запрос - ОЧЕНЬ плохая идея, данные во первых надо проверять на стороне сервера, а во вторых использовать подготовленные запросы, иначе в один прекрасный день все ваши данные превратятся в тыкву.
    Ответ написан
  • Как сделать форму Связи с пользователем?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На фронтенде пишете форму с нужными полями
    На бэкенде пишете скрипт принимающий данные из формы, + санитайз/валидэйт
    Чистые данные передаем в функцию отправки почты, можно mail(), но это не лучший способ, лучше использовать PHPMailer или другую библиотеку работы с почтой.
    Ответ написан
    Комментировать
  • Как можно реализовать проверку на админа?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) json_decode() по умолчанию вернет объект, чтобы получить массив нужно вторым параметром добавить true.
    2) Функция:
    а)называется is_admin(), а по факту определяет все что угодно.
    б) Возвращает не да/нет(что как бы должна), а 3 разных значения
    в) Третье значение false - пишется без кавычек, это булев тип данных.

    p.s я новичок в php
    Общие принципы которые здесь нарушены относятся к любому языку, не только к пхп.
    Ответ написан
    1 комментарий
  • Почему на почту приходят пустые прикрепленные файлы?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    но как будет.. Правильнее? Выразительнее? Назови я её Classes, было бы.. Хм. Странно (для нэймспейса) App\Classes\DatabaseManager
    Правильнее все же разделить на Model/Controller/View, ибо это самый логичный с точки зрения жизненного цикла пхп способ (да и не только пхп). Все что работает с сущностями - модели, отображения в хтмл/хмл/жсон - вьюшки, конторллеры... ну - контроллеры собсно. Если у вас есть вещи базового характера - ДБ b прочие - как раз lib (так как они являются по сути "сторонними" приложениями /библиотеками, которые в процессе разработки практически не меняются).

    ├── config              # Для всех конфигов
    ├── public              # Для публичного контента
    │   └── index.php       # Точка входа
    ├── src                 # "App\" для автолоуда, непосредственно приложение
    │   ├─ Controllers 
    │   │   ├─SomeController.php
    ...
    │   ├─ Models
    │   │   ├─User.php
    ...
    │   ├─ Views
    │   │   ├─index
    │   │   │   ├─index.php
    ...
    │   ├─ Lib
    │   │   ├─DatabaseManager.php
    ...
    Ответ написан
    Комментировать
  • Как обработать входящий объект в phpmailer?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это у вас строчка в формате json, соответственно если хотите ее обрабатывать средствами пхп, преобразуйте в массив или объект пхп.
    json_decode()

    UPD: у вас скорее всего все нормально приходит, просто вы какие-то странные поля в $_POST ищете, отправляете selectmaterial, а ищете email и т.д. В коде перед присваиванием сделайте var_dump($_POST), и посмотрите что вам пришло.
    Ответ написан
    6 комментариев
  • Снова про кеширование запросов к БД, как сделать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    первое: WHERE `title` LIKE '%".$query."%' - уберите полный вайлдкард, LIKE '".$query."%'будет работать быстрее и использовать индекс, в отличие от первого варианта. У вас же не нужно выбирать "Калининград" по "град".

    Второе - индексы подлиннее на текстовые поля, там где помещается в варчар - делайте варчар с индексом. Тогда скорее всего кеш не понадобится.
    Ответ написан
  • Как парсить цены в выдаче авиабилетов?

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

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