Ответы пользователя по тегу PHP
  • (PDO) Ошибка при подключении к MySQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Смотреть логи, все что происходит на серверах хостеров обычно сопровождается кучей логов, в данном случае логи пхп должны помочь.
    2) В хостинг панели в настройках бд обычно указаны данные для коннекта, возможно у вас нестандартный порт подключения или еще какие триксы от хостера. Смотрите настройки в панели.
    3) Если хостинг позволяет - включите вывод ошибок и варнингов, это сильно упростит работу по установке и настройке.
    PS: как совсем безумный вариант - пдо не включен в списке расширений пхп для этого хостинга, если там есть настройки пхп - проверить, но это и по логам должно быть видно.
    Ответ написан
    3 комментария
  • Какой метод / формат для хранения данных при редком использовании?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вот, например, надо сделать простейшую фотогалерею.
    На вашем примере, что бы было понятно на пальцах, заранее прошу прощения у присутствующих за примитивизм. В данном случае у вас будет коллекция объектов, которая тоже объект, это как массивы, если примитизировать понятия до упора, одни могут быть вложены в другие. Делаете допустим так:
    $image= new Image(); //создаем пустой объект имаж, чтобы иметь его настройки(таблица, поля...)
    $gallery = new Collection ($image); //создаем новую коллекцию объектов типа имаж, пока пустую.
    $gallery->getCollectionByField(array("galleryid"=>"64")); // инициализируем из базы, используя
    // ид галереи, теперь в гэлери одной строчкой мы загрузили все картинки в свойство (например),
    // $gallery->collection  и можем к ним обращаться как к элементам массива, и в свойстве
    // $gallery->collection[1] будет объект типа $image. Как вариант реализации.

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

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

    ps:
    ваш код - почему бы не писать так:
    $post=BLOG::getPost($айди_поста);
    // меняем 
    $post = new Post($айди_поста);
    
    echo $post['content'];
    // меняем 
    echo $post->content; // не обязательно так, может вот так:
    echo $post->getContent(); // тогда при выводе можно будет сделать какую-то предварительную обработку, 
    //заменить тэги, еще что-то...
    
    $comments=BLOG::getComments($айди_поста);
    // меняем
    $comments = new Comments($post);
    echo $comments->getTree(); // хотя тут скорее всего от вьюшки зависит, я бы тут возвращал не 
    // строку, а массив для итератора, это правильнее для разделения на мвц, мухи отдельно - 
    // котлеты отдельно, в смысле код и хтмл.
    Ответ написан
    Комментировать
  • Как сделать правильную обработку формы в данном случае?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Слушайте, ну уже пхп7 вышел, уже пхп4 10 лет как не актуален, НУ ОТКУДА ВЕСЬ ЭТОТ МУСОР ИЗ 90х??? Неужто так сложно прочитать про ооп и мвц, ну пусть мвц не сразу, но хоть понятие объектов, вы же такой говнокод небось еще и в рабочем проекте использовать будете? Вам же нужно как-то потом людям в глаза смотреть! Не стыдно?
    Ответ написан
    2 комментария
  • Как экспортировать данные с сайта в текстовый файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Есть ли PHP-библиотека для поиска в JSON с помощью SQL-запросов?

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

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

    Решение - либо исправлять первое, и переписать часть кода апдейта прайса, либо второе и ввести порядок на складе и в бухгалтерии.
    Ответ написан
    Комментировать
  • Почему текст при заполнении формы не попадает в текстовый файл?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если очень в лом каждый раз набивать, задайте линк с логином и паролем:
    http://user:password@www.example.com
    выдайте каждому юзеру и спите спокойно, если секюрити не так уж критично.
    Ответ написан
    Комментировать
  • Как обособить динамический css и javascript?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Бывает что при разработке приходится делать стили и скрипты динамическими.
    это редкая и странная практика.
    или это все из-за плохих решений в процессе разработки и можно по-другому?
    именно так, обычно одного - двух файлов стиля хватает для всего. Если это кастомные настройки странички пользователя "под себя" - да, можно сделать что-то типа
    <link href="/customcss.php?mode=vasea" rel="stylesheet" type="text/css" media="all">
    для нескольких настроек, которые перекроют стили из основных файлов, но это реально редкий случай.
    Ответ написан
    Комментировать
  • Как заглушить php скрипт запущенный без ограничения работы по времени?

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

    Не понятно что за "возникает потребность"? Или он долго работает(дольше чем хочется) и тогда нахрена выключать таймаут скрипта, или вы хотите чтобы он типа работает, и "ой, чет долго, СТОП МАШИНА!" и он раз и остановился. Так не канает, поезд заголовок уже ушел.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов 2:
    1) API удаленного сайта с возможностью принимать запросы с данными(если не в курсе - гуглить API)
    2) Настроить доступ к базе удаленного сервера извне, конектиться к нему напрямую и вносить данные прямо в бд.
    Ответ написан
    2 комментария
  • Как проверить был ли совершён репост с сайта?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    JavaScript (удобнее JQuery), ajax, php
    Ответ написан
    Комментировать
  • Как получить ответ от сервера после ajax запроса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    success: (function (response) {
                    console.log(response.msg);
                    alert(response.msg);
                })

    вроде
    и проверить бы на ошибку
    $.ajaxSetup({
                error: function (x, status, error) { alert("An error occurred: " + status + " nError: " + error);}
    Ответ написан
  • Нормально ли управлять данными статической страницы с помощу массива php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Задача положить текстовый файлик в папку, и оттуда брать данные? НУ так с форматом разберитесь и вперед, можете json писать, можете прям как в номальном пхп, и сразу использовать:
    <?php
    $settings = array(
      "name"=>"vasea",
      "family"=>"pupkin"
    );
    ?>

    и сразу инклудить и использовать.
    Ответ написан
  • Как следить за временем ответа от php?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    echo  "<td>" ."<input type = 'text' name = 'errortype[]' value = '". $arr1['type']  . "'>" . "</td>";

    и
    <select name = "errortype">
    ни на какие мысли не наводит?
    Ответ написан
    1 комментарий
  • ORM, класс для быстрого занесения формы в БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Хм, а что если обернуть это в метод db... да не, бред какой-то.
    Ответ написан
    Комментировать