• Как сделать подобие калькулятора?

    @link_irk
    Ответ написан
    Комментировать
  • GOOGLE перестал открывать новые окна - дает сайт в своем же окне. что это? как так?

    @link_irk
    Ссылки в результатах поиска по-прежнему имеют атрибут target="_blank", который указывает что ссылки должны открываться в новом окне (вкладке). По-умолчанию современные браузеры открывают такие ссылки в новой вкладке. Соответсвенно проблему нужно искать в вашем браузере. Какой используете? Попрбуйте в другом.
    Ответ написан
  • Можно ли покопатся внутри js?

    @link_irk
    В любом современном браузере есть инструменты разработчика.
    Напрмер: console.log(window) выведет в консоль браузера информацию об объекте window.
    Ответ написан
    Комментировать
  • Что быстрее использовать для получения данных в массив - файлы или БД?

    @link_irk
    Если данные имееют определённую структуру, связи, то целесообразно использовать БД. Если же просто строки (котрые не нужно обрабатывать), то можно обойтись и файлами. Таким образом скорость работы с этими данным на уровне файлов или БД зависит от самих данных.
    Ответ написан
    Комментировать
  • Что означает этот код(в описании)?

    @link_irk
    Обфусцированный javascript код. Что он делает не понятно. Но вряд ли что-то хорошее. :) Возможно, выводит какие-нибудь скрытые фреймы, баннеры... Или эксплуатирует какие-то дыры браузера для выполнения вредоносного кода.
    Ответ написан
    Комментировать
  • Удаление вложенных классов в элементах табов?

    @link_irk
    Если я правильно понял, то при нажатии на любой таб должны скрываться (удаляться класс appear) все элементы .project и устанавливаться класс apper только у связанного по data-type блока. Тогда можно сделать так: $('.project').removeClass('appear');
    А уже потом $('.tab-el.'+selected_member+'').find('.project').addClass('appear');
    То есть логика такая: убрали у всех, установили у нужных
    Ответ написан
    Комментировать
  • Баг с сессиями?

    @link_irk
    Попробуйте вместо filter_var использовать ф-цию intval(). Она тоже поможет защититься от SQL инъекций, потому как возвращает false, если переданный аргумент не удалось преобразовать в целое число
    Ответ написан
  • Как настроить curl, чтоб он поддерживал шифрование по ГОСТ?

    @link_irk Автор вопроса
    С КриптоПРО тоже не всё так гладко. Обязательно ли устанавливать сертификаты в контейнер КриптоПро или можно также передавать их параметрами при вызове curl? Есть ли возможность заставить курл работать через oepnssl? Потому как с openssl проблем вообще не возникает. Спасибо
    Ответ написан
  • Можно ли реализовать подключение к бд в зависимости от пары логина и пароля?

    @link_irk
    Заведите ещё одну БД :) В которой храните связку логин-пароль, имя БД и адрес MySQL сервера. Далее сверяйте введённые данные пользователем с данными в этой таблице и подключайте скрипт на БД, соответствующей извлечённым данным.
    Ответ написан
  • Удаление файлов через определенное время?

    @link_irk
    Cron - это планировщик задач в *nix системах. То есть при помощи него задачи можно исполнять с определёнными интервалами или в определённое время. PHP скрипт можно исполнить передав его адрес напрямую в интерпретатор (не используя веб-сервер).
    Создаёте таблицу в БД, куда будете вносить данные о загружаемых файлах: имя, дату загрузки, размер... Пишете PHP скрипт, который будет выбирать записи из БД, соответствующие определённым условиям (загруженные более 5 дней назад; последние записи, суммарный размер которых составляет 100 мб.). Затем в цикле удаляете эти файлы функцией unlink.
    Теперь осталось создать задачу для крона. Например, будем каждый день в полночь проводить чистку. В панели управления сервером выбираете нужный интервал. В качестве команды укажите путь к интерпретатору с параметром - путь к скрипту, который будет чистить. Например: /usr/bin/php /home/user/www/cleaner_cron.php
    Путь к интерпретатору ищите в FAQ'е хостинга или же спросите в службе поддержки
    Ответ написан
    Комментировать
  • Как сделать выборку из файла?

    @link_irk
    Вам нужно пройтись по строкам файла. Распарсить каждую строку функциейцией explode по разделителю. И сформировать уже из этих данных результирующий массив. Что-то типа такого:
    $file = file('in.txt');
    $data = array();
    foreach($file as $i => $line)
    {
        $data[$i] = explode('|', $line);
    }
    Ответ написан
    2 комментария
  • Как сделать пользовательский интерфейс на php?

    @link_irk
    Минимальный набор: SQL, PHP (или другой язык по вкусу), HTML, CSS. JavaScript и смежные с ним технологии (тот же AJAX) вовсе не обязательны и нужны для того, чтоб добавить интерактивности и удобства интерфейсу веб-приложения
    Ответ написан
  • Почему шрифт отображается с задержкой?

    @link_irk
    Загрузка шрифта с удалённого сервера - отдельный http запрос, который этот сервер обрабатывает. А браузер в это время ждёт от него ответа. Если вы посмотрите в отладчике, то увидите этот запрос (а скорее всего их там будет даже несколько с различными начертаниями и форматами шрифта). Я конечно не уверен, но смею предположить, что загрузка шрифтов с вашего сервера (а грузятся шрифты именно в браузере у клиента) не ускорит этот процесс, если конечно маршрут до вашего сервера не окажется быстрее. Выход - заставить всех пользователей установить этот шрифт локально у себя на компьютерах :) Или же искать сервисы со шрифтами, время загрузки которых будет минимально (причём не только у вас, но и у всех клиентов). Но, сомневаюсь, что вы найдёте что-то лучше, чем Google. Ещё попробуйте указать альтернативный шрифт в CSS (font-family: 'Open Sans', Arial). Вероятно, в момент подгрузки шрифта текст будет выводиться корректно, но другим шрифтом
    Ответ написан
    Комментировать
  • Изменение вывода даты в PHP?

    @link_irk
    Из текущего времени в Unix формате (функция time()) вычесть время (приведённое к timestamp), когда была добавлена запись в БД. Получите количество секунд прошедшее с момента добавления записи. А там уж проверяйте условия:
    if ($time < 60)
    echo 'Только что';
    elseif($time >= 60 && $time < 60 * 60)
    echo 'Прошло минут: ' . ($time / 60);
    elseif($time >= 60 * 60 && $time < 60 * 60 * 24)
    echo 'Прошло часов: ' . ($time / 60 / 60);
    else
    echo 'Прошло суток: ' . ($time / 60 / 60 / 24);

    Ну или как душе угодно...
    Ответ написан
    Комментировать
  • Как по другому вывести цикл, чтобы данные вносились в таблицу, а не дублировали её?

    @link_irk
    Вам нужно данные по строкам таблицы накапливать в массиве. И потом передавать уже этот массив в шаблон, где в цикле массив будет разбираться на строки таблицы. Или же выносить тело таблицы в отдельный подшаблон. И на каждую итерацию mysql_fetch_assoc создавать объект с этим шаблоном, парсить их, потом соединить в одну строковую переменную и передать основному шаблону уже готовый HTML в переменную вроде:
    ...
    <tbody>
    {sites_data}
    </tbody>
    ...

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

    @link_irk
    Связующая таблица должна хранить id записей двух других таблиц. У Вас же id_people_name, id_city_name, хоть и INT. Что мешает писать в statistics данные тем же INSERT?
    Например, у Вас есть запись в
    people: 123, Пушкин Александр
    cicties: 252, Иркутск

    Тогда получится
    INSERT INTO `statistic`(`people_id`, `city_id`) VALUES(123, 252)

    Я, конечно, допускаю что один человек может быть связан с несколькими городами, но вы уверены, что вам нужна связь именно M:N?
    Ответ написан
  • Как вызвать C++ метод класса, callback из библиотеки на C?

    @link_irk Автор вопроса
    Спасибо. Проблема решена событиями.
    Ответ написан
    Комментировать
  • Как отключить слежку Google?

    @link_irk
    Первое, что приходит в голову - адреса серверов сбора статистики замкнуть на сетевую петлю через DNS (файл hosts).
    А вообще, ГУГЛ собирает не Ваши персональные данные, а просто статистику. Они же не знают, что это именно Вы сидите за компьютером и кому принадлежит этот компьютер. А так как данные обезличены, имеет ли смысл их прятать, если они нужны для более комфортного поиска и т.д...
    Ответ написан
    4 комментария
  • JavaScript: как не сбрасывать фокус при клике по элементу?

    @link_irk
    Попробуйте обрабатывать нажатие на кнопку по событию onmousedown, а не по клику. onmousedown наступает раньше и вы успеете нормально обработать событие, до потери фокуса. А чтоб выделение вообще не сбросилось напишите в конце обработчика return false;
    Ответ написан
    2 комментария
  • Как осуществлять очистку пользовательского html?

    @link_irk
    strip_tags вырежет все теги из строки (включая пользовательскую разметку, если таковая имеется). Если данные будут добавляться в БД, то перед выполнением запрос не лишним будет прогнать через функцию mysql_real_escape_string, которая очистит его и подготовит к безопасному выполнению. Но лучше вынести методы работы с БД в отдельный класс и работать через него. Таким образом вы не упустите в коде ни один запрос. Также уделите внимание валидации полей форм и GET, POST данных, поступающих в скрипт.
    Ответ написан
    5 комментариев