Ответы пользователя по тегу PHP
  • Как правильно посчитать разницу двух сумм в процентом соотношении и вывести разницу в условии на PHP?

    Serhioromano
    @Serhioromano
    Web Developer
    От большего отнимаешь меньшего, и остаток определяешь процент от большего. Например средняя стоимость 100руб. Минимальная 1 руб. 100-1=99 разница в рублях. Теперь 99разнца / (100руб / 100%) = 99%.
    Ответ написан
    Комментировать
  • Как подставить ID записи в Модальное окно?

    Serhioromano
    @Serhioromano
    Web Developer
    <a class="delobj" href="javascript:void(0)" data-obj="13220">
        <img src="/img/icon_delete_object.png">
    </a>
    function($){
         $('.delobj').on('click', function(){
              if(confirm('Sure?')) {
                   window.location.href = 'handlers/delete_object.php?id_obj=' + $(this).attr('data-obj')
              }
         })
    }(jQuery)


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

    Serhioromano
    @Serhioromano
    Web Developer
    Не совсем понятна архитектура приложения. Вроде РНР а предполагается Аякс.

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

    Serhioromano
    @Serhioromano
    Web Developer
    Я обычно реализую с использованием CDN AWS S3. Удобно, хороший API, работает быстро, не создает нагрузки на диски и скорость самого сайта.

    Поднять субдомен можно, но нужно с дргого диска читать картики. Если они будут читаться с тогоже диска, то разницы в том будь это тот же или поддомен нет.
    Ответ написан
    2 комментария
  • Как правильно совмещать фронт-енд с бэк-ендом?

    Serhioromano
    @Serhioromano
    Web Developer
    Именно подобные советы книг которые получили распространения, породили кучу уродливых технологий как например Smarty. Все эти библиотеки шаблонов цель которых была не решение конкретных задач, а просто следование вот этому совету, создали много проблем особенно со скоростью работы.

    РНР нужно вставлять в HTML. Просто нужно пользоваться таким движком, в котором разделен сам РНР. Бизнес логика в отдельных РНР файлах без HTML и логика отображения в файлах видов. Как уже сказал Dima Polos это паттерн программирования MVC и его производные.

    У любом случае, я бы посоветовал начать изучать какой-нибудь фремворк типа Ларавел, где все сделано правильно, и на нем учиться как делать правильно.
    Ответ написан
  • Устранение дублей страниц сайта с помощью robots и htaccess?

    Serhioromano
    @Serhioromano
    Web Developer
    Я бы просто добавил мета тег каноникал на страницу.
    Ответ написан
    4 комментария
  • Как правильно хранить в базе данные о авторизации юзера через социальную сеть?

    Serhioromano
    @Serhioromano
    Web Developer
    Не первое и не втрое. Создавать отдельную табилцу на каждую соц сеть не резонно. Нужно создать одун таблицу справочник как поивел пример unity_ultra_hardcore: для всех социальных сетей. Просто в ней нужно специальное поле идентификатор соц. сети.
    Ответ написан
    1 комментарий
  • Как сделать форму заказа на joomla?

    Serhioromano
    @Serhioromano
    Web Developer
    Уверен что у Виртуемарт есть плагин оплат который просто шелт содержимое корзины на почту как заказ.
    Ответ написан
    Комментировать
  • С чего начать изучать PHP, если я полный ноль в этом?

    Serhioromano
    @Serhioromano
    Web Developer
    Даже Javascript не знаю.


    Вот с него и начните. Не лезте в РНР.
    Ответ написан
    2 комментария
  • В чем проблема с запросом MySQL?

    Serhioromano
    @Serhioromano
    Web Developer
    Бывает :)
    Ответ написан
    Комментировать
  • Какая PHP IDE под Mac лучше?

    Serhioromano
    @Serhioromano
    Web Developer
    Вообщем хотелось бы видеть что-то максимально похожее на Xcode


    Не смок удержаться ) Если бы РНР редакторы били максимально как Xcode я бы уже давно или сменил язык или профессию ))
    Ответ написан
    Комментировать
  • Как сделать вход в админку прямо с сайта?

    Serhioromano
    @Serhioromano
    Web Developer
    Сложно ответить на этот вопрос не понимая что вы используете. Вы пишете свою кмс или вы используете готовый фреймворк, или что то еще? Во всех случаях это решается по разному. Но в общем идея одна и называется она ACL.

    Это когда пользователь залогинен, проверятюся его права на доступ в административную часть, и если они есть до он может туда зайти. А форма логинации может быть одна и таже для админа и для простых пользователей. Но в WP как раз 2 разные формы в 2 разных интерфейса.

    Но в этом и проблема. Разделение на админку и сайт, это пережиток. Это то что мы унаследовали от эволюции CMS. И если вы делаете что то сами, то при возможности этого нужно избежать и не делать 2 раздельных интерфейса для админки и для сайта.
    Ответ написан
    3 комментария
  • Почему у PHP такая опулярность?

    Serhioromano
    @Serhioromano
    Web Developer
    PHP это снежный ком. Он катится, и становится больше. Но проблема в том что он катится с горы. И в придачу почти достиг своей кретической массы, при которой начнет разваливаться пряма на ходу.

    Многие думают что РНР пробудет еще многие годы. Осмелючь дать другой прогноз. РНР сметет с рынка так быстро, что вы не успее одуматься. За 2-3 года, он потеряет больше половины своей массы. Может это для вас и не быстро, но для меня это молниеностно.

    Технологии сейчас так быстро развиваются что если оглянутся где мы были всего 3 года назад то можно удивится. Ведь еще не было ангуляр или ноуд. А сегодня кажется что они были уже десяток лет. Ошушение времени очень ложное сейчас.

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

    Serhioromano
    @Serhioromano
    Web Developer
    Если вы о безопастности, то нет ни какой разницы. fopen() будет работать из под пользователя PHP. Это значит что если даже 644 то любой РНР скрипт сможет получить доступ к файлу. То есть любой backdoor сможет с ним работать если у хакера получится закачать файл на сервер.

    Я думаю что можно ставить 777-755. Разници нет. Главная защита тут, не разрешить запуск несанкционированых файлов. К сожалению вы не указали с какими расширениями файлов вы будете работать. Но суть одна. Нужно добавтиь .htaccess который запретит доступ ко всем файлам кроме тех которые вы создаете.
    Ответ написан
    Комментировать
  • Как выводить записи из таблицы БД MySQL без перезагрузки страницы?

    Serhioromano
    @Serhioromano
    Web Developer
    Кто может подсказать, что использовать, если проект на MySQL, PHP, JS (AJAX)?


    То что вы хотите называется two-way-bindings. Это когда на странице без перезагрузки появляются данные которые были добавлены в базу.

    Считаю что лучшим решением для это - AngularJS но и если вам понравится то ReactJS. Все будер работать из коробки.
    Ответ написан
    Комментировать
  • Как сделать пользовательский интерфейс на php?

    Serhioromano
    @Serhioromano
    Web Developer
    Как я понял, знаний у вас 0, и главная проблема вы даже не знаете куда начать копать, и какие ключевые слова использовать что бы зацепится за тему.

    Я думаю что вам придется столкнутся с яваскриптом если вы хотите динамический интерфейс, что бы точки на карте двигались синхронно с пермещением рабочих, без перезагрузки страници. Самым оптимальным способом тут будет jQuery. Можно использовать готовые библиотеки типа

    - https://code.google.com/p/jquery-ui-map/
    - maplacejs.com

    Посмотрев как они работают, можно просто из демо, уже взять сохраненные данные и разместить на карте.

    Схема примерно такая,

    1. РНР сохраняет данные с телефонов в базу
    2. Клиент или интерфейс менеджера, шлет запрос к базе через AJAX к базе, получает все текущие точки и выводит на карту при помощи выше упомянутых плагинов.
    Ответ написан
    Комментировать
  • Какую литературу вы бы посоветовали для изучения php?

    Serhioromano
    @Serhioromano
    Web Developer
    Посоветую не тратить время на РНР а найти литературу по JavaScript. Лучше всего Ангуляр.
    Ответ написан
  • Стоит ли отказываться от CMS в пользу фреймворков?

    Serhioromano
    @Serhioromano
    Web Developer
    Нет ответа на этот вопрос однозначного. Если честно то этот вопрос в корне лишен профессионального смысла.

    Это зависит от проекта. Иногда клиенту нужна тирвиальная задача, которая решается просто установкай CMS и настрокой несколько часов. И потом у клиента панель управления. Нет смысле писать что то свое на фреймворке только потому что это тебе по душе, или потому что ты принял решение отказаться от CMS.

    CMS и фреймворки это разные подходы для решения разных задачь. Тебе нужно научится, выбирать правильное решение для конкретного случая, что бы экономить время и деньги клиента, свое вермя и зарабатывать больше.
    Ответ написан
    Комментировать
  • Есть ли что то вроде include (в PhP) у JavaScript?

    Serhioromano
    @Serhioromano
    Web Developer
    Не уверен что о серверном. Так как ссылки на node.js нет а автор сам не уверен.

    1. Решение зависит от того что вы имеете в виду. Если вам надо динамически подгружать сам JS то тогда что Виктор Выскребенцев: посоветовал.

    2. А если вам надо подгружать шаблоны HTML то тут 2 варианта.

    a) Если вы наполняете их данным на сервер, то полсьл можно исаользовать AJAX.
    б) Если вы их заполняете данными динамически при помощи яваскрипт то у вас SPA. Для этого лучше всего использовать готовые фреймворки как Ангуляр. И они сами обо всем позаботяться.
    Ответ написан
    Комментировать