Архив метки: Wordpress

Как отключить трекбэк и пинг на существующих постах в WordPress

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

Почему необходимо отключить пинги и трекбэки в WordPress?

В первые дни ведения блога, пинги и трекбэки были введены как способ для блогов уведомлять друг друга о ссылках.

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

Это Pingback будет отображаться в их блоге в качестве модерируемого комментария в очереди с ссылкой на ваш сайт.

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

WordPress позволяет отключить эту функцию. Вы можете сделать это, перейдя на страницу Настройки -> Обсуждения, а затем снимите флажок рядом с варианта  „Разрешить оповещения с других блогов (уведомления и обратные ссылки) на новые статьи“.

Отключить pingbacks на всех новых статьях

 

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

Давайте посмотрим, как легко отключить трекбэки и пинги на существующих постах WordPress.

Отключить трекбэки и пинги для постов в WordPress

Во- первых, вам необходимо посетить страницу Запись » Все записи, а затем нажмите на кнопку Параметры экрана в правом верхнем углу экрана.

Показать больше постов на странице

 

Теперь введите 999 рядом с вариантом «Количество элементов на странице», а затем нажмите на кнопку применить.

Это перезагрузит список постов, и теперь он будет показывать до 999 постов на одной странице.

Далее, вам нужно выбрать все посты, установив флажок рядом с заголовком постов.

Выделить все посты на странице

 

После этого необходимо выбрать «Изменить» в выпадающем меню и нажмите на кнопку «Применить».

 

WordPress теперь будет показывать вам окно редактирования свойства постов со всеми постами на выбранных страницах.

В объемном поле редактирования, вы должны найти вариант pings, а затем изменить его на «Не разрешать».

Не допускать пинги

Далее, вам просто нужно нажать на кнопку обновления, чтобы сохранить изменения.

WordPress теперь обновит и отключить пинг на всех выбранных постах.

Если у вас есть более 999 постов на вашем WordPress сайте, то вам нужно перейти на следующую страницу и повторите процесс.

Мы надеемся , что эта статья помогла вам узнать, как легко отключить трекбэки и пинги на существующих постах в WordPress. Вы также можете увидеть наш список из 12 жизненно важных советов и инструментов для борьбы со спамом в комментариях в WordPress.



2017-04-01T12:58:39
Лучшие учебники по Wodpress

Как запланировать cron jobs на сайте WordPress

На этом уроке мы объясним, как планировать cron jobs на сайте WordPress. Хрон планировщик заданий, который работает через интервалы времени в соответствии с вашими настройками во время создания хрон на базе операционных систем Unix. Он, как правило, автоматизирует несколько задач/заданий.

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

Действие wp_schedule_event() в WordPress сработает, когда прошел один час, и выполняется ваш скрипт для экспортирования данных из базы данных. В приведенном ниже фрагмента пользовательской функции do_this_hourly() будет выполнять ваш PHP код. Добавьте код, приведенный ниже в конце файла текущей темы в файле functions.php.

< ?php

 

add_action('my_hourly_event', 'do_hourly');

 

function my_active() {

    if ( !wp_next_scheduled( 'my_hourly_event' ) ) {    

 

        wp_schedule_event(time(), 'hourly', 'my_hourly_event');

 

    }

}

 

add_action('wp', 'my_active');

 

function do_hourly() {

    // Добавить что-то нужно делать каждые два часа

 

}

 

?>

 

Расписание хрона с планировщиком Cronjob

Вы также можете запланировать хрон с помощью плагина Cronjob Scheduler в WordPress. Это лучший WordPress плагин, чтобы запланировать cronjobs в ваших WordPress сайтов. Это позволит вам запускать свои задачи своевременно, без необходимости частого посещения своего сайта, все, что вам нужно, это по крайней мере, 1 действие и планировщик Unix Crontab!

Как настроить планировщик Cronjob

Загрузите последнюю версию плагина из каталога плагинов WordPress и загрузите его в папку wp-content/pluigns после того, как распакуете архивный файл. Теперь перейдите в админку в WordPress => Плагины и активируйте плагин Cronjob Scheduler, чтобы включить его функции. Ниже скриншоты, чтобы настроить плагин Cronjob Scheduler в WordPress.

плагин cron WordPress



2017-02-20T20:36:31
Лучшие учебники по Wodpress

Как объединить два WordPress сайта вместе без потери SEO

Недавно один из наших читателей спрашивал нас, как объединить два WordPress сайта вместе? Иногда вы можете создать несколько сайтов WordPress, но позже хотите объединить их вместе. WordPress поставляется со встроенными инструментами, которые могут легко сделать это. В этой статье мы покажем вам, как правильно объединить два сайта на WordPress вместе.

Зачем объединять два WordPress-сайта вместе?

Может быть много причин для объединения двух или более WordPress сайтов вместе. Вы можете начать новый WordPress блог, объединив свои старые блоги, так что вы можете иметь все свое содержание в одном месте.

Другой причиной может быть то, что один из ваших блогов не так хорош, и вы хотите, объединить его содержимое с одним из ваших основных блогов.

Большинство пользователей объединяют сайты на WordPress, чтобы тратить меньше времени на поддержание отдельной WordPress установки. Вместо того, чтобы обновлять и поддерживать резервное копирование WordPress двух или более сайтов, вы можете сосредоточиться на поддержании и продвижении только одного сайта на WordPress.

Давайте посмотрим, как легко объединить WordPress сайты вместе.

Экспорт контента из старого WordPress сайта

Ради этого примера, мы будем говорить, что у вас есть сайт WordPress на http://oldsite.ru, и вы хотите, его объединить с сайтом http://newsite.ru/.

Примечание
Важно: Не забудьте создать полную резервную копию WordPress обоих ваших веб — сайтов. Это пригодится в случае, если что-то пойдет не так, и вы хотите, вернуться к первоначальной установки.

