Задать вопрос
  • Как настроить ЧПУ самописного для сайта на php?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Правильно:
    1) перенаправить все урлы на индекс(создать единую точку входа)
    2) в индексе подключить роутер
    3) в роутере обрабатывать урл(например разбить по слэшам и смотреть что у вас получилось)
    как самый простой вариант - там же в роутере сделать массив соответствий урлов подключаемым модулям и проверять есть ли такой ключевой урл в списке и что подключить в этом случае.
    4) Profit

    Неверно:
    1) Использовать .htaccess для подключения отдельных файлов, в остальном свалить все в кучу файликов "как есть"
    2) В каждой папке вставить свой index.php и рулить из него всеми левыми движениями
    3) Прочие извращения в ассортименте
    Ответ написан
    2 комментария
  • Как указать путь к css-файлу, если корнем сайта считается site.ru/public, а файл находится на пару уровней выше корня сайта?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    css (а так же изображения, js и прочие ресурсы) не могут быть загружены из папок, недоступных из веб. Соответственно папка css должна лежать в папке public, и тогда соответственно путь будет /css/style.css
    Ответ написан
    Комментировать
  • Вывести рейтинг каждого фильма?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - у вас в цикле выводится лишний закрывающий тег див(или отсутствует открывающий в начале).
    Во вторых - 2019 год, за использование mysql_query по рукам лопатой на!
    В целом - код в котором и запросы и вывод и все-все-все в одном месте свалено в кучу - говнокод в его чистейшем проявлении.

    Касаемо кода запроса рейтинга - оберните все 3 дива в общий тег (див/спан/секшн - не важно), тогда код будет примерно такой:
    $(function (){
      $('.plus').on('click', function (){
      var dd = $(this).attr('data-plus');
      var box = $(this).parent().find('.summa');
      $.ajax({
         url: 'shablon/film_plus.php',
         type: 'POST',
         data: {"dd":dd},
         success: function(html){
            box.html(html); // подразумевается что в html возвращается рейтинг фильма
         }
      });
    });
    });
    Ответ написан
  • Как правильно настроить обработку больших текстовых файлов на сервере, используя php?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    А в чем собсно проблема? там же все довольно прозрачно, что конкретно не понятно? Структура базы? Яваскрипт чата? Код сервернрй части?
    Ответ написан
  • Можно ли использовать простые функции внутри класса?

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

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

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

    Если оно должно динамически изменять контент на текущей странице - аякс запрос на скрипт(у вас он вроде верный, не хватает обработчика ответа), скрипт уже формирует данные и отдает в ответ на аякс запрос по вкусу - кусок хтмл или json данные, смотрите с чем вам удобнее будет оперировать.
    Ответ написан
    3 комментария
  • Как отправлять в ajax функцию вместе id продукта и его quantity?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) функция у вас должна принимать 2 аргумента, вы ей передаете 1. Соответственно второй аргумент андефайнед.
    2) для того чтобы получить значение квантити его передавать не надо, так как вы его заранее не знаете. Вместо этого: уберите второй аргумент в функции. Вместо этого используйте this как опорный объект, от него находите парент (это будет див оборачивающий ваш блок, в вашем случае div.button-group), и в нем ищете .input_quantity.val()(это будет количество ) и вот его уже передаете в параметрах аякса.
    Ответ написан
    5 комментариев
  • Как сделать сайт доступным только для определённых лиц?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще - логин пароль достаточно, как вариант можно добавить хэш-ключи, для урлов, что-то типа crm.companyname.ru?hash=sd3flkw45df-03495dd56 и без правильного хеша не авторизировать.
    Ответ написан
  • Как оптимизировать преобразование PDF в PNG?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Зачем такое разрешение - 300 дпи? Это критично? Поставьте 100-150, для экрана это более чем достаточно.
    2) Выделите обработку в отдельный скрипт и запускайте из консоли в отдельном потоке каждую страницу - консольные приложения не имеют ограничения по времени исполнения, с другой стороны - на шареде может не поддерживаться cli.
    3) Замер тайминга не делали? Что из операций отжирает ресурс? Сначала бы определить что оптимизировать...
    4) Неплохо после обработки использовать clear
    Ответ написан
  • Как сделать чтобы у каждого цикла был свой рейтинг правильно написать ajax запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Используйте нормальные переменные, и вам легче будет и другим читать без матюков станет возможным. Ну что за название переменных ya, as? summa и reiting тоже доставляют, неужели лень посмотреть как это по английски пишется? Двойная польза - и язык учите и чтаемость повышаете же.
    2) Не понятна проблема, как вам указали в комментарии - это параметр у вас уже есть в первоначальной выборке, зачем вы его тащите аяксом - загадка.
    3) function film(){...} - те же ошибки - во первых что за название? Что делает эта функция? Фильм? Вы что, из принципа экономите буквы? Нельзя нормально написать function getMovieRate(movieId){...}?
    4) В большинстве случаев надо пользоваться "чистыми" функциями, то есть(упрощенно) функция не должна менять окружение, она должна принимать параметры и возвращать результат. У вас же она что-то мутит с элементами не принимая никаких параметров...

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

    ThunderCat
    @ThunderCat Автор вопроса
    {PHP, MySql, HTML, JS, CSS} developer
    Итак, долго ли коротко... Были просмотрены почти все перечисленные в топике редакторы, некоторые отсеяны на этапе демо/превью, некоторые попробованы, но не подошли по некоторым причинам, в итоге в финал вышли, как не странно, Скетчап(ниже поясню) и Pro100.

    В целом удобнее и привычнее вышло в про100, за один вечер я накидал 2 планировки - старую(текущую) и новую(задуманную). Вышло быстро, достаточно просто и гибко, размер любого объекта можно задать из свойств, много готовых объектов уже было в библиотеке.
    Плюсы:
    1) Простая, близка по духу к 3д максу, очень интуитивно работается
    2) Все можно изменить на лету и в миллиметрах
    3) Если объект куда-то двигаешь и он не влазит - он просто не идет в место где места нет, например в простенок 40 см нельзя впихнуть шкаф 40,1 см. Если надо именно "впихнуть невпихуемое" - нажимаем шифт и оно едет куда скажешь, при этом подсвечивает поверхности которые "не вошли" в габариты. То же касается трансформации объектов - они тянутся ровно до границ свободного пространства, что весьма удобно.
    4) есть готовые образцы штукатурки/обоев/плитки, и их МНОГО. Как и мебели.
    5) несколько очень удобных режимов отображения, например с полупрозрачностью объектов(этакий x-ray).
    6) Готовый вид с чертежным выносом размеров.

    Недостатки:
    1) Нет возможности подвигать раскладку плитки и подобрать вариант подрезки/раскладки, точнее можно, но это возня и муторно, несколько объектов, стыковка, куры-гуси... можно создать поверхность побольше и подвигать ее, но опять же это не удобно.
    2) Не имеет вариантов с прокладкой кабелей/строб/труб, в принципе сейчас это не нужно, но имхо это недостаток редактора.
    3) Рендер "красивое 3д" - это не про него, качество рендера на троечку. Опять же - мне подошло, бо я примерно знаю как что будет выглядеть, после 4 то пережитых ремонтов )
    4) Нет возможности экспорта в какие-либо другие форматы, разве что в картинку.
    Если что-то упустил - спрашивайте/поправляйте в комментах.

    Теперь про скетч...
    Я начну с минусов, так как они больше мне бросились в глаза и доставили много анальной боли, а затем перейду к анастезии и плюшкам...
    Недостатки:
    1) Скетч не умеет задавать размеры УЖЕ СОЗДАННЫМ объектам. Точка.
    2) Задать их при создании можно, но это отдельный гемор, надо вводить руками в нижней консоли через точку с запятой размеры в формате "250 mm; 200 mm;" и отдельно при экструдинге то же для высоты, и не дай вам бог шевельнуть в процессе мышкой, все размеры сразу улетают на йух.
    3) Объекты при создании липнут к другим объектам намертво, при перемещении вырывая куски друг из друга. Что бы этого не происходило нужно сильно заморочиться - создавать объекты и помещать их в отдельные слои или выделять в отдельный компонент, короче это обходится, но по умолчанию все липнет аки пластелин.
    4) Оооочень неудобная система с отдельными инструментами выбора/движения/панаромирования/трансформации, то есть в максе и прочих подобных(включая про100) это реализовано буквально 1 инструментом, здесь же: тыкаешь что тебе надо, потом переключаешься на перемещение, потом на трансформацию, потом на инструмент движения сцены... Бррр...

    Были еще какие-то нервирующие моменты, но меня хватило на минут 30 поиграться...
    После того как проект был создан в про100, товарищ по работе (дизайнер) все же решил поглубже копнуть в скетч (ибо миллионы мух не могут ошибаться!), и руководствуясь и воодушевляясь какими-то уроками на ютубе, все же выстроил примитивный домик в 2 этажа без мебели и отделки часа за 2(на самом деле просто бетонную коробку с дырками вместо окон и дверей разделенную на 2 этажа, но меня и на это не хватило). По результатам делюсь что хорошего в скетче, и "как его готовить", итак
    Плюсы:
    1) Бесплатный в базовой версии, которая умеет практически все необходимое, платная (1 доллар емнип) позволяет еще и прогуляться в построенном здании используя кардборд и VR представление.
    2) Для построения хитрых деталей можно использовать крутые шейперы/экструдеры и прочее
    3) Для трансформации нельзя использовать цифры с размерами, НО! можно понатыкать направляющих и опираясь на них трансформировать объекты от линии до линии, что в принципе приемлемо.
    4) В основу можно положить плоский чертеж, и обведя его получить экструдингом вполне готовый контур здания/объекта.
    5) Народ без "ментального легаси" а-ля 3д макс и иже с ним вполне возможно быстрее и проще освоится именно со скетчем. Уроков по нему много, и народ в нем рисует буквально все, от кукольных домиков для мультиков, до мотоциклов и самолетов.
    6) Экспорт в кучу разных форматов.

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

    Всем спасибо!
    Ответ написан
    Комментировать
  • Что не так со скриптом, если PHP всё время получает 0 от БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще то магия вне Хогвардса запрещена, по этому ищите материальные причины:
    1) Проверьте что попадает в запрос, просто выведите строку в ехо:
    echo "SELECT `id` FROM `users` WHERE `name` = '$fullname' AND `password` = '$password'";

    2) вставьте в консоль мускуля или в пхпмайадмин эту строку и посмотрите что вернет запрос(скорее всего уже на первом шаге будет ясно что там какая-то лажа)
    3) Проверьте что в базе реально есть такая строка которая соответствует запросу(опять же, скорее всего косяк где-то в пп1-2 и к этому шагу вы не дойдете)

    PS: логин с паролем в куках - это сильно )
    Ответ написан
    Комментировать
  • Jquery как заставить работать событие по нажатию на копку?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Насколько я понимаю - connection.commit() завершает транзакцию, но если вы сделали инсерт, а затем не сделали комит, то транзакция автоматически откатится, однако так как инсерт "уже был", внутренний курсор автоинкремента сместится на количество (не)добавленных строк.

    Почему так происходит и как этого можно избежать?

    - Доктор, я когда вот здесь нажимаю - больно!
    - Не нажимайте здесь.
    Ответ написан
    Комментировать
  • Как исправить ошибку синтаксиса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Каждая строка пхп заканчивается ;
    И где тут про капчу?
    Ответ написан
    Комментировать
  • Что влияет на скорость загрузки редакторов сайта?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в этом же шаблоне (index.phtml) я могу написать например $test = new Home; var_dump($test); и это работает.

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

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    PhpStorm - открыть папку с хтмльками как проект, вкладка "проект" - правой кнопкой в корневую директорию - replace in path - пишете что на что менять. Поддерживает регулярки.
    Ответ написан
    Комментировать