• Форма обратной связи на php работает не корректно. В чем может быть проблема?

    Decadal
    @Decadal
    собственно, я не нашел даже где используется номер телефона при обработке запроса. Как будто он там никогда не был нужен, но вот понадобился, и его добавили на клиент-сайд, а про сервер забыли.
    Либо вы пытались передать телефон слитно с сообщением? для этого стоит писать разные имена для элементов форм, иначе $_POST["txtDescription"] будет содержать значение только того элемента с именем "txtDescription", который встретился самый крайний раз.

    upd:
    собственно, что делать:
    в первую очередь, исправляем
    <input name="txtDescription" id="txtDescription" class="form-control" placeholder="89651572788" required  title="89651572788" />

    вот эту штуку, а конкретнее: name="txtDescription"
    мы заменяем на name="phone"
    все, теперь клиент будет кидать на сервер данные с телефоном.
    В серверной части:

    $strMessage = nl2br($_POST["txtDescription"]);  
    //после этой строки добавляем следующее:
    $phone = $_POST["phone"]; 
    // тут желательно пихнуть регулярку для проверки телефона, но если вы не поняли, что это значит, не обращайте внимания.


    Все, на сервере теперь есть информация о телефоне. Главный вопрос: что с ней делать?

    можно прикрепить к письму, после текста:
    $strMessage.= "<br /> Обращаться по телефону: ". $phone; 
    //это добавлять сразу после $phone = $_POST["phone"];


    можно прикрепить к теме:

    $strSubject.= " связь: ".$phone;
    и тому подобные действия, смотря что вам нужно
    Ответ написан
    3 комментария
  • Что значит var в коде?

    Decadal
    @Decadal
    var это сокращение от variable, "переменная". Генераторы документации используют некоторые стандарты для оформления комментариев к коду; в данном случае таким образом сообщается, что ниже идет описание переменной, а далее следует тип переменной. Это всё является комментарием и может быть удалено\изменено как вам угодно
    Ответ написан
    Комментировать
  • Как должен выглядеть код?

    Decadal
    @Decadal
    Учитывая постановку вопроса... Раз вы работаете с финансовыми данными, текст программы должен выглядеть вообще не так. Нужно использовать хоть какое-то экранирование sql запроса(PDO хотя бы). Просто имейте в виду, что этот текст небезопасен.
    Ответ написан
    Комментировать
  • Как правильно работать с layuots (работа с с виджетом dmstr/yii2-adminlte-asset,)?

    Decadal
    @Decadal
    в action контроллера писать
    $this->view->params['model'] = new Model; 
    //...
    //вызывать render, всё как обычно


    в layout:
    $model = $this->params['model'];
    //... обрабатываем модель
    Ответ написан
  • Проблема с кодировкой?

    Decadal
    @Decadal
    1) Убедитесь в том, что запись попадает в базу данных в той же кодировке, с которой работает база данных
    2) убедитесь в том, что текст сценария находится в той же кодировке, которая используется в п. 1.
    3) убедитесь в том, что данные приходят в той же кодировке, что и п. 1 и п. 2
    Ответ написан
    Комментировать
  • Как отключить navbar-toggle?

    Decadal
    @Decadal
    Если речь идёт про стандартные yii2-app-basic или advanced, то вы можете найти это в папке app/frontend/views/layouts/main.php для advanced или app/views/layouts/main.php для basic. Там инициализируется NavBar, туда же и изменения вносить.

    upd:

    Для внесения изменений в сам виджет можно добавить в папку widgets класс CustomNavBar extends yii\bootstrap\NavBar, и... самое простое решение - переопределить функцию renderToggleButton;
    renderToggleButton() {return ''}
    а в layouts/main.php вместо use yii\bootstrap\NavBar; написать use app\widgets\CustomNavBar;
    Потому что в стандартном NavBar bootstrap функция renderToggleButton() выполняется вне зависимости от options и её нельзя отключить массивом настроек.
    Ответ написан
    3 комментария
  • Как организовать возможность скачивания файла из профиля на языке PHP?

    Decadal
    @Decadal
    А если речь идёт о файлах, которыми пользователь мог поделиться с ограниченным числом других пользователей, то можно так
    e79321da27d6c7b2cf1166c874de5390.png

    upd: после реоргазинации базы данных, перед тем как решить, дать скачать файл или нет, сначала обрабатываете данные пользователя, запросившего файл, потом ищите его в списке тех, с кем файлом поделились, затем - ссылку на файл, если пользователь в том списке (это обычный запрос к таблице shared_file) либо сообщение об ошибке
    Ответ написан
    Комментировать
  • 2 одинаковых сайта в одном yii2 advanced?

    Decadal
    @Decadal
    Стоит сделать как модули, потому что ресурсы, хранимые в папке web (стили, скрипты), придётся либо дублировать для каждой папки ваших сайтов, либо создавать web в common и регистрировать для него отдельный сабдомен. А так вы можете просто указать для каждого модуля свою базу данных и layout, сделать базовые контроллеры в common, а в модулях их просто использовать. Имеет смысл копировать папки только если предвидятся изменения в скриптах или стилях.

    upd: а ещё лучше - в вашем случае - сделать просто папки web-site1 и web-site2, где будут только index.php, и в них подключать main-local1 или main-local2 конфиги, у которых будут разные бд. Настроить две точки входа и всё
    Ответ написан