Задать вопрос
Ответы пользователя по тегу PHP
  • Почему приходит пустой AJAX запрос из контроллера в Laravel?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if($request->ajax()){
       echo $request->orderBy; // ретурн тут до жопы, кому ты его возвращаешь?
       exit(); // иначе дальше выполнение идет и как раз получаешь всю страницу.
    }

    Естественно надо проверить что условие выполняется, а $request->orderBy не пустой и содержит строку/жсон.
    Ответ написан
  • Yii2 как скачать файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $file = \Yii::getAlias('@web' . '/doc/'); Во первых зачем там конкатенация?
    Во вторых - это же папка, а не файл, что вы там скачиваете?
    Ответ написан
  • Почему сервер не даёт получить file_get_contents() с самого себя?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    0) нахрена, а главное - зачем тянуть внутренние файлы через веб? документ_рут + вашфайл.тхт его замечательно откроют
    1) Скорее всего на хосте стоит файервол и маршрутизация, настроенные на исключение циклических линков внутрь сайта (что нормально).
    Ответ написан
    1 комментарий
  • Оптимальное хранение данных в БД?

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

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

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

    Ну и в третьих - какие-то проверки неплохо бы сделать перед вставкой, if (isset($_POST["name"])) это вообще смешно, я туда могу пробел вставить, или просто прислать пустое значение, как и в описание кстати... про сплошные дыры через инжекции вообще молчу, никаких проверок, про подготовленные выражения тоже никто никогда не слышал...
    Ответ написан
    Комментировать
  • Как настроить корректное отображение кириллицы с бд в YII?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    USE your_database_name;
    show variables like "character_set_database";
    Ответ написан
    2 комментария
  • Как исправить ошибку Uncaught Error: Call to a member function fetch_assoc()?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вылезла такая ошибка после переноса сайта:
    1) Первое что надо проверить - правильность данных для подключения на новом хостинге.
    2) Далее,
    <?php
    $conn = mysqli_connect("localhost", "root", "pass", "table");
    if ($conn === false) {
      die("Ошибка: " . mysqli_connect_error());
    } 
    mysqli_close($conn);
    ?>

    Если это полный код, и он как-то относится к коду в вопросе, то во первых $conn и $link - что-то одно неверно названо или используется, во вторых mysqli_close($conn); закрывает только что открытое соединение, и тогда вопрос - какой упоротый пингвин это писал?

    3) После require_once 'connect.php'; сделайте var_dump($link ); exit();, будет понятно установилось ли соединение, хотя по уму конечно же надо переписать подключение нормально. Ну и проверить какую переменную вы на самом деле должны использовать - $conn или $link ...
    Ответ написан
    Комментировать
  • Не проходит авторизация?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Прочитайте внимательно про биндинг, а точнее про именованные и неименованные псевдопеременные, а то у вас каша получилась.
    Ответ написан
    Комментировать
  • Почему выдает ошибку 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 комментариев