




Ce code vous permettra de vérifier la si un nom de domaine est disponible ou pas. Le principe est simple on utilise la commande whois du serveur pour intéroger l'organisme gérant l'extension sélectionner. Chaque rapport retourné étant différent il faut repérer à chaque fois la phrase clef permettant de savoir si le nom de domaine est libre ou pas.
<?php include ('database.php'); $result=""; $erreur=""; if ($_POST['theNdd']) { //if(!ereg("^[0-9a-z-]*$", $_POST['theNdd'])) if(preg_match("/^[a-z0-9\-_]+$/i", $_POST['theNdd'])==0) $erreur = 'Le format du nom de domaine est incorrect!<br />'; if ($_POST['theExt']=="") $erreur.="Vous devez sélectionnez au moins une extension<br />"; if(empty($erreur)) { $theNdd=escapeshellcmd($_POST['theNdd']); $theExt=$_POST['theExt']; //on definit les case du tableau à vérifier $caseForVerif['.net']=7; $caseForVerif['.com']=7; $caseForVerif['.org']=0; $caseForVerif['.fr']=13; $caseForVerif['.ca']=5; $caseForVerif['.info']=0; $caseForVerif['.biz']=1; $caseForVerif['.de']=35; $caseForVerif['.eu']=50; $caseForVerif['.me.uk']=30; $caseForVerif['.co.uk']=30; $caseForVerif['.org.uk']=40; //on definit les phrase à vérifier dans ces cases $strForVerif['.com']='No match for "'.$theNdd.'.COM".'; $strForVerif['.fr']='%% No entries found in the AFNIC Database.'; $strForVerif['.net']='No match for "'.$theNdd.'.NET".'; $strForVerif['.org']='NOT FOUND'; $strForVerif['.ca']=''; $strForVerif['.info']='NOT FOUND'; $strForVerif['.biz']=''; $strForVerif['.de']=''; $strForVerif['.eu']=''; $strForVerif['.me.uk']=''; $strForVerif['.co.uk']=''; $strForVerif['.org.uk']=''; foreach($theExt as $anExt) { $myArray=""; $anExt=escapeshellcmd($anExt); exec('whois '.$theNdd.$anExt,$myArray,$retval); $result.=(strtolower($myArray[$caseForVerif[$anExt]])==strtolower($strForVerif[$anExt]))?"- ".$theNdd.$anExt." est libre<br/>":"- ".$theNdd.$anExt." est déjà réservé<br />"; //Pour afficher le rapport dé-commantez les 3 lignes ci-dessous /*echo "<h1>rapport pour ".$anExt."</h1><pre>"; print_r($myArray); echo "</pre>";*/ } } $result=$erreur.$result; } ?>
<form action="index.php" name="formVeirfNdd" enctype="multipart/form-data" method="post"> <input type="text" name="theNdd" value="<?php echo $_POST['theNdd']; ?>" />(sans les www) <input name="theExt[]" type="checkbox" value=".com" id="com"><label for="com">.com</label> <input name="theExt[]" type="checkbox" value=".eu" id="eu"><label for="eu">.eu</label> <input name="theExt[]" type="checkbox" value=".fr" id="fr"><label for="fr">.fr</label> <input name="theExt[]" type="checkbox" value=".net" id="net"><label for="net">.net</label> <input name="theExt[]" type="checkbox" value=".org" id="org"><label for="org">.org</label> <input name="theExt[]" type="checkbox" value=".info" id="info"><label for="info">.info</label> <input name="theExt[]" type="checkbox" value=".ca" id="ca"><label for="ca">.ca</label> <input name="theExt[]" type="checkbox" value=".biz" id="biz"><label for="biz">.biz</label> <input name="theExt[]" type="checkbox" value=".de" id="de"><label for="de">.de</label> <input name="theExt[]" type="checkbox" value=".me.uk" id="me.uk"><label for="me.uk">.me.uk</label> <input name="theExt[]" type="checkbox" value=".co.uk" id="co.uk"><label for="co.uk">.co.uk</label> <input name="theExt[]" type="checkbox" value=".org.uk" id="org.uk"><label for="org.uk">.org.uk</label> <input type="submit" value="Vérifier"> </form> <?php echo "<h1>".$erreur."".$result."</h1>"; ?>
Discussion