Ответы пользователя по тегу PHP
  • Почему сайты не подключаются к SMTP яндекса?

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

    Можно попробовать налюбить систему, включить отладку в пхпмэйлере через вербоуз, посмотреть что не нарвится серверу, и попробовать что-то подшаманить, но в целом это не надежно и такое себе решение, рано или поздно айпи внесут в бан и весь ваш сервис превратится в тыкву. Свой сервер настроить и запустить гораздо проще и на порядок надежнее.
    Ответ написан
    Комментировать
  • Почему при require происходит ошибка 500?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    https://www.php.net/manual/ru/filesystem.configura...

    Кроме того надо учитывать, что скорее всего у вас будет включен результат выполнения скрипта с хоста example.com, а не его содержимое (то есть по сути просто пустота).

    Но после того, как я открываю страницу у меня пишет ошибку 500.
    500 ошибка выдается если возник фатал ерор, но вывод ошибок скрыт. Либо смотрите лог ошибок пхп, либо включите вывод ошибок соответствующими директивами.
    Ответ написан
    1 комментарий
  • Почему долго загружается страница при подключении к базе данных?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    mb_send_mail по сути обертка над mail(), сильно сомневаюсь что с внешним smtp что-то будет работать. Тем более с гмэйловским, он и из пхпмэйлера не всегда заводится, но там хоть отладку можно нормально посмотреть. Короче, мой совет - ставь пхпмэйлер и разбирайся, этот код скорее всего работать не будет, и отладка на нем невозможна.
    Ответ написан
    1 комментарий
  • Почему приходит пустой 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
    Комментировать