Рейтинг
0.00
голосов: 0

О блоге

В этом блоге рекомендую публиковать статьи про вёрстку, html, css. Статьи, которые посвящены тем частям сайта или приложения, которые видят пользователи.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (3)

Maugli AndreyART a1ex

Unix Timestamp начало текущего дня PHP

Как получить время (timestamp) начала сегодняшнего дня в PHP?
Для этого в PHP легче всего использовать функцию mktime
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )


Достаточно вызвать её с параметрами, которые указывают, сколько времени прошло от начала даты. Вот пример:
$dayStart = mktime(0,0,0);
переменной $dayStart будет присвоен штамп времени начала дня.
Три ноля указывают сколько прошло от даты: часов, минут, секунд. Остальные параметры: день, месяц и год — будут подставлены автоматически.

Yandex Map API 2.0 получить страну

Как получить страну по координатам?
Казалось бы, задача не сложна. И в API много про это говорят, но есть одно но… Нет запроса, который возвращает именно страну.

На самом деле ответ немного скрыт в возвращаемых объектах геокодера.


// coords - массив координат [x,y]
ymaps.geocode(coords, {
        results: 1,
        kind: 'locality' // запрос - какой город. Как раз в этом запросе и возвращяется страна
    }).then(
            function(res) {
                var geoObject = res.geoObjects.get(0);
                if (geoObject === null) {
                    var _city = ''; // если не найден - возвращаем пустую строку
                } else {
                    var _city = geoObject.properties.get('name'); // получаем название города
                    var _country = geoObject.properties.get('metaDataProperty.GeocoderMetaData.AddressDetails.Country.CountryName'); // получаем название страны
                }//if
                // выводим в нужные поля. тут можно подставить любой нужный код
                $('#city').val(_city);
                $('#country').val(_country);
            },
            function(err) {
                // обработка ошибки - можно вывести сообщение об ощибке
            }
    );

Отправка формы средствами JavaScript с прохождением встроенной валидации браузера HTML5

Получилось немного заумное название, но смысл от этого не меняется.

Итак, наша задача, чтоб при нажатии на кнопку отправки формы обработчику Submit, выполнилась встроенная в браузер проверка формы, например на обязательные поля, но после неё выполнилась не стандартная функция отправки формы, а наша, написанная на JavaScript.

В данном случаем будем использовать javascript framework jQuery. Так проще обращаться к дереву DOM.

Отправка формы средствами JavaScript с прохождением встроенной валидации браузера HTML5

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

<form id="test-form">
    <input type="text" required="" id="test" /><br />
    <input type="submit" value="Отправить форму" />
</form>
<script type="text/javascript">
$("#test-form").on('submit', function(e){ // создаём обработчик события
    e.preventDefault(); // перехватываем стандартное событие и не выполняем его
    alert($('#test').val()); // выполняем свой код
});
</script>

Пример рабочий, можете пробовать!

Как прописать SPF запись для домена?

Ваша почта попадает в спам или совсем не доходит до адресата? Администраторы просят Вас прописать SPF запись, но вы не знаете как?

Как прописать SPF запись для домена?
Теперь не нужно листать энциклопедии и пытаться понять структуру SPF протокола. Наши англоязычные коллеги сделали генератор SPF записей. Находится он по адресу www.spfwizard.net.

К сожалению, сайт не поддерживает русский язык, так что попробую немного перевести. Смотреть изображение ниже.
SPF запись для домена

Политика запрета и разрешения (при несоответствии правилам):
  • Fail — почта будет отклонена
  • SoftFail — почта будет принята, но помечена как спам
  • Neutral — почта будет принята, если нет других запретов

Microsoft атакует или bingbot нагружает сервер

bingbot во время сканирования нагружает сервер?
Да, Вам не показалось, у меня точно такая же проблема. Уже несколько дней подряд, в вечернее время, поисковый бот bingbot создаёт страшную нагрузку на веб сервера!

Один не очень сильный VPS уходит в 20-30 секунд ответа на запрос. Ужас нах...

Стал разбираться. В логах веб сервера сплошной bingbot… WTF???

На этот вопрос решил не тратить время и думать как же его забанить. Ответ позаимствовал у наших англоязычных коллег. У них, как выяснилось, такая же проблема.

