域名检查器如何做建议?

时间:2014-02-23 19:31:40

标签: php mysql dns

我有一个基本的域检查器,它返回“此域名是免费的”或“此域名不可用”消息。但我该如何提出建议呢?

让我们说访问者检查'www.stackoverflow.com'是否可用。当它可用时,没有问题,用户可以订购它。当它不可用时,我希望它为其他扩展做建议。像:

www.stackoverflow.com is not available,

The following domains are available:
www.stackoverflow.net
www.stackoverflow.co.uk
www.stackoverflow.info

这是我目前的档案:

 <?php
if(isset($_POST['check'])) {

    if (!empty($_POST['domain_name'])){
        $domain = trim($_POST['domein_naam']).$_POST['domain_list'];
        $result = @dns_get_record($domain, DNS_ALL);

            if(empty($result)) {
                 echo "<H2 style='color:green;' >Domain $domain is available.</H2>";
            } else {
                echo "<H2 style='color:red;'>Domain $domain is not available.</H2>";
            }

     } else { 
     echo "<H2 style='color:red;'>Fout: Domein kan niet leeg zijn.</H2>";
     }

}
?>

2 个答案:

答案 0 :(得分:0)

在不了解所有代码结构的情况下,很难为您提供最佳方法 但是一个简单的想法:

假设用户输入的网站($ _POST / $ _ GET / etc)存储在$strUserSite变量中。

在(.com,.net等)中有一个包含所有扩展名的数组($aryFurtherChecks或其他)。

通过将$strUserSite var添加到其中,循环数组检查用户输入的每个域是否有效。
如果来自数组的domain +扩展可用,则将其回显(取决于您的代码设置/框架等)或添加到新数组,然后使用“这些也可用”循环第二个数组。

您使用哪种方法取决于您是否使用程序化的一体化文件代码或类等 如果后者然后设置一个新数组将是首选,在您的视图/模板/任何文件中循环它并用您的HTML和样式等回显每个。

答案 1 :(得分:0)

dns_get_record()不能用于确定域是否可用于注册,因为并非所有注册域都具有DNS记录。例如,example.info已注册,但没有DNS记录。

由于听起来好像您计划将此作为域名注册系统的一部分使用,因此您可能会访问域名注册API。大多数此类API的提供商都有调用来生成建议 - 尝试使用它。如果不这样做,您将需要从用户输入的域中删除TLD,并将其替换为您想要尝试的替代方案。