Во- первых, вам необходимо посетить страницу Инструменты » Экспорт внутри админки вашего старого WordPress сайта. Это сайт, который вы хотите объединить с новым сайтом.

Экспорт контента со старого сайта WordPress

Убедитесь, что вы выбрали вариант «Все содержимое», а затем нажмите на кнопку «Скачать файл экспорта», чтобы продолжить.

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

Этот файл будет содержать следующее:

Объединение контента на новом WordPress сайте

Теперь, когда вы экспортировали контент со старого сайта, настало время, объединить его с вашим новым сайтом WordPress.

Зайдем в админку целевого сайта (место, где вы должны объединить содержание) и посетить страницу Инструменты » Импорт.

Установить импортер WordPress

На этой странице перечислены все инструменты импорта, которые вы можете установить и запустить на вашем WordPress сайте. Прокрутите вниз до нижней части и нажмите на ссылку «Установить сейчас» под WordPress.

После того, как импортер WordPress установлен, вам нужно нажать на ссылку «Выполнить импортер», чтобы продолжить.

Запуск импортера в WordPress

Далее, вам будет предложено загрузить файл экспорта WordPress.

Вам нужно нажать на кнопку «Выбрать файл», а затем выберите XML-файл, который вы скачали ранее.

Загрузить файл импорта WordPress

Нажмите на ссылку кнопку «Загрузить файл импорта» для продолжения.

WordPress теперь загрузит файл экспорта и проанализирует его. После этого, он будет перенаправит вас на страницу настроек импорта.

Настройка импорта в WordPress

Он попросит вас назначить авторов или создавать новых авторов.

Можно назначить импортируемое содержимое для существующего пользователя на вашем WordPress сайте или создать нового автора.

Далее, установите флажок под опцией «Импорт вложения«, чтобы импортировать вложения медиа-файлов со старого WordPress сайта.

Теперь вы можете нажать на кнопку Submit, чтобы запустить последний шаг импорта.

WordPress теперь будет импортировать содержимое из вашего файла экспорта и добавить его в свой новый сайт WordPress. После завершения, вы увидите сообщение об успешном выполнении.

Импорт закончен в WordPress

Настройка перенаправлений

После успешного слияния содержимого из двух WordPress сайтов, следующим шагом является установка переадресации, так что пользователи, посещающие старый сайт автоматически перенаправляются на новый сайт WordPress.

Вам нужно будет отредактировать файл .htaccess на старом WordPress сайте.

Вы можете отредактировать файл .htaccess, подключившись к WordPress сайту с использованием клиента FTP или с помощью диспетчера файлов в Cpanel на WordPress хостинге.

Файл .htaccess находится в корневой папке вашего сайта.

Вам нужно разместить этот код в верхней части вашего файла .htaccess.

#Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.newsite.ru/$1 [R=301,L]

 

Не забудьте заменить newsite.ru на доменное имя вашего нового сайта на CMS WordPress. Сохраните изменения и загрузите файл обратно на сервер.

Теперь вы можете посетить любой пост на вашем старом WordPress сайте, и вы будете автоматически перенаправлены на тот же пост на новом сайте.

Поиск и устранение неисправностей после объединения двух WordPress-сайтов

Как массово объединить и отредактировать категории и теги?

Вы можете очистить категории и теги, после слияния двух WordPress сайтов. Для подробных инструкций, проверьте наш учебник о том, как массово объединить и отредактировать категории в теги в WordPress .

Как импортировать недостающие изображения?

Для этого вам придется временно отключить переадресацию путем редактирования файла .htaccess и удалить код, который вы добавили ранее. После этого вы можете следовать инструкциям в нашем руководстве о том, как импортировать внешние изображения в WordPress.

Не забудьте настроить переадресацию после импорта изображений.

Фиксировать URL-адреса, указывающие на старый домен в постах и ​​страницах

Все внутренние ссылки в импортированных постах и страницах по-прежнему будут указывать на ваш старый сайт. Поскольку у вас есть настройки перенаправления, пользователи будут по-прежнему переходить на правильной пост на новом сайте.

Тем не менее, вам все еще нужно обновить URL — адреса для улучшения SEO и лучшего пользовательского опыта. Для получения пошаговых инструкций смотрите наш учебник о том, как обновить URL — адреса при перемещении WordPress сайта.

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

Как объединить два WordPress сайта вместе без потери SEO



2017-02-11T20:46:43
Лучшие учебники по Wodpress

Расширенный WordPress поиск и замена в базе данных в Linux с помощью sed

При переносе сайта WordPress или WooCommerce магазина на новый домен, вы можете найти некоторые URL-адреса или пути не обновленными. Точно так же при переходе с HTTP на HTTPS вы можете получить ошибки смешанного содержания, как правило, это может быть исправлено путем обновления базы данных. Традиционно существуют некоторые плагины и скрипты, которые помогут вам обновить базу данных, чтобы решить эти проблемы, если у вас все еще есть проблемы, этот пост должен помочь вам исправить пути и URL-адреса в вашей базе данных WordPress.

Мы впервые столкнулись с этой проблемой, когда обнаружили плагин Ultimate VC Add-ons, чтобы кодировать двоеточие и косую черту по- разному , как это http%3A%2F%2F

Я предполагаю, что у вас уже есть дамп базы данных WordPress, созданный с помощью PhpMyAdmin, плагина Adminer, дамп MySQL или WP-CLI.

Расширенный WordPress поиск и замена в базе данных в Linux с помощью sed

Я собираюсь использовать инструменты Linux  grep и sed для достижения максимальной скорости. Если у вас нет доступа к Linux, то вы можете использовать WordPress плагин  Better Search and Replace.

Поиск вхождений

Мы можем смоделировать с Grep, используя -c флаг, которая будет подсчитывать количество раз он находит строку domain.ru

grep -c 'andreyex.ru' database.sql

 

Вы получите целое число в качестве вывода, если вы видите 0, то нет вхождения domain.ru в базе данных

234

 

Закодированный URL

