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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    private function getURI()
        {
            if (!empty($_SERVER['REQUEST_URI'])) {
                return trim($_SERVER['REQUEST_URI'], '/');
            }// а если пустая, че, возвращать уже ничего не надо?
        }

    и да, что мешает выделить все админские финтифлюшки в папку Admin, задать неймспейс и прописать автолоад.
    Ответ написан
  • Notice: Undefined index: message in, кто подскажет?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    БАЗЫ, вам не хватает БАЗОВЫХ ЗНАНИЙ, как вообще все работает, от этого у вас в голове КАША, в коде ЛАПША и в знаниях ДЫРКА ОТ БУБЛИКА. Вот такая хреновая кулинария. Возьмитесь за книжки/мануалы. И английский технический подтяните.
    Ответ написан
    Комментировать
  • Как сделать свой "компилятор"?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    define ("debug", true);
    function debug($var, $comment){
         if(debug){
             echo "// $comment //\n";
             // do debug stuff
         }
         return;
    }


    На продакшене ставите в false -> профит!
    Или, если читать ваш ответ об отсутствии чего-бы то ни было в одной версии - гит с отдельными бранчами.
    Ответ написан
  • Как оптимизировать запрос к БД MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    nested sets, рекурсивные функции.
    Ответ написан
    Комментировать
  • В чем ошибка в php скрипте редактирования данных в бд?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    // если запрос POST
    if(isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['id'])){
    это нифига не гарантирует что запрос пост
    $query ="UPDATE `orders` SET `name`='$name', `phone`='$phone' WHERE `id`='$id'";
    var_dump($query);

    и пробуйте его через консоль/майадмин запустить, скорее всего "что то пошло не так" при передаче переменных.
    Ответ написан
  • Реализация MVC для Wordpress?

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если оба сайта принадлежат вам (у вас есть доступ к исходникам обоих сайтов) тогда задача решается, хотя и не без танцев с бубном и камасутры. Если один из хостов вам не принадлежит (особенно тот с которого вы пытаетесь получить скрипт) задача решения не имеет, во всяком случае в данной формулировке. Причина банальна и ясна любому, кто хоть немного понимает принцип работы серверных скриптов.
    Вы объясните что вам нужно сделать на самом деле, по тому что то что вы делаете похоже на попытку попасть из пушки 19 века по Луне. Визуально все просто, на деле все совсем не так.
    Ответ написан
  • Php и MVC, как правильно реализовать многораздельный сайт?

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Artem0071: задача какая? Сохранить секретность прямых ссылок на файлы? Тогда file_get_content, примерно так:
    header('Content-Disposition: attachment; filename="somefile.jpg"');
    header("Content-Type: application/octet-stream");
    header("Content-Length: " . filesize($outputName));
    echo (file_get_contents($outputName));
    если не принципиально - хеадер типа такого:
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment;filename=somefile.jpg ");
    header("Content-Transfer-Encoding: binary ");
    Ответ написан
    6 комментариев
  • Как в PHP PDO узнать какой запрос с параметрами выполнился?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Никак, пдо так не умеет, ибо подстановка осуществляется движком бд, сначала интерпретируется строка запроса, затем в нее попадают данные из плейсхолдеров. Самый простой способ в вашем случае заменить bindParam на массив, а в строке запроса вставить "?". Как то так:
    $sql = "UPDATE $order_navigator_table SET date_registration=? WHERE c_id=?";
    $stm = $pdo->prepare($sql);
    $data = array($_POST['date_register'],$_POST['order_uid']);
    $stm->execute($data);
    var_dump($sql);
    var_dump($data);

    дальше можно руками вставить и проверить.
    Ответ написан
  • Как с помощью php читать из файла txt только вторую строку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $show_info = file('events/kp1/dungeon1.txt');
      echo $show_info[1];
    Ответ написан
    2 комментария
  • Какая должна быть правильная авторизация на php?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это опять очередной велосипед с "гениальной" идеей делать какие-то мелкие действия по истечении времени. 50% на то что в базе должно меняется "по крону" какое-то поле типа устарело. Включите мозг, решения не всегда такие "простые", обычно все проще, просто надо подумать.
    Ответ написан
    Комментировать
  • Как работать с классами через Ajax?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов масса.
    Один из самых обкатанных и производительных - сокет.ио, но нужно будет ставить отдельно сервер ноды, если не на ноде проект.
    Вариант с пхп и лонг поллинг - на хабре есть пару толковых статей. Приемлемый вариант, его использует вк, например, но у них там свой пхп, с блэкджеком и компиляцией. В целом, при небольшой нагрузке и всем написанном на пыхе - нормальный вариант.
    Вариант с жс и пхп, чат инициализируется с клиента запросами к аякс куску сайта, отвечающему за чат. Ставится сет интервал 10-15 секунд и опрашивается сервер на предмет "есть чё?". Минусы: задержка между сообщениями до 15 сек, и бомбежка сервера запросами.
    Есть еще экзотика всякая, но там уже совсем треш и угар имхо.
    Ответ написан
    Комментировать