[PHP] Domein Checker

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb rond gezocht overal. En een domein checker is te vinden. Maar dat wil ik helemaal niet. Bedoel die heb ik wel.
Ik heb een domein checker gebouwd en die controleerd meteen een stuk of 13 domein extensies.

Zoals jullie wel verwachten duurt het soms vrij lang voordat alle resultaten worden weer geven. (Dat is meteen het probleem).

Ik wil dat hij alle domeinen 1 voor 1 controleerd. En de domeinen die hij controleerd meteen laat zien.

Of wel:

-- wordt gecontroleerd

-- status: bezet
-- status: vrij
-- wordt gecontroleerd

Naja de 2de keer dat er staat: wordt gecontroleerd is niet van toepassing maar het gaat om het idee dat alle domeinen dan wel 1 voor 1 gecontroleerd wordt maar dat het uiteindelijke resultaat compleet op 1 pagina te zien is.

Kan iemand me vertellen hoe ik dit moet doen? Ik weet dat het o.a. met javascript moet. Maar ik heb geen idee hoe dat met javascript moet en ik kan ook geen voorbeeld hiervan vinden.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 21:44
Kijk eens naar ob_start() en ob_end_flush()...
Niet zo moeilijk toch?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok.. ik snap dat ob_start niet ik heb wel gezocht op php maar het werkt alleen niet.

stukje script waar het om gaat:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function whois($server, $domein,$ext){ 
ob_start();
    $domein = $domein."$ext"; 
    $data = ""; 
    $fp = fsockopen($server, 43);
    if($fp){ 
        if ($ext == ".nl"){
        fputs($fp, "is $domein \r\n"); 
    }
    else {
        fputs($fp, $domein."\r\n");         
    }
        while(!feof($fp))
    { 
            $data.=fread($fp,1000); 
        } 
        fclose($fp); 
    } else { 
        $data = "Error, can't open connection"; 
    } 
    return $data; 
ob_end_flush();
} 
//Is er een request gedaan, dan geef je output! 
if ($domein) { 
    echo "<table border='0' width='600' cellspacing='0' cellpadding='0'>
      <tr>
        <td width='368' bgcolor='#0B89D1'><font size='2' face='Arial'><b>Domeinnaam:</b></font></td>
        <td colspan='2' width='116' align='center' bgcolor='#0B89D1'><font size='2' face='Arial'><b>Status:</b></font></td>
        <td width='94' align='center' bgcolor='#0B89D1'><font size='2' face='Arial'><b>Bestellen:</b></font></td>
      </tr>"; 
     
    $ext = array("nl", "com", "net", "org", "us", "info", "biz", "be", "de", "gs", "ms", "tc", "vg", "cc", "cn", "jp"); 
    $aantal = count($ext); 
  
    for($i=0;$i<$aantal;$i++) {
    ob_start(); 
        $server = $ext[$i]."server"; 
        $data[$i] = whois($$server,$domein,".".$ext[$i]); 
        $nomatch = $ext[$i]."nomatch"; 
        if (ereg($$nomatch,$data[$i])) { 
            $data[$i] = "Vrij"; 
        $img[$i] = '../images/whois/check.gif';
        $knop[$i] = "<a href='bestellen.php?ext=".$ext[$i]."&dmn=$domein' class='head'><b>Bestel nu!</b></a>";
        } elseif ($data[$i] == "Error, can't open connection") { 
            $data[$i] = "Error";
        $img[$i] = '../images/whois/error.gif';
        $knop[$i] = "";
        } else { 
            $data[$i] = "Bezet"; 
        $img[$i] = '../images/whois/deneid.gif';
        $knop[$i] = "<a href='?check=whois&uitgebreid=".$ext[$i]."&dmn=$domein' class='head'><b>Whois</b></a>";
        } 
        echo "<tr>
            <td width='368'><font size='2' face='Arial'>$domein.".$ext[$i]."</font></td>
            <td width='47' align='right'>[img]'".$img[$i]."'[/img]</td>
            <td width='63'><font size='2' face='Arial'><b>".$data[$i]."</b></font></td>
            <td width='94' align='center'><font size='2' face='Arial'><b>".$knop[$i]."</b></font></td>
          </tr>";
        $img = '';
        $knop = '';
    ob_end_flush();
    } 
echo "</table>"; 
}

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Ik ben op zich ook wel benieuwd hoe die functie in dit verband gebruikt zou moeten worden, maar regels 2 en 22 kunnen IMHO sowieso weg. Daar is toch geen output :?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Boeit niet zoveel als je je html zo brak opzet :) IE laat de tabel waarschijnlijk toch pas zien als die in zijn geheel binnen is, outputbuffering of niet.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Juist geen outputbuffering: je wilt juist alles gelijk laten zien! Kijk eens naar de funtie flush(). En houd rekening met wat Bosmonster zegt over tabellen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grootste reden dat het er zo brak uitziet is waarschijnlijk omdat dit maar een deel van de source code is. Want de volledige code begint uiteraard met <html> en eindig er ook. En wordt alles ook gewoon netjes neer gezet.

Maar ik zal hem even herschrijven maybe dat ik het dan wel aan de praat krijg. Ik zelf zag op php.net dat je de ob_start ook gebruikt als: ob_start(functienaam); Toen ik dit probeerde starte hij idd de functie maar zonder de resultaten die ik moest hebben. :S

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Verwijderd schreef op 25 maart 2004 @ 10:13:
Grootste reden dat het er zo brak uitziet is waarschijnlijk omdat dit maar een deel van de source code is. Want de volledige code begint uiteraard met <html> en eindig er ook. En wordt alles ook gewoon netjes neer gezet.
Het gaat niet om je code, die is ongetwijfeld in orde. Het heeft te maken met het renderen van de pagina op het scherm: als alles in een tabel staat, wil de browser alles binnen hebben voor hij iets laat zien (dan weet hij hoe breed en/of hoog de cellen moeten worden en zo). Als je gewoon plain text hebt, komt het direct op je scherm te staan.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sjroorda schreef op 25 maart 2004 @ 10:15:
[...]

Het gaat niet om je code, die is ongetwijfeld in orde. Het heeft te maken met het renderen van de pagina op het scherm: als alles in een tabel staat, wil de browser alles binnen hebben voor hij iets laat zien (dan weet hij hoe breed en/of hoog de cellen moeten worden en zo). Als je gewoon plain text hebt, komt het direct op je scherm te staan.
ow.. hmm zo had ik het nog niet bekeken. Maar hoe kan ik met plain text alles op de zelfde manier op het scherm krijgen??

Of is 1 van de manieren die ik kan doen is voor elke uitwerking een nieuwe tabel? Al lijkt me dat stug want volgens mij wordt mijn source dan helemaal bagger... (De uitwerking weer niet waarschijnlijk maar toch)

Nu ik alles wel per tabel laat uitwerken .. Komt alles wel gewoon 1 voor 1 naar voren ookal gebruik ik geen ob_start(); maar hij laat wel meteen resultaten zien die hij al gevonden heeft zeg maar.

[ Voor 12% gewijzigd door Verwijderd op 25-03-2004 10:24 ]

Pagina: 1