• Как в opencart 3 добавить свой slick slider?

    nefone
    @nefone
    Junior PHP разработчик
    В структуре файлов не разбираюсь, поэтому не в курсе где можно найти данный файл

    В OpenCart3 стандартный шаблон отзывов находится в
    \catalog\view\theme\default\template\product\review.twig

    Там же рядом можно посмотреть шаблоны других страниц и разделов.
    Можно ли в структуре файлов написать свой html и js?

    Там можно прописать свой HTML код, который будет выводиться на странице того шаблона который изменили.
    Ответ написан
    Комментировать
  • Не работает setcookie, что делать?

    nefone
    @nefone
    Junior PHP разработчик
    Варианта может быть два, или у вас ошибка при подключение к базе данных, надо проверять, что соединение установлено и проверять на успешное выполнение запроса:
    $login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
    $password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);
    
    $mysql = new mysqli('localhost', 'root', 'root', 'reg-bd');
    if ($mysql->connect_errno) {
        exit('Ошибка при соединении с базой данных:  ' . $mysql->connect_error);
    }
    
    $result = $mysql->query("SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'");
    if (!$result)
    {
      exit('Ошибка при выполнении запроса: ', $mysql->error);
    }
    $user = $result->fetch_assoc();
    
    setcookie('user', $user['name'], time() + 3600, "/");
    
    //что бы проверить, что в переменно что то есть, можно вывести ее через: var_dump($user)
    Ответ написан
    Комментировать
  • Как создать на сайте кнопку для редактирования поста?

    nefone
    @nefone
    Junior PHP разработчик
    Как вариант использовать в шаблоне вывода поста:

    <?php edit_post_link( 'Редактировать' ); ?>

    если авторизованному пользователю будет разрешено изменять пост, то будет выведена ссылка на его редактирование.
    Ответ написан
    Комментировать
  • Сбор ИНФО с формы сайта в CRM?

    nefone
    @nefone
    Junior PHP разработчик
    Отлавливать с помощью jQuery отправку формы с определенным идентификатором или именем и смотреть какие там поля формы заполнены и посылать POST запрос с ними в CRM
    $('#formName').submit(function(e) {
           console.log('form sending...');
           $.post(`https://АДРЕС_СИСТЕМЫ/forms/wtl/КОД_ФОРМЫ`, {
               key: КОД_ФОРМЫ,
               name: ЗНАЧЕНИЕ_ДЛЯ_ПОЛЯ_NAME,
               phonenumber: ЗНАЧНИЕ_ДЛЯ_ПОЛЯ_PHONENUMBER,
               xxx: ЗНАЧНИЕ_ДЛЯ_ПОЛЯ_ХХХ,
           });
           e.preventDefault();
    });
    Ответ написан
    Комментировать
  • Почему в таблицу mysql не добавляется форма за смайлами (эмодзи)?

    nefone
    @nefone
    Junior PHP разработчик
    Нужно посмотреть ошибку, которая у вас возникает при выполнения запроса к базе данных.

    Для этого изменить ваш код на этот:
    <?php
    require_once 'connect.php';
    
    $h = $_POST['smail'];
    var_dump($_POST['smail']);
    
    if (!mysqli_query($connect, "INSERT INTO `soobchenie` (`id`, `otpravit`, `nku`, `avu`, `nkchata`, `forma`, `time`, `prosmotr`) VALUES (NULL, '$h', 'g', 'l', 'l', 'l', 'l', 'l')") {
        printf("Ошибка при добавлении в базу данных: %s\n", mysqli_error($connect));
    }
    ?>

    Также следует убедиться, что в файле "connect.php" у вас действительно создается подключение к базе данных.
    Ответ написан
    Комментировать
  • Как сбросить пароль админа Moto 3 CMS?

    nefone
    @nefone
    Junior PHP разработчик
    Искать где в коде выполняется проверка пароля и делать всегда true при сравнении пароля.
    Ответ написан
    Комментировать
  • Как генерировать красивый PDF с помощью PHP?

    nefone
    @nefone
    Junior PHP разработчик
    Использовать библиотеки заточенные под работу с PDF из PHP:
    FPDF
    Ответ написан
    Комментировать
  • Как сделать независимый скрипт php и взаимодействовать с ним?

    nefone
    @nefone
    Junior PHP разработчик
    Как мне это сделать?

    Если Вам очень хочется, то:
    index.php
    <?php
    require_once 'MyString.php';
    $mystr = new MyString();
    echo $mystr->getString();
    $mystr->setString('stop');
    echo $mystr->getString();


    MyString.php
    <?php
    
    class MyString
    {
        private $string;
    
        public function __construct(string $str = ' start ')
        {
            session_start();
            if (empty($_SESSION['string'])) {
                $this->string = $str;
            }
        }
    
        public function setString(string $str) 
        {
            $this->string = $str;
            $_SESSION['string'] = $this->string;
        }
    
        public function getString()
        {
            return $_SESSION['string'] ?? $this->string;
        }
    }


    всё заработает и выведет "start stop", но если обновить страницу то будет тоже самое, а мне хотелось бы чтобы теперь выводило "stop stop"

    Данное решение при первом открытии выведет "start stop", а если обновить страницу, то "stop stop".
    Ответ написан
    Комментировать
  • Какие еще проекты сделать junior на php помимо дефолтных?

    nefone
    @nefone
    Junior PHP разработчик
    Junior разработчиком после выполнения пары проектов в отвратительном качестве не стать.

    в моей голове junior - это тот, кто пишет круды и что-то там допиливает в проектах

    Этот тот которому дают простое задание и говорят, как делать и он делает, так как ему сказали.


    Я могу сделать какой-нибудь обычный crud с sql, но, видимо этого не достаточно.

    У Вас не обычный CRUD, а тот который никогда делать не надо. Следует узнать о шаблозаторах Twig и Smarty. Попробовать сделать свою простую шаблонизацию на PHP, что бы отделять верстку о логики.

    Также у меня есть пару книг популярных по этому языку и там тоже нечего взять полезного.

    Я думаю, если бы Вы прочитали PHP 7 Котерова, может быть не задавали бы такого вопроса. Можете начать с PHP 7, и обязательно выполнять задания, которые там даны в конце каждой главы. Если хочется быстрее понять PHP можете пройти интенсив. (бонус, что будет опытный наставник и работа с системой контроля версий).

    После того, как будет понимание о языке PHP и его возможностях, следует посмотреть на работу с SQL, создать несколько баз данных руками, попробовать JOIN из нескольких таблиц, написать простой CRUD каталог по архитектуре MVС, что бы понять, как реализуется роутинг.

    Поиграться с каким нибудь API, делать получение и отправку запросов.

    Изучать тему Linux и как работать в консоли, настройка LAMP и LEMP окружения.

    Желательно посмотреть на Docker и Vagrant, запустить их у себя на машине и установить внутри какой нибудь обычный WordPress.

    Попробовать работу с PHP фреймворками, сделать несколько простых проектов.

    Изучать лучшие практики работы PHP правильный путь

    P.S. и постоянно учиться чему то новому...
    Ответ написан
  • Как использовать ajax в плагине?

    nefone
    @nefone
    Junior PHP разработчик
    Нужно использовать wp_ajax
    И добавить свой обработчик
    Ответ написан
    Комментировать
  • Как настроить права доступа?

    nefone
    @nefone
    Junior PHP разработчик
    Проверять на странице guest, что есть сессия и делать переадресацию :
    if (isset($_SESSION['authorize']['id']) {
       header('location: ...'); // вместо ... указать любую страницу, например authorize
       exit();
    }
    Ответ написан
    Комментировать
  • Белая страница при отправке формы?

    nefone
    @nefone
    Junior PHP разработчик
    Попробуйте:
    <?php
    error_reporting(E_ALL);
    
    if (mail("mymail@gmail.com", "New User", " Name: ".$_POST['name']. "\n" . " Email: ".$_POST['email']. "\n" .  "\r\n") {
       header('Location: https://example.com/thanks/index.html');
       exit();
    } else {
       die('Ошибка при отправке письма!');
    }

    Возможно, до переадресации с помощью header() у Вас заголовки HTTP уже отправлены.

    Также, стоит правильно получать переменные и массива $_POST
    Ответ написан
  • Какое окружение вы используете для разработки php?

    nefone
    @nefone
    Junior PHP разработчик
    Среди IDE сейчас что то лучше PHPStrom сложно найти.
    Окружение на свой вкус лучше собирать с помощью Docker - первое время будет сложно, но потом поймаете кайф.
    Если с базами данных пока сложно работать через консоль, можно использовать DBeaver
    И желательно работать c git, так же если нужен графический интерфейс Git Kraken

    мол xampp использовать для нормальной разработки себе дороже

    Совершенно верно, ибо сложно будет тестировать как будет вести себя код на рабочем сервере. Может быть несовместимость операционных систем на сервере и локальных, а так же версий PHP и ипользуемых баз данных.
    Ответ написан
    5 комментариев
  • Sitemap.php автогенератор делает дублирующую главную страницу, как убрать?

    nefone
    @nefone
    Junior PHP разработчик
    Сделать значение в массиве $array_pages уникальными, с помощью функции array_unique

    //Создаём XML документ: начало
    $date = date("d/M/y H:m:s");
    $xml_content = '';
    $site_url = 'https://'.$_SERVER['HTTP_HOST'];
    $quantity_elements = 0;
    $array_pages_uniq = array_unique($array_pages);
    foreach($array_pages_uniq as $v)
    {
      $quantity_elements++;
      $xml_content.='
       	<url>
        <loc>'.$site_url.$v['URL'].'</loc>
      </url>';
    }
    //Создаём XML документ: конец
    Ответ написан
    Комментировать
  • Создание всплывающего окна в wp?

    nefone
    @nefone
    Junior PHP разработчик
    Использовать плагины.
    Бесплатный:
    Popup Maker
    Для WooCommerce:
    Popup Builder
    Beeketing for WooCommerce
    Есть для elementor:
    Popup Builder

    Или пробовать писать решение заточенное специально под Ваши задачи.
    Ответ написан
    Комментировать
  • Как сделать красивые preview для сайта?

    nefone
    @nefone
    Junior PHP разработчик
    Требуется добавить в разметку Open Graph
    Вебмастер Яндекс Open Graph
    Ответ написан
    Комментировать
  • Как нагрузить сервер LAMP?

    nefone
    @nefone
    Junior PHP разработчик
    Можно из Yandex Танка пострелять по сервису.
    Ответ написан
    Комментировать
  • Как сделать шаблоны в php?

    nefone
    @nefone
    Junior PHP разработчик
    Если не подходят что то из готовых шаблонизаторов типа Smarty
    Можете сделать свой на основе PHP функций работы с буфером вывода:
    ob_start
    ob_get_clean
    /**
     * Функция загрузки шаблона
     * 
     * @param string $template Путь до файлов шаблона
     * @param mixed[] $data Данные для подстановки в шаблон
     * @return string Возвращает готовый код шаблона
     */
     function render_template($template, $data) {
         ob_start();
         if (file_exists($template)) {
             extract($data);
             require($template);
         } else {
             print('Нет файла шаблона: '.$template);
         }
         $html = ob_get_clean();
         return $html;
     }


    Пример использования:
    $content = render_template('templates/main.php', ['title' => 'Главная страница');
    
    echo $content;


    Код main.php
    <html>
     <head>
        <title><?=$title?></title>
     </head>
    </html>
    Ответ написан
    6 комментариев
  • Где взять легковесную ORM для небольшого проекта на PHP?

    nefone
    @nefone
    Junior PHP разработчик
    Есть что-нибудь в природе для этих нужд?

    Посмотреть на Packagist и выбрать, что Вам понравится.
    Ответ написан
    Комментировать
  • Как проверить объект на NULL?

    nefone
    @nefone
    Junior PHP разработчик
    Подскажите как правильно это сделать?

    Ознакомиться с документацией: whereNotNul()
    Ответ написан
    3 комментария