• Notice: Undefined index: USER_LOGIN_IN in C:\xampp\htdocs\color-school.dev\index.php, может кто то подскажет?

    @ipokos
    Попробуйте так
    function Menu()
    {
        if (!isset($_SESSION['USER_LOGIN_IN'])) ...
    Ответ написан
    Комментировать
  • Почему не удаляются сессии?

    @ipokos
    что у вас хранится в $_POST['logout'] до вардампа (на моменте: if(isset($_POST['logout'])){)?
    Ответ написан
  • Объясните пару строк кода, что они делают?

    @ipokos
    // Если существует в пост запросе auth_name выполняется код в условии 
    if (isset($_POST['auth_name']))
    {
        $sql = "SELECT * FROM users WHERE name=?s"; // Запрос SQL
        $row = $db->getRow($sql, $_POST['auth_name']); // выборка запроса с БД
    // Если пароль пройдет проверку записывается значение в сессию
        if ($row && password_verify($_POST['auth_pass'], $row['pass'])) {
            $_SESSION['user_id'] = $row['id'];
        }
    // редирект на страницу
        header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    // выход из скрипта
        exit;
    }
    // если в гет запросе есть action и он равен logout 
    if (isset($_GET['action']) AND $_GET['action']=="logout") {
    // убивается сессия и происходит редирект
        session_start();
        session_destroy();
        header("Location: http://".$_SERVER['HTTP_HOST']."/");
        exit;
    }
    Ответ написан
    Комментировать
  • Как правильно подключить файл в дочерней теме?

    @ipokos
    Что хранится в константах EVA_FUNCTIONS и EVA_CHILD_THEME_PATH ?
    пути в родительской и дочерней темах одинаковые?
    Включите в wp_config.php debug , возможно ругается на то что нет файла.
    Проверьте что возвращает isset и file_exists
    Ответ написан
    Комментировать
  • Как сделать что бы файл брался из предыдущего каталога?

    @ipokos
    при импорте скрипта этого, функция берет файл который рядом с скриптом


    но как сделать, что бы она брала файл который лежит рядом со скриптом


    Как вариант, для файлов импорта, сделать отдельную папку (с правами на чтение/запись) и туда складывать загруженные файлы. А ко всем остальным файлам/папкам, скрипт (и файлы которые может загрузить пользователь) не должны иметь доступа.
    Ответ написан
    Комментировать
  • Как сделать, чтобы при клике сработал PHP код?

    @ipokos
    При клике на что? Сработал какой код?
    Правильно сформулированный вопрос - это 90% ответа.

    По сути, Вы можете создать форму с hiden полем и кнопкой отправить. У вас будет происходит загрузка action файла, на котором может выполнятся Ваш код. Для пользователя будет выглядеть "по клику" но с перезагрузкой страницы.

    Если нужно более адекватное решение, то как уже написали - ajax.
    Пример (при условии что используется jquery):
    $.ajax({
      url: 'your_file.php?action=1',
      success: function(data) {
        $('.results').html(data);
      }
    });

    В файле: your_file.php

    <?php
    $param = $_GET['action'];
    if($param == 1){
    // your code here
    }
    Ответ написан
    Комментировать
  • Как (можно ли) свой самописный сайт yii2 перенести на bitrix (старый сайт сделан на bitrix, т.е. взамен старого поставить новый написанный на yii2)?

    @ipokos
    Не совсем ясно что вам нужно... Вы хотите использовать CMS битрикс, но перенести и визитку? или Вам нужно только визитка? Нужен ли Вам вообще битрикс?
    забрать домен и у нормального хостинга все запустить

    или Вам нужно просто уйти от хостера?

    Если нужно просто сделать (только) визитку, почему бы не поставить Yii вместо битрикса?
    Если Вы домен купили - он Ваш. Его можно забрать на другой хостинг.
    Обычно пишется заявление о перезде (отправляется скан или т.п.) более подробно и охотно Вас проконсультирует хостер к которому планируете переезжать (иногда еще и поможет)
    Ответ написан
  • Как быть "мобильным" веб-разработчиком?

    @ipokos
    Все относительно. Если нужно просто и максимально быстро поднять сервер/php/mysql
    Тут если винда: xampp и тот же Sublime (для примера).. у него был и плагин (не помню как назыавется) может подтягивать используемые плагины.
    Если Linux, можно вообще все на скрипт повесить..
    И +- по времени до 5 мин, будет готовая рабочая среда

    А вот если нужно:
    всегда из любой точки быстро поднимать собственную рабочую среду (экосистему)

    Совсем другой разговор.. Для некоторых проектов иногда нужно индивидуально подстраивать и версию php и mysql... и дампы базы могут разворачиваться часа по 4+..
    т.е. тут понятие "быстро" очень относительно.
    Ответ написан
  • Есть ли набор функций OpenCart из коробки в Magento Community Edition?

    @ipokos
    Реально развернуть особо не навороченный магаз 1000-1500 товаров на бесплатной магенте?

    Более чем реально. (+ есть много плагинов, в том числе и бесплатных)

    Оплата ру картами, qiwi (хорошо бы), ну и статистика/управление заказами (как можно детальнее)

    Тут не понял. Вы хотите заказать и оплатить ру картой или киви? Или эта возможность нужна в магазине?
    Если 1е - хз, если 2е - ставятся модули оплаты.

    Интересна еще скорость работы

    В сравнении с Opencart не скажу, но нормальная скорость работы около 2 - 4 сек(зависит от темы, контента) на первую загрузку. После того как закешировался, в принципе как и любой магаз +-.
    Ответ написан
    Комментировать
  • Как исправить функцию отправки почты?

    @ipokos
    Ну как Вам уже писали выше, что отправка происходит через файл, который лежит на стороннем сервисе, а у того (http://green.alpachini.ru) закончился хостинг.
    По сути, в условии if(is_array($file)) { ....
    У вас уже собирается содержимое письма.

    Если на скорую руку, можете попробовать, убрать участок кода работы с $curl
    И вызвать стандартный mail().
    Например:
    // код вашей функции 
    
    mail($email, $subject, $multipart); 
    /*
     $curl = curl_init();
        		curl_setopt($curl, CURLOPT_URL, 'http://green.alpachini.ru/send_mail.php');
                curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
          curl_setopt($curl, CURLOPT_POST, true);
          curl_setopt($curl, CURLOPT_POSTFIELDS, "to=$email&tema=".urlencode($subject)."&text=".urlencode($multipart)."&from=site@site.com&boundary=$boundary");
          
          $out = curl_exec($curl);
        curl_close($curl);
    */


    Если решите использовать стандартный отправщик, не лишним будет почитать по нему доку: php.net/manual/ru/function.mail.php
    Ответ написан
    Комментировать
  • Как задать позиционирования балун в яндекс картах через api?

    @ipokos
    Попробуйте посмотреть:
    Динамическая загрузка содержимого балуна
    https://tech.yandex.ru/maps/jsbox/2.1/balloon_ajax
    Ответ написан
    Комментировать
  • Что не так с поиском по сайту?

    @ipokos
    Исходя из строки:
    $row = $db->select_list($sql);
    В $db у вас создается объект для работы с базой, который у вас в этом файле не подключен.

    Когда проект увеличивается (классов становится больше), достаточно проблематично, "ходить" и подключать их (да и в целом это не правильно).
    Для этого используются автолоадеры.
    Например:
    $class_name = 'db';
    spl_autoload_register(function ($class_name) {
        require( '../folder_name_classes/' . $class_name . '.php');
    });

    Подключаете файл с автолоадером и вызываете нужные классы.
    Ответ написан
    Комментировать
  • Checkbox как сохранять в куки?

    @ipokos
    Обрабатываете $_GET массив в файле site.php
    // получаете данные с формы
    $var1 = $_GET['varname1'];
    $var2 = $_GET['varname2'];
    
    $value = 'your data in cookie';
    // проверяете, если чек был установлен, то это true 
    if($var1){
        // ставим куку
        setcookie ("your_cookie_name", $value);
    }else if($var1 == false && $_COOKIE["your_cookie_name"]){
       // если чек не установлен и существует кука с именем your_cookie_name
       // то ее удаляем, ставя ей отрицательное время жизни
        setcookie ("your_cookie_name", "", time() - 3600);
    }


    Для того что бы ставить или нет чек на форму, на поле сделать проверку типа:
    <input type="checkbox" value="1" name="varname2" class="styled" <?php if($_COOKIE["your_cookie_name"]){ echo 'checked="checked"'; }?>>


    p.s. это пример на скорую руку. Почитайте детальнее про то как работать с куками, как удалять, проверять и хранить в них данные.
    + данные полученные через $_GET нужно строго типизировать (например, если ожидаете число, то очищаете результат от тегов, пробелов, проверяете на число, если полученные данные число, продолжаете, иначе возвращаете false)
    Ответ написан
    Комментировать
  • Как вызвать функцию по клику?

    @ipokos
    У вас функция загружается и может выполняться сразу после загрузки страницы.
    Если нужно вызывать только по клику, то вместе с страницей загружаете обработчик события:
    $(document).ready(function(){
        $('.show_more').bind('click', function(){
        // тут тело функции которая выполняется по клику на элемент с классом show_more
    })
    // или так:
    
    $('.show_more').bind('click', ajaxFunction() );
    // а саму функцию ajaxFunction() описываете ниже
    function ajaxFunction(){
       // тут тело функции
    }
    });


    p.s. старайтесь не давать функциям зарезервированные имена (bind, ajax, click и т.п.)
    1е - это не описывает функционал, 2е - может вызвать ошибки или психи когда будете отлаживать ее потом)
    Ответ написан
    2 комментария
  • Как сделать CRUD приложение средствами php для управления несколькими таблицами?

    @ipokos
    Четкая формулировка вопроса - это уже половина решения.
    Из вопроса неясно, Вы используете какой то фреймворк, цмс или пишите это все сами.
    ООП или процедурно?

    Если оптимальный вариант, то для работы с бд используется какая то ORM )

    Если нужно самому, то для каждой таблицы создается отдельная модель - это нормально.
    Лучше избегать дублирования кода=)

    Ну или опишите более детально.
    Ответ написан
  • Как вытащить из поля базы данных конкретную информацию?

    @ipokos
    Возможно гуру MySQL смогут подсказать Вам решение с запросом...
    Но вот вариант решения с PHP:
    $text = '<a href="/files/download/11/e0ab03d8">Скачать</a>';
    preg_replace("'<[\/\!]*?[^<>]*?>'si", null, $text);
    echo $text; // вернет Скачать

    Регулярное выражение очищает строку от html тегов
    Ответ написан
    Комментировать
  • Отправятся ли письма если сайт не открывался(запустился)?

    @ipokos
    Это делается с помощью крон. На хостинге, в панели управления практически всегда есть расписание крон задач. Если даже нет, Вы сами можете их писать, если не заблокированно сервером. Только нужно учитывать, что часто есть ограничение на кол-во отправляемых писем в день
    Ответ написан
    Комментировать
  • Почему PHP ругается на код Codeignaiter?

    @ipokos
    Суть ошибки в том что ожидается строковый тип данных, а приходит массив.
    Посмотрите в методе db->update() какие данные принимаются.
    Могу предположить что формат, может быть примерно такой:
    $data - данные которые записываете.
    $this->db->update('table_name', $data, 'column_name')
    Ответ написан
    Комментировать
  • Почему плагин подключается на всех страницах?

    @ipokos
    подключается на странице на которой он не нужен

    Подключать только на используемой странице. Ее можно переопределить в дочерней теме.

    Как и где вы выводите плагин? Где его нужно отобразить?
    Ответ написан
    Комментировать
  • Как сделать при выборе ответа в Popup другое действие?

    @ipokos
    "yes" вызывался новый popup

    js-ом

    при ответе "no"

    или тоже js или кнопку No сделать ссылкой и привязать к ней якорь
    Ответ написан
    Комментировать