Добавляем в файл .htacces следующие строки:
SetEnvIfNoCase User-Agent ".*bingbot" badbingbot
Deny from env=badbingbot

Всё. Плохой бот — убит!))

Чтоб проверить, нужно обратиться от имени bingbot к серверу. Например так:
wget -U "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" http://domain.com/

Вместо domain.com указать имя своего сайта.

Как прижать футер к низу экрана (окна браузера)

Извечная проблема — Как прижать футер к низу экрана (окна браузера). Возникает она не часто, но как обычно не вовремя и решения в голове постоянно не находится. Вот по этому предлагаю простое и не громоздкое JavaScript решение решение.

Скрипт умеет автоматически подстраиваться под размер окна браузера при его изменении и легко модернизируется под Ваши нужды.

function footer2bottom() {
    var $footer = $('.footer-container'); // class элемента футера. вместо него можно использовать ID
    $footer.css('margin-top', 'auto'); // сбрасываем настройку верхнего отступа для блока футер
    if ($('body').height() < $(window).height()) { // если высота body меньше, чем высота окна
        var fmargin = $(document).height() - $footer.offset().top - $footer.height(); // вычисляем верхний оступ
        $footer.css('margin-top', fmargin + 'px'); // применяем верхний отступ
    }//if    
}
// обработка события после загрузки дерева DOM
$().ready(function() {
    footer2bottom(); // вызываем функцию для футера
    $(window).on('resize',function(){ // если окно изменяет размер (можно дописать другие события)
        footer2bottom(); // вызываем функцию для футера
    });
});

Замена параметра в строке адреса JavaScript

Как заменить параметр в строке адреса средствами javascript?
Пару слов о примере, где это понадобилось.

Пример очень простой, есть ссылка в старом интернет магазине на Joomla + Virtuemart. На страничке с товаром сделан небольшой фильтр, результатом работы которого является переход к нужной категории.
Смысл в том, что сам фильтр установлен на страничку категории. SEF не задействованы и строка адреса выглядит вот так — ...&category_id=28.

Нам нужно обратиться по той же самой строке, но заменить в ней ID категории. (пример исключительно для ознакомления!)

Замену выполним при помощи регулярного выражения:
location.href = location.href.replace(/category_id=\d+/, 'category_id=' + last_cat);

Изменить цвет маркера для маркированного списка html

Есть несколько способов изменить цвет маркера в нумерованном списке
Я опишу тот, который выбрал сам)

Начнём с конструкции маркированного списка:
<ul>
      <li>текст 1</li>
      <li>текст 2</li>
      <li>текст 3</li>
</ul>

Для смены цвета маркера на красный создадим такие правила в таблице стилей CSS:
li{
    list-style-type: none; /* Прячем исходные маркеры */
}
li:before {
    color: red; /* Цвет маркера */
    content: "•"; /* Сам маркер */
    padding-right: 10px; /* Расстояние от маркера до текста */
}

Так же таким методом можно сменить и сам маркер, просто указав его символ в строке content: "•";

Скрыть все элементы кроме указанных JQuery

Как правильно подобрать селектор для скрытия всех элементов кроме элементов с определённым ID?
Имеем блок на страничке с набором элементов у которых заданы, либо не заданы ID.
Например:

<div class="test">
    <div id="test1">test1</div>
    <div id="test2">test2</div>
    <div id="test3">test3</div>
    <div>test no ID</div>
</div>

Нам нужно скрыть все дочерние элементы блока с классом «test», кроме элементов с ID = [test2, test3]. Для выполнения этой задачи, будем использовать возможности удобного JavaScript фреймворка jQuery.


Читать дальше

Случайный выбор из массива в PHP

Как сделать случайный выбор элемента из массива в PHP?

Вот функция, которая это делает:

function getRandomEl($array){
    return $array[mt_rand(0, count($array)-1)];
}

Немного информации. Для получения случайного элемента массива используем генератор случайных чисел, а именно функцию mt_rand(от, до)от и до включительно.

Так как массивы у нас начинаются обычно с ноля, то используем диапазон от 0 до (длинна массива — 1).