Ответы пользователя по тегу PHP
  • Сколько замедляет ооп работа программы php?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так а вопрос то в чем?
    1)Не хватает ресурсов - покупаем мощности сервера,
    2) не хватает данных - запрашиваем чаще,
    3) опять не хватает мощности - см. п. 1.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    OODB Store requires a bean, got: array' in /home2/neobitin/public_html/libs/rb.php:9102
    смотрите почему у вас туда попадает массив а не бин
    Ответ написан
    2 комментария
  • Как спарсить значение, используя php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    preg_match()
    и регулярка типа @\".*_followed_by\":\s+{\s+\".*":\s([\d]{4})\s+}@
    https://regex101.com/r/8yw0hp/2
    Ответ написан
  • Как убрать ошибку с пустым письмом при отправке с Php mailer?

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

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

    у вас 2 формы, первая содержит поля, которые нужны для выполнения некоторых операций на сервере.
    Вторая пустая и ничего не делает от слова вообще.
    при заходе на страничку у вас вываливается куча варнингов, которые вы не видите, т.к. показ ошибок и варнингов у вас выключен.
    далее, по заполнению и субмиту первой формы вы отправляете какие-то данные, и они даже скорее всего что-то делают, и формируют файл marks.txt(не факт).
    Далее у вас стоит форма 2, абсолютно пустая и не нужная, так как скрипт не останавливается после ее вывода, а сразу пытается отправить данные по почте. Там тоже наверняка все не работает как надо, но мы опять же ничего не видим из за выключенного вывода ошибок. Далее, как истинный испытатель, вы нажимаете вторую кнопку, которая скорее всего нормально работает и отсылает пустую форму, ну и скрипт снова видит запрос без данных, снова выдает кучу варнингов и благополучно просто вывыодит ту же страничку еще раз.

    УЧИТЕ АЗЫ!!!!!
    Ответ написан
  • Почему не отправляется письмо?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть весьма извратный способ через register_shutdown_function( "fatal_handler" ); в котором вызывал бы код начиная с последней итерации, которую хранить тогда в глобалах где-то надо. И так оно там рекурсивно пусть трахается до потери пульса...
    Хотя я бы не стал с ним заморачиваться, а посылал бы каждый запрос через cli в отдельном потоке и пусть там себе падает сколько хочет.
    Ответ написан
    Комментировать
  • Почему так медленно сохраняются данные в CSV?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    function put_ten() {
      global $link;
      $query = "SELECT `item`.`id`, `item`.`name`, `item`.`cat1`, 
                    `item`.`cat2`, `item`.`cat3`, `item`.`cat4`, 
                    `item`.`price`, `img`.`source`, `param`.`name` pname, `param`.`value` pvalue
              FROM `item` 
              JOIN `img` 
              ON `item`.`id` = `img`.`item_id` 
              JOIN `param` 
              ON `item`.`id` = `param`.`item_id` 
              WHERE `item`.`inserted` = 0 
              LIMIT 1000";
    // дальше 1 циклом нормально пройтись
    }


    UPD: Без индексов было... БЕЗ ИНДЕКСОВ, КАРЛ!!! Как так то?
    Ответ написан
    1 комментарий
  • Каким образом сгенерировать html страницу и отдать клиенту только фрагмент страницы?

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

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

    UPD:
    я скажу как реализовано нечто подобное у меня, а вы посмотрите или оно вам подходит, и если я правильно понимаю что вы хотите получить.
    Для начала желательно отделять мух от котлет, то есть поля связи с бд выделены в отдельное 1 свойство, которое внутри массив, например $this->fields(это все ваши $password,$name etc), а все переменные настроечного характера - просто свойства объекта.
    тогда для ваших целей достаточно сделать наборы полей в виде массива, и уже внутри использовать что-то типа

    private function getArray($fieldsSet){  // $fieldsSet = массив нужных ключей, например array('name','password');
       $ret = array();
       foreach($this->fields as $key=>$val){
           if(in_array($key,$fieldsSet)){
               $ret["$key"] = $val;
           }
       }
    }
    Ответ написан
  • Как можно передать отредактированные данные из модального окна используя ajax и smarty?

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

    так оно работает? судя по
    В ответе аякс передает html вместо json.


    ну тогда самая большая проблема в dataType: 'json', который надо поменять на dataType: 'html',
    Ответ написан
  • Database Singleton или Dependency Injection?

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

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

    Как и написали в коментах - ORDER BY `поле_сортировки`

    Но до сортировки должны выводиться всё данные.

    можете просто не указывать метод сортировки, но тогда у вас будет все кучей, никакого внятного порядка вывода не будет. И бтв - сортировка не повлияет на вывод всех/не всех данных, для этого есть другие операторы - LIMIT, WHERE и т.д.

    Если не трудно напишите пример кода)

    не трудно, но:
    во первых это запрещено правилами ресурса(можно было и почитать условия при подаче вопроса),
    во вторых конкретно ваша реализация не будет подходить под чей либо чужой код, никто кроме вас не знает ни структуры хранения данных в вашей бд, ни кода который все это обрабатывает.
    Ответ написан
    Комментировать
  • Как сделать отправку сообщений через phpmailer()?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $body = '<h1>Hello Mail!</h1>';
            $from = 'vasia@pupkin.com';
            $to = 'kolea@bubkin.net'; 
            $name = 'Kolaenich88';
            $subject = 'Sharik, ti balbes!';
           $mailer = new PHPMailer();
    //далее по докам настраиваете подключение к почтовому серверу, и
            $mail->setFrom($from, '');
            $mail->addAddress($to, $name);
            $mail->Subject = $subject;
            $mail->Body    = $body;
            $mail->send();
    Ответ написан
    Комментировать
  • Как передать данные из форм третьей странице?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    $sql_img = $db->super_query("SELECT * FROM imgtop limit 2", true);
    print_r($sql_img);
    exit;
    что показывает?

    Выводит так массив
    Array ( [0] => Array ( [id] => 1 [name] => slider_1.jpg ) [1] => Array ( [id] => 2 [name] => slider_2.jpg ) )


    sandbox.onlinephpfunctions.com/code/9f43dc6039aa53...
    результат:
    <li  style="background-image: url(/img/slider_1.jpg);" class="overlay"></li> <li  style="background-image: url(/img/slider_2.jpg);" class="overlay"></li>

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Использовать метод get в запросах для получения данных.
    2) При отправке данных формы методом post делать редирект на страницу результата.
    Ответ написан
  • Почему сервер не видит файл .tpl?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    function __construct($url, 
    $lng, 
    $templates=array(
    'before' => 'menu/before.tpl',
    'after' => 'menu/after.tpl', 
    'listitem_out' => 'menu/out.tpl', 
    'listitem_in' => 'menu/in.tpl', 
    'listitem_on' => 'menu/on.tpl'))
    {...}

    Это вы сами настругали или кто "добрый" научил?
    Ответ написан
    Комментировать