Некоторые плагины используют кодировку URL, которая использует этот формат для миграции HTTP и HTTPS %3A = :и %2F = /.

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

grep -c 'http%3A%2F%2F' database.sql

 

Слеши

Некоторые плагины избегают  и / и могут быть легко пропущены.

grep -c 'http://domain.ru' database.sql

 

Путь WordPress

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

grep -c '/public_html/domain.ru' database.sql

 

Фактическая замена

Многие учебники используют в /качестве разделителя sed, я использую #, чтобы сделать его более удобным для чтения. Это также означает, что вам не придется искать какие — либо косые черты (/) в вашей команде SED.

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

Эта команда заменяет domain.ru на newdomain.ru в файле dump.sql

sed 's#domain.com#newdomain.ru#g' dump.sql > staging-or-newdomain.sql

 

В этом примере есть вложенная папка для установки WordPress, # помогает maintan сохранить читабельность.

sed 's#domain.ru/oldfolder#newdomain.ru/newfolder#g' dump.sql > staging-or-newdomain.sql

 

Закодированный URL

Замена кодирующейся строки URL

sed 's#http%3A%2F%2Fdomain.ru#http%3A%2F%2Fnewdomain.ru#g' dump.sql > staging-or-newdomain.sql

 

Это как заменить закодированые строки URL доменов в подпапках

sed 's#http%3A%2F%2Fdomain.ru%2Fsubfolder#http%3A%2F%2Fnewdomain.ru%2Fsubfolder#g' dump.sql > staging-or-newdomain.sql

 

Слеши

Если вы нашли косую черту, эта команда заменит их

sed 's#http://domain.ru#http://newdomain.ru#g' dump.sql > staging-or-newdomain.sql

 

WordPress путь поиска и замены

Замена пути

sed 's#/public_html/andreyex.ru#/public_html/newfolder#g' dump.sql > staging-or-newdomain.sql

 

Это должно работать в большинстве баз данных WordPress, дайте нам знать в комментариях, если вы обнаружите какие-либо другие необычные шаблоны!

Использование Gzip для сжатия новых Dump

Мы можем сжать модифицированный дамп с помощью Gzip легко, он значительно сократит файл .sql

cat dump.sql | gzip > dump.sql.gz

 

Теперь вы можете повторно импортировать измененный дамп с помощью WP-CLI, PhpMyAdmin или Adminer.



2017-02-11T02:47:12
Базы данных

Введение в JQuery

HTML, CSS, JavaScript и являются тремя основными языками в Интернете. Мы структурируем свои веб-сайты с HTML, их стиль с помощью CSS, а также добавляем интерактивные функции, с помощью JavaScript. На самом деле, большинство анимации и любых действий, которые происходят в результате пользовательского щелчка, анимации или прокрутки построены с помощью JavaScript.

JQuery является «писать меньше, делать больше» JavaScript библиотека. Это не язык программирования, а скорее инструмент , используемый для написания сделать общие задачи JavaScript более краткими. Jquery имеет дополнительное преимущество, это кросс-совместимый браузер, то есть вы можете быть уверены, выход вашего кода будет оказывать как задумано в любом современном браузере.

Сравнивая простой пример программы «Привет, мир!» в JavaScript и JQuery, мы можем увидеть разницу в том, как они оба написаны.

JavaScript

document.getElementById("demo").innerHTML = "Привет, мир!";

 

Jquery

$("#demo").html("Привет, мир!");

 

Этот короткий пример демонстрирует, как JQuery может достигнуть того же конечного результата как обычный JavaScript в сжатой форме.

Цели

Данное руководство не принимает на себя никаких предварительных знаний о Jquery, и будет охватывать следующие темы:

  • Как установить Jquery в веб-проекте.
  • Определения важных концепций веб-разработки, таких как API, DOM и CDN.
  • Общие селекторы JQuery, события и эффекты.
  • Примеры для проверки концепции, которые вы узнали на протяжении всей статьи.

Предпосылки

Перед тем, как начать это руководство вам необходимо следующее:

  • Базовые знания HTML и CSS. Вы уже должны знать, как создать простой веб-сайт, а также иметь представление о селекторов CSS, таких как идентификаторы, классы и псевдо элементы.
  • Понимание основ программирования. В то время как можно начать писать JQuery без передовых знаний JavaScript, знакомство с понятиями переменных и типов данных , а также математики и логики существенно поможет.

Настройка Jquery

JQuery является файл JavaScript, который вы внедряете в виде ссылки в вашем HTML. Есть два способа включить JQuery в проекте:

  • Загрузить локальную копию.
  • Ссылка на файл через сеть доставки контента (CDN).

Примечание: Сеть доставки контента (CDN) представляет собой систему из нескольких серверов, которые обеспечивают веб — контент для пользователя на основе географического положения. Когда Вы даете ссылку на размещенный файл Jquery через CDN, он будет потенциально загружен быстрее и эффективнее для пользователя, чем если вы его принимали на своем собственном сервере.

Мы будем использовать CDN, чтобы ссылаться на Jquery в наших примерах. Вы можете найти последнюю версию JQuery в библиотеке компании Google . Если вместо этого вы хотите загрузить его, вы можете получить копию JQuery с официального сайта.

Мы начнем это упражнение, создав небольшую веб — проект. Он будет состоять из style.css в каталоге css/, scripts.js в каталоге js/, и главный файл index.html в корневом каталоге проекта.

project/

├── css/

|   └── style.css

├── js/

|   └── scripts.js

└── index.html


Для того, чтобы начать, сделайте HTML скелет и сохранить его как index.html.

index.html

<!doctype html>

<html lang="ru">



<head>

  <title>Демо jQuery</title>

  <link rel="stylesheet" href="css/style.css">

</head>



<body>

</body>



</html>

 

Ссылка на файл JQuery CDN перед закрывающим тегом </body>, а затем свой собственный файл JavaScript, scripts.js.

index.html

<!doctype html>

<html lang="ru">



<head>

  <title>Демо jQuery</title>

  <link rel="stylesheet" href="css/style.css">

</head>



<body>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<script src="js/scripts.js"></script>

</body>



</html>

 

Ваш JavaScript — файл ( scripts.js) должны быть включен ниже библиотеки Jquery в документе или он не будет работать.

Примечание
Если вы загрузили локальную копию JQuery, сохранить его в js/папку и ссылку на него в js/jquery.min.js.


На данный момент библиотека Jquery теперь загружается на ваш сайт, и у вас есть полный доступ к API JQuery.

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


Использование JQuery

По своей сути, Jquery используется для соединения с HTML-элементами в браузере через DOM.

Объектная модель документа (DOM) является метод, с помощью которого JavaScript (и JQuery) взаимодействуют с HTML в браузере. Для просмотра именно того, что DOM является, в вашем веб — браузере, щелкните правой кнопкой мыши на текущей веб — странице выберите Inspect. Это откроет Инструменты разработчика. HTML код, который Вы видите здесь DOM.

Каждый HTML — элемент считается узлом в DOM — это объект, который может коснуться JavaScript. Эти объекты расположены в виде древовидной структуры, с <html> будучи ближе к корню, и каждый вложенный элемент представляет ветвь дальше по дереву. JavaScript может добавлять, удалять и изменять любой из этих элементов.

Если вы щелкните правой кнопкой мыши на сайте снова и нажмите View Page Source, вы увидите необработанный HTML вывод веб — сайта. Легко сначала запутать DOM с источником HTML, но они разные — исходная страница именно то, что написано в HTML — файле. Это является статическим и не будет меняться, и не будет зависеть от JavaScript. DOM является динамическим, и может измениться.

Наружный слой DOM, слой, который оборачивает весь <html> узел, является документом объекта. Для того, чтобы начать манипулировать страницей с помощью JQuery, мы должны гарантировать , что документ в первую очередь «готов».

Создайте файл scripts.js в вашей директории js/, и введите следующий код:

JS/scripts.js

$(document).ready(function() {

    // все пользовательские jQuery будет писаться здесь

});

 

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

Во введении этой статьи, вы видели простой скрипт «Привет, мир!». Для того, чтобы инициировать этот сценарий и печать текста в браузере с JQuery, сначала мы создадим пустой абзац элемента уровня блока с идентификатором demo, приложенного к нему.

index.html

...

<body>



<p id="demo"></p>

...

 

JQuery вызывается и представлен знаком доллара ($). Мы получаем доступ к DOM с JQuery, используя в основном синтаксис CSS, и применяем действие с помощью метода. Основной пример Jquery имеет следующий формат.

$("selector").method();

 

Так как идентификатор представлен символом хэш (#) в CSS, мы получить доступ к демонстрационному идентификатору с помощью селектора #demo. html() это метод изменяет HTML внутри элемента.

Теперь мы собираемся поставить наш пример «Привет, мир!» внутри Jquery ready(). Добавьте эту строку в файл scripts.js в пределах существующей функции:

js/scripts.js

$(document).ready(function() {

    $("#demo").html("Привет, мир!");

});

 

После того как вы сохранили файл, вы можете открыть файл index.html в вашем браузере. Если все сделано правильно, вы увидите выход Привет, Мир!.

Если вы были смущены DOM прежде, вы можете увидеть его в действии прямо сейчас. Щелкните правой кнопкой мыши на текст «Привет, мир!» на странице и выберите Inspect Element. DOM теперь будет отображать <p id="demo">Привет, мир!</p>. Если вы просмотрите исходный код, вы будете видеть только <p id="demo"></p>, чистый HTML, который мы написали.

Селекторы

Селекторы, это элементы, которые мы указываем JQuery, какие хотим использовать. Большинство селекторов Jquery такие же, как и знакомых в CSS, с несколькими Jquery-специфическими дополнениями. Вы можете просмотреть полный список селекторов JQuery в официальной документации.

Чтобы получить доступ к селектору, используйте символ Jquery $, а затем скобки ().

$("selector")

 

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

Ниже приводится краткий обзор некоторых из наиболее часто используемых селекторов.

  • $("*")Джокер: выбирает каждый элемент на странице.
  • $(this)Ток: выбирает текущий элемент эксплуатирующийся на внутри функции.
  • $("p")Метка: выбирает каждый экземпляр тега <p>.
  • $(".example")Класс: выбирает каждый элемент, который имеет класс example, примененных к нему.
  • $("#example")Id: выбирает один экземпляр уникального идентификатора example.
  • $("[type='text']")Атрибут: выбирает любой элемент с text применен к атрибуту type.
  • $("p:first-of-type")Псевдо элемент: выбирает первый <p>.

Как правило, между классами и идентификаторами,  вы чаще всего встретите — классы, когда вы хотите выбрать несколько элементов, а также идентификаторы, если вы хотите выбрать только один.

События Jquery

В примере «Привет, мир!», код сработал, как только страница была загружена, и документ был готов, и, следовательно, не требует взаимодействия с пользователем. В этом случае, мы могли бы написать текст непосредственно в HTML, не потрудившись с JQuery. Тем не менее, нам нужно будет использовать JQuery, если мы хотим, чтобы текст появлялся на странице с одним нажатием кнопки.

Вернитесь в файл index.html и добавьте элемент <button>. Мы будем использовать эту кнопку для прослушивания нашего события щелчка.

index.html

...

<body>



<button id="trigger">Кликни по мне</button>

<p id="demo"></p>

 

Мы будем использовать метод click() для вызова функции, содержащую наш текст «Привет, мир!».

JS/scripts.js

$(document).ready(function() {

    $("#trigger").click();

});

 

Наш элемент <button> имеет идентификатор с именем trigger, когда мы выбираем $("#trigger"). Добавляя click(), мы говорим это надо прослушивать события щелчка, но мы еще не сделали. Теперь мы будем вызывать функцию, которая содержит наш код, внутри метода click().

function() {

    $("#demo").html("Привет, мир!");

}

 

Вот окончательный код.

JS/scripts.js

$(document).ready(function() {

    $("#trigger").click(function() {

    $("#demo").html("Привет, мир!");

    });

});

 

Сохраните файл scripts.js и обновите index.html в браузере. Теперь при нажатии кнопки, поменяется текст на «Привет, мир!».

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

  • click()Нажмите: выполняется при нажатии кнопки мыши.
  • hover()Hover: выполняется, когда мышь зависает над элементом. mouseenter() и  mouseleave()применяются только при появлении мыши на элементе или оставляет элемент.
  • submit()Отправить: выполняется, когда форма была отправлена.
  • scroll()Свиток: выполняется, когда на экране прокручивается.
  • keydown()KeyDown: выполняется при нажатии вниз на клавиши на клавиатуре.

Для того, чтобы изображения изменялись или исчезали, когда пользователь прокручивает вниз по экрану, используйте метод scroll(). Для выхода из меню с помощью клавиши ESC, используйте метод keydown(). Для того, чтобы сделать выпадающее меню аккордеон, используйте метод click().

Понимание событий имеет важное значение для создания динамического содержимого веб-сайта с JQuery.

Эффекты JQuery

Эффекты JQuery работают рука об руку с событиями, позволяя добавить анимацию и иным образом манипулировать элементами на странице.

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

Удалим текущий теги <button> и <p> из тела вашего файла index.html, и добавьте следующую строку в ваш HTML — документ:

index.html

...

<body>

<button class="trigger">Открыть</button>



<section class="overlay">

  <button class="trigger">Закрыть</button>

</section>

...

 

В нашем файле style.css, мы будем использовать минимальное количество CSS, чтобы скрыть overlay с display: none и в центре его на экране.

css/style.css

.overlay {

  display: none;

  position: fixed;

  top: 45%;

  left: 45%;

  transform: translate(-45%, -45%);

  height: 210px;

  width: 150px;

  background: blue;

}

 

Перейдите в файл в scripts.js, там мы будем использовать метод toggle(), который будет переключать в CSS свойство display между none и block, скрытия и отображения наложения при нажатии.

JS / scripts.js

$(document).ready(function() {

    $(".trigger").click(function() {

        $(".overlay").toggle();

    });

});

 

Обновите файл index.html. Теперь вы будете иметь возможность переключать видимость окошка, нажав на кнопку. Вы можете изменить toggle() на fadeToggle() или slideToggle() увидеть несколько других встроенных эффектов JQuery.

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

  • toggle()Переключение: переключает видимость элемента или элементов. show()и hide()являются соответствующие эффекты в одну сторону.
  • fadeToggle()Fade Переключение: переключает видимость и одушевляет непрозрачность элемента или элементов. fadeIn() и fadeOut() являются соответствующие эффекты в одну сторону.
  • slideToggle()Slide Переключение переключает видимость элемента или элементов со скользящим эффектом. slideDown() и slideUp() являются соответствующие эффекты в одну сторону.
  • animate()Анимация выполняет пользовательские эффекты анимации на CSS свойство элемента.

Мы используем события Jquery для прослушивания для взаимодействия с пользователем, например, нажатием одной кнопки, и мы используем эффекты JQuery для дальнейшего управления элементами, когда-то происходит действие.

 Введение в JQuery

Вывод

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

Отсюда, вы должны иметь более глубокое понимание возможностей JQuery, и быть готовы к вашему пути написания собственного кода.



2017-02-11T00:54:35
Лучшие учебники по Wodpress

Простой скрипт поиска api Whois в PHP

На этом уроке я объясню, очень полезный скрипт, чтобы получить данные WHOIS домена. Вот отличный и простой скрипт поиска Whois api yна PHP, можно его использовать в своих нуждах.

Это 100% бесплатный для личных и коммерческих целях, и просто имеет несколько функций, которые можно вызывать в ваших следующих проектах. Это Автоматический поиск для вторичного сервера WHOIS и встроенным IP и домен валидатор, чтобы получить подробную информацию о владельце домена из базы данных WHOIS.

Файл класса Whois

Создать файл whois.php и скопировать фрагмент кода на PHP, чтобы получить данные WHOIS для любого домена. Этот скрипт поддерживает множество TLD (домена верхнего уровня), как .ru, .com, .net, .в, .org, .info и многие другие.

<?php

$domain = $_GET['domain'];

$whoisservers = array(

    "ac" => "whois.nic.ac", // Ascension Island

    // ad - Andorra - нет назначенного whois сервера

    "ae" => "whois.nic.ae", // Арабские эмираты

    "aero"=>"whois.aero",

    "af" => "whois.nic.af", // Афганистан

    "ag" => "whois.nic.ag", // Antigua And Barbuda

    "ai" => "whois.ai", // Ангола

    "al" => "whois.ripe.net", // Албания

    "am" => "whois.amnic.net",  // Армения

    // an - Netherlands Antilles - нет назначенного whois сервера

    // ao - Angola - нет назначенного whois сервера

    // aq - Antarctica (New Zealand) - нет назначенного whois сервера

    // ar - Argentina - нет назначенного whois сервера

    "arpa" => "whois.iana.org",

    "as" => "whois.nic.as", // American Samoa

    "asia" => "whois.nic.asia",

    "at" => "whois.nic.at", // Австрия

    "au" => "whois.aunic.net", // Австралия

    // aw - Aruba - нет назначенного whois сервера

    "ax" => "whois.ax", // Aland Islands

    "az" => "whois.ripe.net", // Азербайджан

    // ba - Bosnia And Herzegovina - нет назначенного whois сервера

    // bb - Barbados - нет назначенного whois сервера

    // bd - Bangladesh - нет назначенного whois сервера

    "be" => "whois.dns.be", // Бельгия

    "bg" => "whois.register.bg", // Болгария

    "bi" => "whois.nic.bi", // Burundi

    "biz" => "whois.biz",

    "bj" => "whois.nic.bj", // Benin

    // bm - Bermuda - нет назначенного whois сервера

    "bn" => "whois.bn", // Brunei Darussalam

    "bo" => "whois.nic.bo", // Боливия

    "br" => "whois.registro.br", // Бразилия

    "bt" => "whois.netnames.net", // Bhutan

    // bv - Bouvet Island (Norway) - нет назначенного whois сервера

    // bw - Botswana - нет назначенного whois сервера

    "by" => "whois.cctld.by", // Беларусия

    "bz" => "whois.belizenic.bz", // Belize

    "ca" => "whois.cira.ca", // Канада

    "cat" => "whois.cat", // Испания

    "cc" => "whois.nic.cc", // Cocos (Keeling) Islands

    "cd" => "whois.nic.cd", // Congo, The Democratic Republic Of The

    // cf - Central African Republic - нет назначенного whois сервера

    "ch" => "whois.nic.ch", // Швейцария

    "ci" => "whois.nic.ci", // Cote d'Ivoire

    "ck" => "whois.nic.ck", // Острова Кука

    "cl" => "whois.nic.cl", // Чили

    // cm - Cameroon - нет назначенного whois сервера

    "cn" => "whois.cnnic.net.cn", // Китай

    "co" => "whois.nic.co", // Колумбия

    "com" => "whois.verisign-grs.com",

    "coop" => "whois.nic.coop",

    // cr - Costa Rica - нет назначенного whois сервера

    // cu - Cuba - нет назначенного whois сервера

    // cv - Cape Verde - нет назначенного whois сервера

    // cw - Curacao - нет назначенного whois сервера

    "cx" => "whois.nic.cx", // Christmas Island

    // cy - Cyprus - нет назначенного whois сервера

    "cz" => "whois.nic.cz", // Czech Republic

    "de" => "whois.denic.de", // Германия

    // dj - Djibouti - нет назначенного whois сервера

    "dk" => "whois.dk-hostmaster.dk", // Дания

    "dm" => "whois.nic.dm", // Доминиканская республика

    // do - Dominican Republic - нет назначенного whois сервера

    "dz" => "whois.nic.dz", // Algeria

    "ec" => "whois.nic.ec", // Эквадор

    "edu" => "whois.educause.edu",

    "ee" => "whois.eenet.ee", // Эстония

    "eg" => "whois.ripe.net", // Египет

    // er - Eritrea - нет назначенного whois сервера

    "es" => "whois.nic.es", // Испания

    // et - Ethiopia - нет назначенного whois сервера

    "eu" => "whois.eu",

    "fi" => "whois.ficora.fi", // Финляндия

    // fj - Fiji - нет назначенного whois сервера

    // fk - Falkland Islands - нет назначенного whois сервера

    // fm - Micronesia, Federated States Of - нет назначенного whois сервера

    "fo" => "whois.nic.fo", // Фарерские острова

    "fr" => "whois.nic.fr", // Франция

    // ga - Gabon - нет назначенного whois сервера

    "gd" => "whois.nic.gd", // Гренада

    // ge - Georgia - нет назначенного whois сервера

    // gf - French Guiana - нет назначенного whois сервера

    "gg" => "whois.gg", // Guernsey

    // gh - Ghana - нет назначенного whois сервера

    "gi" => "whois2.afilias-grs.net", // Гибралтар

    "gl" => "whois.nic.gl", // Гренландия (Denmark)

    // gm - Gambia - нет назначенного whois сервера

    // gn - Guinea - нет назначенного whois сервера

    "gov" => "whois.nic.gov",

    // gr - Greece - нет назначенного whois сервера

    // gt - Guatemala - нет назначенного whois сервера

    "gs" => "whois.nic.gs", // South Georgia And The South Sandwich Islands

    // gu - Guam - нет назначенного whois сервера

    // gw - Guinea-bissau - нет назначенного whois сервера

    "gy" => "whois.registry.gy", // Guyana

    "hk" => "whois.hkirc.hk", // Hong Kong

    // hm - Heard and McDonald Islands (Australia) - нет назначенного whois сервера

    "hn" => "whois.nic.hn", // Honduras

    "hr" => "whois.dns.hr", // Хорватия

    "ht" => "whois.nic.ht", // Гаити

    "hu" => "whois.nic.hu", // Венгрия

    // id - Indonesia - нет назначенного whois сервера

    "ie" => "whois.domainregistry.ie", // Ирландия

    "il" => "whois.isoc.org.il", // Израиль

    "im" => "whois.nic.im", // Isle of Man

    "in" => "whois.inregistry.net", // Индия

    "info" => "whois.afilias.net",

    "int" => "whois.iana.org",

    "io" => "whois.nic.io", // British Indian Ocean Territory

    "iq" => "whois.cmc.iq", // Ирак

    "ir" => "whois.nic.ir", // Иран

    "is" => "whois.isnic.is", // Исландия

    "it" => "whois.nic.it", // Италия

    "je" => "whois.je", // Jersey

    // jm - Jamaica - нет назначенного whois сервера

    // jo - Jordan - нет назначенного whois сервера

    "jobs" => "jobswhois.verisign-grs.com",

    "jp" => "whois.jprs.jp", // Япония

    "ke" => "whois.kenic.or.ke", // Кения

    "kg" => "www.domain.kg", // Киргизстан

    // kh - Cambodia - нет назначенного whois сервера

    "ki" => "whois.nic.ki", // Kiribati

    // km - Comoros - нет назначенного whois сервера

    // kn - Saint Kitts And Nevis - нет назначенного whois сервера

    // kp - Korea, Democratic People's Republic Of - нет назначенного whois сервера

    "kr" => "whois.kr", // Korea, Republic Of

    // kw - Kuwait - нет назначенного whois сервера

    // ky - Cayman Islands - нет назначенного whois сервера

    "kz" => "whois.nic.kz", // Казахстан

    "la" => "whois.nic.la", // Lao People's Democratic Republic

    // lb - Lebanon - нет назначенного whois сервера

    // lc - Saint Lucia - нет назначенного whois сервера

    "li" => "whois.nic.li", // Лихтенштейн

    // lk - Sri Lanka - нет назначенного whois сервера

    "lt" => "whois.domreg.lt", // Lithuania

    "lu" => "whois.dns.lu", // Luxembourg

    "lv" => "whois.nic.lv", // Латвия

    "ly" => "whois.nic.ly", // Libya

    "ma" => "whois.iam.net.ma", // Морокко

    // mc - Monaco - нет назначенного whois сервера

    "md" => "whois.nic.md", // Молдова

    "me" => "whois.nic.me", // Montenegro

    "mg" => "whois.nic.mg", // Мадагаскар

    // mh - Marshall Islands - нет назначенного whois сервера

    "mil" => "whois.nic.mil",

    // mk - Macedonia, The Former Yugoslav Republic Of - нет назначенного whois сервера

    "ml" => "whois.dot.ml", // Мали

    // mm - Myanmar - нет назначенного whois сервера

    "mn" => "whois.nic.mn", // Монгола

    "mo" => "whois.monic.mo", // Macao

    "mobi" => "whois.dotmobiregistry.net",

    "mp" => "whois.nic.mp", // Northern Mariana Islands

    // mq - Martinique (France) - нет назначенного whois сервера

    // mr - Mauritania - нет назначенного whois сервера

    "ms" => "whois.nic.ms", // Montserrat

    // mt - Malta - нет назначенного whois сервера

    "mu" => "whois.nic.mu", // Mauritius

    "museum" => "whois.museum",

    // mv - Maldives - нет назначенного whois сервера

    // mw - Malawi - нет назначенного whois сервера

    "mx" => "whois.mx", // Мексика

    "my" => "whois.domainregistry.my", // Малазия

    // mz - Mozambique - нет назначенного whois сервера

    "na" => "whois.na-nic.com.na", // Намибия

    "name" => "whois.nic.name",

    "nc" => "whois.nc", // New Caledonia

    // ne - Niger - нет назначенного whois сервера

    "net" => "whois.verisign-grs.net",

    "nf" => "whois.nic.nf", // Norfolk Island

    "ng" => "whois.nic.net.ng", // Нигерия

    // ni - Nicaragua - нет назначенного whois сервера

    "nl" => "whois.domain-registry.nl", // Голандия

    "no" => "whois.norid.no", // Норвегия

    // np - Nepal - нет назначенного whois сервера

    // nr - Nauru - нет назначенного whois сервера

    "nu" => "whois.nic.nu", // Niue

    "nz" => "whois.srs.net.nz", // Новая Зеландия

    "om" => "whois.registry.om", // Оман

    "org" => "whois.pir.org",

    // pa - Panama - нет назначенного whois сервера

    "pe" => "kero.yachay.pe", // Перу

    "pf" => "whois.registry.pf", // Французкая Полинезия

    // pg - Papua New Guinea - нет назначенного whois сервера

    // ph - Philippines - нет назначенного whois сервера

    // pk - Pakistan - нет назначенного whois сервера

    "pl" => "whois.dns.pl", // Польша

    "pm" => "whois.nic.pm", // Saint Pierre and Miquelon (France)

    // pn - Pitcairn (New Zealand) - нет назначенного whois сервера

    "post" => "whois.dotpostregistry.net",

    "pr" => "whois.nic.pr", // Пуэрто Рико

    "pro" => "whois.dotproregistry.net",

    // ps - Palestine, State of - нет назначенного whois сервера

    "pt" => "whois.dns.pt", // Португалия

    "pw" => "whois.nic.pw", // Palau

    // py - Paraguay - нет назначенного whois сервера

    "qa" => "whois.registry.qa", // Катар

    "re" => "whois.nic.re", // Reunion (France)

    "ro" => "whois.rotld.ro", // Румыния

    "rs" => "whois.rnids.rs", // Сербия

    "ru" => "whois.tcinet.ru", // Россия

    // rw - Rwanda - нет назначенного whois сервера

    "sa" => "whois.nic.net.sa", // Саудовская аравия

    "sb" => "whois.nic.net.sb", // Соломоновы острова

    "sc" => "whois2.afilias-grs.net", // Seychelles

    // sd - Sudan - нет назначенного whois сервера

    "se" => "whois.iis.se", // Швеция

    "sg" => "whois.sgnic.sg", // Сингапур

    "sh" => "whois.nic.sh", // Saint Helena

    "si" => "whois.arnes.si", // Словения

    "sk" => "whois.sk-nic.sk", // Словакия

    // sl - Sierra Leone - нет назначенного whois сервера

    "sm" => "whois.nic.sm", // Сан Морино

    "sn" => "whois.nic.sn", // Сенегал

    "so" => "whois.nic.so", // Сомали

    // sr - Suriname - нет назначенного whois сервера

    "st" => "whois.nic.st", // Sao Tome And Principe

    "su" => "whois.tcinet.ru", // Российская федерация

    // sv - El Salvador - нет назначенного whois сервера

    "sx" => "whois.sx", // Sint Maarten (dutch Part)

    "sy" => "whois.tld.sy", // Сирия

    // sz - Swaziland - нет назначенного whois сервера

    "tc" => "whois.meridiantld.net", // Turks And Caicos Islands

    // td - Chad - нет назначенного whois сервера

    "tel" => "whois.nic.tel",

    "tf" => "whois.nic.tf", // French Southern Territories

    // tg - Togo - нет назначенного whois сервера

    "th" => "whois.thnic.co.th", // Тайланд

    "tj" => "whois.nic.tj", // Таджикистан

    "tk" => "whois.dot.tk", // Tokelau

    "tl" => "whois.nic.tl", // Timor-leste

    "tm" => "whois.nic.tm", // Туркменистан

    "tn" => "whois.ati.tn", // Тунис

    "to" => "whois.tonic.to", // Tonga

    "tp" => "whois.nic.tl", // Timor-leste

    "tr" => "whois.nic.tr", // Турция

    "travel" => "whois.nic.travel",

    // tt - Trinidad And Tobago - нет назначенного whois сервера

    "tv" => "tvwhois.verisign-grs.com", // Tuvalu

    "tw" => "whois.twnic.net.tw", // Тйвань

    "tz" => "whois.tznic.or.tz", // Танзания

    "ua" => "whois.ua", // Украина

    "ug" => "whois.co.ug", // Уганда

    "uk" => "whois.nic.uk", // Англия

    "us" => "whois.nic.us", // США

    "uy" => "whois.nic.org.uy", // Уругвай

    "uz" => "whois.cctld.uz", // Узбекистан

    // va - Holy See (vatican City State) - нет назначенного сервера whois

    "vc" => "whois2.afilias-grs.net", // Saint Vincent And The Grenadines

    "ve" => "whois.nic.ve", // Венесуэла

    "vg" => "whois.adamsnames.tc", // Виргинскиие острова

    // vi - Virgin Islands, US - нет назначенного whois сервера

    // vn - Viet Nam - нет назначенного whois сервера

    // vu - Vanuatu - нет назначенного whois сервера

    "wf" => "whois.nic.wf", // Wallis and Futuna

    "ws" => "whois.website.ws", // Самоа

    "xxx" => "whois.nic.xxx",

    // ye - Yemen - нет назначенного whois сервера

    "yt" => "whois.nic.yt", // Майотта

    "yu" => "whois.ripe.net");

 

function LookupDomain($domain){

    global $whoisservers;

    $domain_parts = explode(".", $domain);

    $tld = strtolower(array_pop($domain_parts));

    $whoisserver = $whoisservers[$tld];

    if(!$whoisserver) {

        return "Ошибка: Не соответствующего whois-сервера для домена $domain!";

    }

    $result = QueryWhoisServer($whoisserver, $domain);

    if(!$result) {

        return "Ошибка: Нет результатов полученных от $whoisserver сервера для домена $domain!";

    }

    else {

        while(strpos($result, "Whois-сервер:") !== FALSE){

            preg_match("/Whois Server: (.*)/", $result, $matches);

            $secondary = $matches[1];

            if($secondary) {

                $result = QueryWhoisServer($secondary, $domain);

                $whoisserver = $secondary;

            }

        }

    }

    return "$domain результаты поиска для домена $whoisserver сервер:nn" . $result;

}

 

function LookupIP($ip) {

    $whoisservers = array(

        //"whois.afrinic.net", // Африка - возвращает время ожидания ошибка :-(

        "whois.lacnic.net", // Латинской Америки и Карибского бассейна - возвращает данные для всех мест по всему миру :-)

        "whois.apnic.net", // Для азиатско-тихоокеанского региона

        "whois.arin.net", // Для северной Америки

        "whois.ripe.net" // Только для Европы, Ближнего Востока и Центральной Азии

    );

    $results = array();

    foreach($whoisservers as $whoisserver) {

        $result = QueryWhoisServer($whoisserver, $ip);

        if($result && !in_array($result, $results)) {

            $results[$whoisserver]= $result;

        }

    }

    $res = "НАЙДЕНО: " . count($results);

    foreach($results as $whoisserver=>$result) {

        $res .= "nn-------------nРезультаты поиска " . $ip . " from " . $whoisserver . " сервер:nn" . $result;

    }

    return $res;

}

 

function ValidateIP($ip) {

    $ipnums = explode(".", $ip);

    if(count($ipnums) != 4) {

        return false;

    }

    foreach($ipnums as $ipnum) {

        if(!is_numeric($ipnum) || ($ipnum > 255)) {

            return false;

        }

    }

    return $ip;

}

 

function ValidateDomain($domain) {

    if(!preg_match("/^([-a-z0-9]{2,100}).([a-z.]{2,8})$/i", $domain)) {

        return false;

    }

    return $domain;

}

 

function QueryWhoisServer($whoisserver, $domain) {

    $port = 43;

    $timeout = 10;

    $fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);

    //if($whoisserver == "whois.verisign-grs.com") $domain = "=".$domain; // whois.verisign-grs.com требует знака равенства ("=") или он возвращает какой-либо результат с искомой строкой.

    fputs($fp, $domain . "rn");

    $out = "";

    while(!feof($fp)){

        $out .= fgets($fp);

    }

    fclose($fp);

 

    $res = "";

    if((strpos(strtolower($out), "error") === FALSE) && (strpos(strtolower($out), "not allocated") === FALSE)) {

        $rows = explode("n", $out);

        foreach($rows as $row) {

            $row = trim($row);

            if(($row != '') && ($row{0} != '#') && ($row{0} != '%')) {

                $res .= $row."n";

            }

        }

    }

    return $res;

}

?>

 

Страница Index.php

Создайте страницу index.php, скопируйте здесь и вставьте в созданный файл фрагмент кода ниже, чтобы получить данные WHOIS.

<div class="well">

 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">

<input type="text" name="domain" placeholder="www.domainname.ru" value="<?=$domain;?>" required="required"

style="width:250px; height:37px;">

<input type="submit" class="pretty medium primary btn" value="Whois Lookup" name="Submit"

style="color:#fff;">

</form>

 

</div>

<?php

if($domain) {

    $domain = trim($domain);

    if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7);

    if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);

    if(ValidateIP($domain)) {

        $result = LookupIP($domain);

    }

    elseif(ValidateDomain($domain)) {

        $result = LookupDomain($domain);

    }

    else die("Invalid Input!");

    echo "<pre>n" . $result . "n</pre>n";

}

?>

</div>

Данные WHOIS



2017-02-03T12:11:14
Лучшие учебники по Wodpress