Ответы пользователя по тегу PHP
  • Почему при перенаправлении запросов на index.php выдается 500?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Логи!!!! СМОТРИТЕ ЛОГИ!!!
    Первое что делается при 500 - смотрим что вызывает ошибку. Для дев окружения вообще в обязательном порядке прописывать
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);

    в индексе первыми строками.
    Ответ написан
    6 комментариев
  • Как извлечь из базы эмейлы пользователей и проверить на наличие новому?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $new_email = $new_email;Это за что?
    Ответ написан
  • Как найти максимальное значение в массиве сформированным Array_push()?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $result = max(massiv); =>$result = max($massiv);
    Используйте редакторы с подсветкой синтаксиса, такие ошибки вообще на уровне IDE отлавливаются.

    PS: $massiv, $peremen ... неужели 2 слова в переводчике нельзя посмотреть? Что за названия?
    Ответ написан
    1 комментарий
  • Как логично и структурно именовать переменные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите, более опытные коллеги, как вы именуете переменные?

    Максимально близко к естественному языку. А так же желательно с учетом рекомендаций к стандартам именований принятых в конкретном яп, $homepage_product_name == > $nameOfProductOnHomepage, хотя зачем там хоумпэйдж и чем отличается от не на хоумпэйдж - загадка.
    Ответ написан
    3 комментария
  • Как сделать перезагрузку страницы после отправки формы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    форма action которая ведет на файл php

    1) Если вы уберете "файл php" из экшна, фрома будет субмититься на текущий урл, что как раз будет давать вам перезагрузку. Естественно код отправки данных на емэйл тоже надо будет расположить в текущем скрипте.
    2) Отправляйте данные аяксом через яваскрипт, после чего перегружайте страницу из яваскрипта.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пробовал и data: data_uid, и data: {data_uid}, и data: {id: data_uid}, и data: {'id': data_uid}, и {`id`: data_uid} результат один и тот же. Также применял dataType: 'json' и 'text'.

    Не задумывались откуда на сервере (не)появляется $_POST['delete_utility']?
    Вы бы сделали var_dump($_POST) перед обработчиком и сразу бы увидели в каком виде приходят данные.

    $('#delete_utility').click(function(e){
    e.preventDefault();
    ....

    иначе форма будет субмититься, страничка перегрузится и ваш аякс уходит в гору. Или сделайте ваши кнопки не тип субмит, а тип баттон.

    url: '../admin/handlers/utilities_processing.php',
    - урл неплохо бы от корня сайта указывать.
    Ответ написан
  • Как ограничить просмотр через разные PHP скрипты, папок вне homeDir?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пользователь вводит логин и пароль на странице index.php , попадает на страницу login.php , где стартует сессия
    Если сайт использует сессии то сессия должна стартовать ВЕЗДЕ, не важно будет авторизироваться пользователь или нет.
    Ответ написан
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

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

    может сумма 0 - 120*30 и далее?
    или вам нарезка из секундных кусков нужна?
    или 2 минуты подряд?
    Ответ написан
  • Как генерировать png на 300 точек в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    DPI это условный параметр, который высчитывается в привязке к материальным размерам, реальных же параметров цифровой картинки всего два - ширина и высота в точках. Извращенные штуки а-ля пиксел ратио в расчет не берем. По этому берете ширину/высоту конечного изделия в см, переводите в дюймы и умножаете на 300, получите количество точек по соответствующей стороне.
    Ответ написан
    Комментировать
  • При загрузке вертикальных фото переворачивает в горизонт. Как убрать?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов 3:
    1) Добавить параметр: плюсы - просто, можно добавить гибкий параметр, например $sortField. минусы - в следующий раз понадобится менять еще и направление сортировки - прийдется снова костылить.
    2) Отдельный метод - уже лучше, но все равно рано или поздно функционал надо будет менять и с параметрами что -то прийдется делать.
    2.1) Передавать в качестве аргумента некий массив/объект настроек, плюсы - гибко, минусы - каждый раз надо учитывать/знать структуру объекта настроек, что не очень удобно.
    3) Использовать внутренние паблик свойства объекта для настройки работы логики объекта, плюсы - не надо менять инерфейс вызова, достаточно сделать
    $users->sortBy = 'order'; $users->sortDir = 'desc'; $users->getUsers();
    . Минусы - сходу не вижу, у кого есть идеи - отпишитесь в комментах.
    Ответ написан
  • Нужно ли разделять модель с выводом данных и поиском?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    имхо хорошим стилем будет использование коллекций для множественного выбора. Что-то типа
    $customers = new Collection(new Customer());
    $customers->createCollectionByFields(array('somefield'=>'somevalue'));
    $customersArray = $customers->getArray(); //return array of objects
    Ответ написан
  • Почему не отрабатывает ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    просто загружается пустая страница с dost.php.
    что не удивительно, форма просто субмитится, никакой аякс у вас просто не успевает обработаться, как это предотвратить я вообще то с комментариями расписал в вашем прошлом вопросе.
    как проверять что происходит:
    для яваскрипта есть 2 варианта:
    a) нубский вариант - alert('some string'); в принципе позволяет понять что и куда пришло в ходе выполнения скрипта
    б) тру подход - console.log(some_var); - выводит в консоль браузера подробную информацию о переменной
    Далее - в целом инструменты разработчика в хроме(F12) или например фаерфоксе, которые отслеживают много чего, их вы должны знать хотя бы в общих чертах, почитайте как работать с ними, материала масса.
    Теперь - что и куда(и как) отправляется:
    Вкладка нетворк в инструментах разработчика показывает все запросы по сети(включая закэшированные), их можно отфильтровать по типам, что очень удобно для отслеживания например именно аякс запросов. В составе каждого запрошенного элемента в частности есть метод, урл, данные и ответ сервера. По нему можно смотреть что отвечал сервер в ответ на аякс, не нужно никаких файлов и прочей хрени, просто смотрим ответ сервера.
    На стороне пхп - ПЕРВЫМ ДЕЛОМ если мы отсылаем какие-то данные мы проверяем в каком виде они пришли, то есть первой строчкой при отладке делаем var_dump($_POST); exit; и смотрим что пришло к серверу.
    Ответ написан
  • Как пробросить UTM метки внутри сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Да в сессию засуньте и все, дальше все движения элементарно отслеживаются. Хотите следить при последующих заходах - пишите в куки / локалстораж.
    Ответ написан
  • Как сделать preloader в php до загрузки html?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть вариант без аякса:
    1) делаете ссылку на страничку с прелоадером, то есть весь контент - только прелоадер
    2) Делаете на ней js: location.href = 'урл с гет параметрами который долго грузится'
    3) Profit! пока пхп не отдаст содержимое страницы с вашими тяжелыми запросами будет крутиться прелоадер, потом сразу загрузится вся тяжелая страничка.
    Ответ написан
    Комментировать
  • Как лучше реализовать обработку форм на php?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вас проблемы с арифметикой за 4 класс?
    50000/30 = 1666,(6) ~ 1667;
    1667/60 = ~28(запросов в секунду надо выполнить)
    если запрос выполняется более секунды - умножаете 28 на количество секунд запроса.
    Ответ написан
    Комментировать
  • Почему может возникать ошибка curl_setopt(): supplied resource is not a valid cURL handle resource?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что ошибка вываливается когда вы делаете 2 запроса используя 1 созданный объект ) Я бы на вашем месте не выносил инит в конструктор )

    Разве не достаточно проверки if (!$this->_ch) {...}

    там может быть например 1, что удовлетворяет условию, но нифига не ресурс. ЕМНИП is_resource будет как минимум правильнее. Но смысла особого в этой проверке нет.
    Ответ написан