Ответы пользователя по тегу PHP
  • Почему выдает ошибку Uncaught Error: Call to a member function prepare() on null при передаче данных через ссылку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Call to a member function prepare() on null
    Из ошибки очевидно что $db->dbs у вас нулл (не существует), дальше рассказывать или сами догадаетесь?
    Ответ написан
    6 комментариев
  • Почему при добавлении в одну таблицу, информация добавляется в обе?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Что я делаю не так?
    1) Не используете подготовленные выражения в SQL
    2) Не приводите текст ошибки, как и код, который ее вызывает
    3) $LANG, $FORM, $isunexist и скорее всего еще куча криво названных переменных
    4) Скорее всего, не используете конкатенацию
    $_SESSION['dotoaster'] = "toastr.error('".
    $LANG['n_error'].
    " <strong>Invalid input format!</strong>', 'Error');";
    Ответ написан
    Комментировать
  • Как решить проблему с кодировкой?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Скорее всего дело в настройках сервера, в частности default_charset в настроечном файле пхп.
    для точного обхода данной проблемы можно сделать так:
    if (ini_get('default_charset') == 'utf-8' || !ini_set('default_charset', 'utf-8')) {
       header('Content-Type: text/html; charset=UTF-8');
    }

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

    Открываю проект на том веб-сервере, а там нотисы.
    А тут скорее всего ваш косяк, по тому как при разработке рекомендуется выставить уровень оповещения в E_ALL. Добавьте туда же
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    Ответ написан
    3 комментария
  • Как передать массив из input в БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Зачем там цикл, если после первой итерации скрипт завершает работу по редиректу?
    2)
    $q = "INSERT INTO `zakaz` (`id`, `name`, `price`, `quantity`) VALUES (NULL, '$names', '$prices, '$quantities')";
    echo $q; // вставляем руками в пхпмайадмин или из консоли, смотрим все ли на месте или есть ошибки
    mysqli_query($connect, $q);
    Ответ написан
    Комментировать
  • Как вырезать слово из строки, которое похоже на другое слово?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Скорее всего все ники просто переводятся в нижний регистр, по этому без всего этого изврата можно сразу получить нормальное отображение $player = strtolower($_SESSION['player']);

    2) Если нужен именно секс как процесс - $newNick = array_pop(explode('/', $href));
    Ответ написан
    1 комментарий
  • Как в phpQuery, в методе ->find, сделать проверку на атрибут?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как можно реализовать это?
    Если я правильно понял, вам нужно сравнение без кейс сенситив.
    Будем считать что у вас адекватный архитектурный подход и для хранения данных используется БД. Тогда вариантов два:
    1) Магия strtolower(). При регистрации все данные перегоняем в нижний регистр и так и записываем. Соответственно перед выборкой тоже делаем искомой строке strtolower().
    2) Задаем таблице кодировку с постфиксом _ci, то есть кейс инсенситив. Тогда выборка будет игнорировать регистр, и в выборке GazEs12 = gazes12.
    Ответ написан
    7 комментариев
  • Соединения 2 файлов в один со соединением?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    мне нужен чтобы он соединял файлы вот так 12355:13747
    Если речь идет об объединении содержимого файлов через двоеточие, то добавьте его перед file_get_contents, то есть $file_content .= ':'.file_get_contents('1.txt');
    Ответ написан
    Комментировать
  • Как разделить верстку html и бизнес-логику php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На бэке шаблоны + любой фреймворк/самопис, способный выдавать что-то типа rest api.
    На фронте соответственно шаблоны инициализируют что-то типа react/vue, которое уже стучится в апи, получает данные, рисует новое состояние.
    Ответ написан
    Комментировать
  • Как обновить данные из БД с помощью AJAX?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) У вас криво вставлена разметка, вы там теги штоле нормально расставьте
    2) оба селекта имеют одинаковое имя: select name="profession"
    3) В чем собсно проблема? Не нашли как отправить значения формы аяксом? (Результатов: примерно 1 120 000)
    Ответ написан
  • Как исправить ошибку?

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

    PS: Вообще на ваши вопросы ответы есть, а отмеченных решений нет, что говорит либо о наплевательском отношении к людям которые вам помогали, либо о незнании что вообще такой функционал существует (сомнительно) и помогает другим решать похожие проблемы .
    Ответ написан
    7 комментариев
  • Php фреймворки ещё живы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    запрос Гугл laravel Результатов: примерно 44 600 000 (0,78 сек.)
    еще вопросы?
    Ответ написан
    Комментировать
  • Как отправить почту через PHP с использованием SMTP?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как достать картинку из видео файла при помощи js или php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ffmpeg
    Ответ написан
    Комментировать
  • Как исправить ошибку запроса кУРЛ?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    verbose
    Ответ написан
    Комментировать
  • Какие есть книги по расчёту оборудования под инфраструктуру сайта?

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

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

    В третьих - профиль нагрузки у очень похожих приложений может сильно отличаться, в силу специфики приложения.

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

    Как с этим жить?
    Нагрузочное тестирование на спектре нагрузок, аппроксимация роста нагрузки с ростом операций, расчет от текущего железа вверх согласно предсказанному росту нагрузки. Пока ничего умнее не придумали.
    Ответ написан
    Комментировать
  • Как подключить css и js файлы в админку для авторизованных, если они находятся выше public?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Выводится только "соединение установлено", а так - ничего
    Во первых - включить вывод ошибок, в логи же вы не смотрите...
    Во вторых - куча ошибок, непонятно откуда вообще появившихся. Все плохо.
    $link = mysqli_query($link, "SELECT * FROM 'table-name' WHERE USER_ID = 1620");
    Сам линк зачем-то затирается результатом выполнения запроса, внутри запроса имя таблицы зачем-то в кавычках (либо убрать, либо использовать обратные кавычки), потом вообще повтор и бред -
    $query = "SELECT * FROM 'table-name' WHERE USER_ID = 1620"; //снова кривой запрос, теперь уже в переменной, зачем?
    $result1 = mysqli_query($link, $query) or die(mysqli_error($link)); //Линк тут уже заменен результатом выборки, 
    //так что там не ресурс подключения, но варнинги мы не смотрим, так что пофиг же, да?

    Похоже что код взят из какого-то туториала 15летней давности, и над ним издевался ничего не понимающий вивисектор...
    Ответ написан
    Комментировать