• Роутинг на PHP?

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

    class AdminController extends BaseController{
        
        public function __construct(){
            parent::__construct();
        }
    
        public function editAction(){
            doSomeEdit();
            $this->view->renderView();
        }
    }


    BTW: что за тег сетевая маршрутизация в вопросе???
    Ответ написан
    Комментировать
  • Почему не загружается файл на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) отключить ваши проверки
    MAX_FILE_SIZE, указанное в HTML-форме
    и проверить идет ли загрузка

    2) проверить в каких единицах у вас
    указанно значение в разы больше
    (должно быть в байтах)

    3) в целом это тупая древняя проверка, которую никто в здравом уме все равно применять не будет, ибо предупреждения перед отправкой оно не дает, а после отправки уже нафиг не нужно, проще(и правильнее) рулить файлсайзом на сервере.
    Ответ написан
    2 комментария
  • Можно ли средствами PHP, HTML, CSS создать аналог ВК (исключительно для тренировки)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    vk написан на слегка допиленном php. Да, можно, но без понятия архитектуры приложения / нормализации/денормализации данных и прочих вещей которые нужно знать опытному разработчику будет а) сложно, б) криво.
    Ответ написан
    Комментировать
  • Как преобразовать json в массив?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    я вам тут комменты напишу, а вы уже чуть сами головой подумайте:
    <?php
    // для начала посмотреть в доках ЧТО возвращает file_put_contents, 
    // после этого будет понятно почему в строчке ниже бред
    $postdata = (array) file_put_contents('file.txt', file_get_contents('php://input')); , FILE_APPEND);
    // если исправить бред сверху, то сначала нужно будет прочитать файл, декодировать в массив из json
    // и тогда уже можно будет что-то там проверять
           // если есть нужные нам поля
    // здесь уже используется другая переменная, $postData вместо $postdata, в этом коде это вообще 
    // не важно, так как в $postdata все равно ничего толкового не попало.
    foreach ($postData as $value){
    // по вашему комментарию вроде нужно что-то проверять, однако у вас тупо 
    // пишется в конец файла значение из массива без каких-либо разделителей
    // (теоретически, на самом деле скрипт сейчас сюда не доходит)
      file_put_contents('file.txt', $value , FILE_APPEND);
    // тут вообще закрывающая } отсутствует.
    ?>
    Ответ написан
    Комментировать
  • Как передать значение в input?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще налицо попытка сделать роутер, но фишка в том что роутер как раз и делается для работы с белым списком, а у вас получается роутер с правилами "щупайте все что есть и до чего достанете, мне не жалко". Не поленитесь сделать массив "белых" урлов в формате
    ['url'=>'includePath','url1'=>'includePath1','url2'=>'includePath2']
    или что то подобное. Можно даже посмотреть готовые решения и на их основе чего-то построить.
    Ответ написан
    Комментировать
  • Почему ни работает переадресция?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Тут все , включая оформление вопроса без тегов и древний как какашки мамонта код - кошмарный ужас.
    1) Прочитайте про ООП, ваша лапша просто кошмар
    2) Хотя бы смените библиотеку на mysqli, а еще лучше на PDO
    3) про MVC например почитайте

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Создайте 2 элемента:
    1) див или спан с именем и иконкой редактирования,
    2) инпут и кнопку в общем элементе, общему элементу поставьте дисплей:нон.
    по клику на карандаш - содержимое первого элемента(логин) копируете в инпут, первый элемент хайдите, второй показываете. По кнопке делаем наоборот - в логин заносим содержимое инпута, второй элемент хайдите, первый показываете.
    удобнее конечно разбить на несколько разных элементов, думаю со структурой разберетесь сами.
    Ответ написан
    Комментировать
  • Как избежать повторного подключения к базе данных, если при обращении к родительскому классу DataBase дочерний класс создает подключение вновь?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    по уму что-то такое должно быть:
    class Category extends Model{
        public $table = 'category';
        public $db = false;
    // вариант DI - передаем $db в конструктор
       public function __construct($db){
          $this->db = $db;
       }
    
    //или вариант инициализации по id
       public function __construct($id=false){
          parent::__construct($id); 
    // в базовом классе модели берем $db из регистра и присваиваем $this->db
       }
    }
    
    $categories = new Collection(new Category());
    $categories = $categories->getArrayOfObjects();

    Сразу скажу что не очень жалую вариант с DI, так как либо приходится делать синглтон, либо в каждом контроллере делать новый $db(что имхо бред), либо так же совать дб в регистри и тащить его при инициализации каждого объекта. Минус второго способа - IDE "не видит" как подключен дб и интелисенс и прочие плюшки не работают.
    Ответ написан
    Комментировать
  • Как правильно сделать ajax запрос и запросить данные с БД?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    on change первого селекта делать аякс запрос с валуе этого селекта, соответственно на сервер придет ид выбранного магазина. По нему делаете запрос в базу и достаете нужные для построения селекта данные, далее либо передаете их обратно в виде JSON и уже на клиенте яваскриптом формируете новый селект, либо прямо в пхп "рисуете" хтмл селекта и отдаете в ответ аяксу, соответственно нужно будет только вставить этот кусок вместо второго селекта.
    Ответ написан
    Комментировать
  • CURL не получается отправить POST, дело в js, как определить?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    json_decode($json,true);?

    Доки для слабаков и трусов!
    Ответ написан
    1 комментарий
  • Как генерировать pdf отчеты в Django?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не занимался, однако нагуглил за пару минут, возможно вам поможет
    ЗЫ: еще статейка
    Ответ написан
    Комментировать
  • Какой язык подойдёт для бекенда web-приложения?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Если коротко:
    >>Строгая типизация.
    до жопы, ибо с клиента чаще всего приходят нетипизированные данные, их все равно надо валидировать и приводить к нужному типу.
    >>Быстродействие.
    От задачи к задаче вы получите разное быстродействие на разных языках (сарказм по асм поскипан)
    >>Язык должен быть компилируемого, а не интерпретируемого типа.
    не совсем ясна мотивация, ну да ладно, хозяин барин...
    >>Он должен быть кросс-платформенным
    основные грабли кроссплатформенных яп - оконный интерфейс, в вебе будет проще, по этому почти любой современный яп подойдет.
    >>Он не должен тянуть за собой[поскипано многабукаф]
    Все что-то за собой тянет, и объем тянущегося зависит от возраста/развитости платформы, соответственно смотрите в сторону зеленых новичков, получив в придачу сыроватый функционал и слабо развитое коммюнити/доки.
    >>Этот язык должен быть стабилен
    стабилен в вашей интерпретации - мертв(ибо без изменеий нет развития), либо противоречит предыдущему пункту. Почти любое серьезное обновление ведет к изменениям в коде(и в частности пропадание/появление старых/новых либ нормальный процесс)
    >>Язык должен подходить для веб-разработки
    Почти все уже адаптировали под веб, ибо народу всегда интересно завести своего уродца под новую задачу (снова поскипан сарказм про асм)
    >>Хотелось бы, чтобы синтаксис такого языка был логичен и интуитивно понятен
    Бейсик в руки и вперед... Вы же понимаете что для каждого разработчика эти слова несут совершенно разный смысл, что одному логично и красиво - для другого велосипед на костылях...
    >>Программа, написанная на таком языке, не должна есть много памяти из-за каких-нибудь там виртуальных машин
    ВМ и прочие накладные расходы присущи своей группе языков, кроме прочего они обеспечивают повышение быстродействия в кроссплатформенной среде, часто превосходя по быстродействию даже компилируемые аналоги без ВМ, тут уже выбор будет прирост производительности/потребление памяти (впрочем, это верно и в целом, все крутится вокруг баланса потребления быстрой памяти и приемлемостью скорости обработки данных при снижении лимита ее потребления).
    >>Должно быть более-менее легко производить дебаг
    Сложнее найти современный язык без таковой возможности...
    Ответ написан
    3 комментария
  • Chart js кэширует сайт - что делать?

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

    Искал корень проблемы, а именно на первом этапе смотрим что физически приходит с сервера через девтулз хрома, если данные приходят с сервера - копаем в сторону кеша сервера/кукисов, иначе смотрим что из ресурсов тянется из кеша браузера, настраиваем соответствующим объектам время жизни.
    Ответ написан
    Комментировать
  • Когда картинки на сайте обновятся, если они в кэше браузера?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    прописать гет параметр, примерно так:
    <img src="/img/someimage.jpg?1">
    Ответ написан
    Комментировать
  • Как скопировать ссылку в буфер обмена?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать