ドメインを新規で取得するには色々条件があります。
「-」以外の記号文字や3文字以上32文字以下(日本語ドメインなら15文字以下)という条件や、ドメインの種類によっては取得するには法人である必要があるドメインもあります。
そして「他の人が取得していない事」という条件があります。
phpの命令で調べる
phpの命令にはドメインを引数として渡すと、そのドメインのIPアドレスを返してくれる物があります。
それがgethostbynameです。
IPアドレス=gethostbyname("www.".ドメイン);
既に取得されているドメインならばIPアドレスが返ってきて、まだ取得されていなければ引数で渡した物が返ってきます。
この仕組みを利用し、ドメインが空いているかを判定してみます。
[randm_pass02]
使い方は
このツールの使い方は
- ドメイン名の項目に調べたいドメインを入力します。
(「toolmania.info」のようなドメイン名+ドメインの種類で入力します) - 「検索」ボタンを押します。
で結果が表示されるようになります。
phpの仕組み
このプログラムの主な仕組みは
if(!Empty($_POST['domain'])) { $input="www.".htmlspecialchars($_POST['domain']); $res=gethostbyname($input); if(strcmp($input,$res)==0) { $chFlg=-1; } else { $chFlg=1; } }
$_POST[‘domain’]にフォームの検索したいドメイン名が入力されます。
この値をサニタイズし、先頭にwww.を追加して、その結果をgethostbynameに渡します。
gethostbyname命令から返ってきた値がstrcmp命令で同じかどうかを判定します。
もし同じであれば$chFlgに-1を、違えば1を入れます。
フォームの結果の所に$chFlgが-1なら「ドメイン名+は新規取得可能です」と表示させ、1なら「ドメイン名+は既に登録されています」と表示させます。
改善すべき点
このプログラムでは入力が小文字である事が条件であり、また日本語URLに対応していません。
他にも文字数の制限も考慮されていないという問題点もあります。
また、phpのフォームで調べる為、ボタンを押す度にWebページの表示位置が移動してしまいます。
次回はこういった問題を解消する為にJavaScriptも使って検索できるようにします。