Avatar billede dennism Nybegynder
13. maj 2006 - 12:43 Der er 20 kommentarer og
1 løsning

Tjek om domæne eksisterer?

Jeg kunne godt bruge et system til mit website, hvor man kan hjemme om forskellige domæner eksisterer. Det skal gerne være f.eks. dk, com, net mm.

Hvordan klares det?
Avatar billede domaz.dk Novice
13. maj 2006 - 12:58 #1
har ikke lige testet det..

<?php
$fp = @fopen("http://www.jubii.dk/","r");

if ($fp) echo "The file exists!";
else echo "The file does not exist";
?>
Avatar billede leif Seniormester
13. maj 2006 - 13:00 #2
Avatar billede dennism Nybegynder
13. maj 2006 - 13:02 #3
domaz.dk >>

Det ser godt ud - og ser ud til at virke ;)
Troede ikke det kunne gøres så nemt.
Avatar billede coderdk Praktikant
13. maj 2006 - 13:24 #4
dennism, Det kan det heller ikke - Et domæne kan sagtens eksistere uden at der er en webside. Du skal lave et whois-opslag hos dk-hostmaster...
Avatar billede dennism Nybegynder
13. maj 2006 - 13:27 #5
Jeg er interesseret I at mine kunder via mit website kan tjekke om domænet eksisterer inden de bestiller det.

Hvordan anbefaler I at jeg så klarer det?
Avatar billede domaz.dk Novice
13. maj 2006 - 13:28 #6
nåå.. misforstod dit spørgsmål... troede ikk det var en wois test du skulle lave...
Avatar billede coderdk Praktikant
13. maj 2006 - 14:14 #7
<?php

    function dk_dom_available( $domain )
    {
        $result = false;
        if ( $fp = fsockopen( "whois.dk-hostmaster.dk", 43, $en, $es, 30 ) )
        {
            fwrite( $fp, "$domain\r\n" );
            $contents = "";
            while ( !feof( $fp ) )
            {
                $contents .= fread( $fp, 512 );
            }
            fclose( $fp );
            $result = preg_match( "/no entries found/i", $contents );
        }
        else
        {
            echo "Notice: Connect to dk-hostmaster failed<br>\n";
        }
        return $result;
    }
   
    if ( dk_dom_available( "eksperten.dk" ) )
    {
        echo "Available";
    }
    else
    {
        echo "Taken";
    }

?>
Avatar billede dennism Nybegynder
13. maj 2006 - 14:16 #8
Overstående virker kun på .dk, ik?
Avatar billede dennism Nybegynder
13. maj 2006 - 14:21 #9
Jeg har fundet et script som bruger:
checkdnsrr($_POST[domain], MX)

Dette fungerer bare ikke på min Windows server. Findes der en funktion på windows som kan det samme?
Avatar billede coderdk Praktikant
13. maj 2006 - 14:24 #10
Jo, det virker kun på dk-domæner - Du kan heller ikke checke på DNS da et domæne sagtens kan være taget uden at der er DNS-records... Der findes whois-scripts derude for flere domæner... Jeg deltog i et spørgsmål for ikke så længe siden hvor spørgeren fandt et.
Avatar billede dennism Nybegynder
13. maj 2006 - 14:29 #11
Du kan ikke huske nummeret på det spørgsmål?
Avatar billede coderdk Praktikant
13. maj 2006 - 14:37 #12
Nej, jeg husker det ikke...
Avatar billede coderdk Praktikant
13. maj 2006 - 14:39 #13
Avatar billede dennism Nybegynder
13. maj 2006 - 14:41 #14
Har været der forbi - det er et ret komplex-script, og synes ik rigtigt jeg kan få det til at gøre det jeg ønsker.
Avatar billede dennism Nybegynder
13. maj 2006 - 17:59 #15
Nogen der kan hjælpe mig?
Avatar billede dennism Nybegynder
14. maj 2006 - 10:06 #16
Hvad skal vi gøre med point her?
Avatar billede leif Seniormester
14. maj 2006 - 11:15 #17
dennism -> Hvis du har en lille smule tålmodighed, så kan det være du får hjælp.
Avatar billede dennism Nybegynder
14. maj 2006 - 12:35 #18
Dejligt, det vil jeg se frem til så :)
Avatar billede coderdk Praktikant
15. maj 2006 - 01:43 #19
Avatar billede dennism Nybegynder
15. maj 2006 - 11:50 #20
Ud fra overstående link er det nu lykkedes mig at lave et godt script, som virker optimalt:

http://www.demaweb.dk/whois.php

Her kommer koden:

<?
error_reporting(0);

$serverdefs= array(
                        "dk" => array("whois.dk-hostmaster.dk","No entries found for the selected source"),
                        "se" => array("whois.nic-se.se","No data found"),
                        "com" => array("whois.crsnic.net","No match for"),
                        "net" => array("whois.crsnic.net","No match for"),               
                        "org" => array("whois.pir.org","NOT FOUND"),   
                        "biz" => array("whois.biz","Not found"),                   
                        "info" => array("whois.afilias.net","NOT FOUND"),                   
                    );

function check_domain($ext)
{
        global $serverdefs, $_POST;
        $server = $serverdefs[$ext][0];
        $nomatch = $serverdefs[$ext][1];
    $output="";

    if(($sc = fsockopen($server,43))==false) {
            return "Fejl";
        }

    fputs($sc,"$_POST[domain].$ext\n");
    while(!feof($sc)){$output.=fgets($sc,128);}
    fclose($sc);

    if (eregi($nomatch,$output)){
            return "Ledigt";
    }else{
        return "Optaget";
    }
}
?>

Indtast domænenavn:
<form method="post" name="check" style="display:inline;">
<input type="text" size="20" name="domain">
<input type="submit" value="Bestil">
</form>

<?
if (!empty($_POST[domain])) {
    echo"<br><br>Status:<br>";
    echo ".dk:&nbsp;".check_domain("dk")."<br>";
    echo ".se:&nbsp;".check_domain("se")."<br>";
    echo ".com:&nbsp;".check_domain("com")."<br>";
    echo ".net:&nbsp;".check_domain("net")."<br>";
    echo ".org:&nbsp;".check_domain("org")."<br>";
    echo ".biz:&nbsp;".check_domain("biz")."<br>";
    echo ".info:&nbsp;".check_domain("info")."<br>";
}
?>

Det er faktisk ret simpelt, og der skulle være rig mulighed for at bygge videre på det ;)
Avatar billede coderdk Praktikant
15. maj 2006 - 12:10 #21
Yeah :) Jeg mente nok at jeg havde deltaget i et spm hvor løsningen var simpel :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester