Niveau
.....
En rapport...

Vérifier la disponibilité d'un nom de domaine

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
<?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&eacute;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&eacute;j&agrave; r&eacute;serv&eacute;<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;
}
?>
html4strict
<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&eacute;rifier">
</form>
<?php 
echo "<h1>".$erreur."".$result."</h1>";
 ?>