[PHP]domein check

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Ik was gister tot laat in de nacht aan een domeincheck script in elkaar aan het flanzen en alles werkte naar behoren. Nu ging ik die script weer testen, maar kreeg ik alleen een < als return. Heeft iemand dit al eens eerder gehad? Want ik las wel ergens dat je maximaal 15 request per dag kon doen ofzo, maar als ik de volledige url van die site invul dan werkt dat wel. Hieronder mijn script mocht het nodig zijn :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
$handle = fopen("http://www.domain-registry.nl/bestaat.php?domein=" . $_POST['domeinnaam'], "rb");
$domeinnaam = $_POST['domeinnaam'];
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);

  $start = strpos($contents, "<B>&nbsp;&nbsp;");
  $finish = strpos($contents, "</FONT>");
  $length = $finish - $start;
     
  $code = Substr($contents, $start, $length);

  $DataPrint[1] = str_replace("&nbsp;&nbsp;domain is free", "<font color=\"#33CC33\">" . $domeinnaam . " is beschikbaar. Vul het formulier verder in.</font>" , $code);
  $DataPrint[1] = str_replace("&nbsp;&nbsp;domain is active", "<font color=\"#FF0000\">" . $domeinnaam . " is al bezet. Probeer een andere naam.</font>", $DataPrint[1]);
  $DataPrint[1] = str_replace("<B>&nbsp;&nbsp;ERROR:&nbsp;invalid name", "<B>U kunt alleen op .nl domeinen checken.", $DataPrint[1]);

}
fclose($handle);

echo $DataPrint[1];

?>

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Wat heb je al gedebugd ?
bijvoorbeeld de variabelen echo'en om te kijken wáár 't fout gaat ?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 30-06 10:48

Bosmonster

*zucht*

maar als ik de volledige url van die site invul dan werkt dat wel
Draai je het script ook van je eigen computer? of staat het op een webserver? ;)

De controle van x maal per dag gaat namelijk op IP.

Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
TheRookie schreef op donderdag 20 januari 2005 @ 13:38:
Wat heb je al gedebugd ?
bijvoorbeeld de variabelen echo'en om te kijken wáár 't fout gaat ?
Ik heb de $code een echo gegeven en het geeft een return in het engels terug dus dat doet het wel. zodra ik str_replace toepast dan geeft hij alleen < terug.

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Bosmonster schreef op donderdag 20 januari 2005 @ 13:43:
[...]


Draai je het script ook van je eigen computer? of staat het op een webserver? ;)

De controle van x maal per dag gaat namelijk op IP.
Staat op een webserver. Is dit het IP van webserver waar de limiet op staat?

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

$DataPrint ook al na elke str_replace aangeroepen ge-echo't?
Dan kan je iig achterhalen bij welke 't fout gaat ...

[ Voor 10% gewijzigd door TheRookie op 20-01-2005 14:01 . Reden: typo ]


Acties:
  • 0 Henk 'm!

Anoniem: 26306

mpie schreef op donderdag 20 januari 2005 @ 13:54:

Staat op een webserver. Is dit het IP van webserver waar de limiet op staat?
Wat denk je nou zelf? Het ip van je buurman? :)

Maar ga eens fatsoenlijk debuggen. Echo na iedere statement die contents en kijk wat je terugkrijgt, en waar het dus fout gaat.

Overigens staan die strpos en str_replace statements op de verkeerde plaats. Zorg eerst dat die $contents compleet is voor je er iets mee gaat doen. Na je while lus dus,

Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Ok heb nu alle dataprints ge-echo't en krijg dezelfde waarde terug op elke regel. het gekke is is dat als ik niet via $_POST maar even via de browser een domeinnaam invul dan doet ie het wel, maar niet als ik die pagina include en dan via de browser het domeinnaam invul. want dit geeft ook weer < als return.

dus zoiets :
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
<?

$handle = fopen("http://www.domain-registry.nl/bestaat.php?domein=" . $d, "rb"); 
$domeinnaam = $d; 
$contents = ''; 
while (!feof($handle)) { 
  $contents .= fread($handle, 8192); 

  $start = strpos($contents, "<B>&nbsp;&nbsp;"); 
  $finish = strpos($contents, "</FONT>"); 
  $length = $finish - $start; 
      
  $code = Substr($contents, $start, $length); 

  echo $DataPrint[1] = str_replace("&nbsp;&nbsp;domain is free", "<font color=\"#33CC33\">" . $domeinnaam . " is beschikbaar. Vul het formulier verder 

in.</font>", $code); 
  echo $DataPrint[1] = str_replace("&nbsp;&nbsp;domain is active", "<font color=\"#FF0000\">" . $domeinnaam . " is al bezet. Probeer een andere 

naam.</font>", $DataPrint[1]); 
  echo $DataPrint[1] = str_replace("<B>&nbsp;&nbsp;ERROR:&nbsp;invalid name", "<B>U kunt alleen op .nl domeinen checken.", $DataPrint[1]); 

} 
fclose($handle); 

echo $DataPrint[1]; 

?>

[ Voor 62% gewijzigd door mpie op 20-01-2005 14:18 ]

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12:07

Creepy

Tactical Espionage Splatterer

Lees aub P&W FAQ - Leer **** debuggen!! eens door.
En echo nu eens per stap alle variabelen (dus contents, domeinnaam etc) en check of deze variabelen bevatten wat jij verwacht en wat je er vervolgens in code mee doet.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Net ff je scriptje gecopy - paste, maar hier werkt ie zonder problemen, het zal dus waarschijnlijk met je afhandeling van meldingen anders dan "domain is active" c.q. "domain is free" te maken hebben ....

Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Creepy schreef op donderdag 20 januari 2005 @ 14:22:
Lees aub P&W FAQ - Leer **** debuggen!! eens door.
En echo nu eens per stap alle variabelen (dus contents, domeinnaam etc) en check of deze variabelen bevatten wat jij verwacht en wat je er vervolgens in code mee doet.
Dat had ik al gedaan toen ik begon met dit scriptje te maken. Vandaar dat ik raar vond dat ie het opeens niet meer deed. Dus ik laat het voorlopig even in het engels staan.

[ Voor 7% gewijzigd door mpie op 20-01-2005 15:30 ]

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09:30
Bosmonster schreef op donderdag 20 januari 2005 @ 13:43:
[...]


Draai je het script ook van je eigen computer? of staat het op een webserver? ;)

De controle van x maal per dag gaat namelijk op IP.
Dat is niet waar, je kan onbeperkt checken of het domein vrij is of bezet, maar de WHOIS gegevens op een site opvragen kan volgens mij maar 25 keer per IP adres.

Dus je domeincheck kan je zo maken hoor.

edit:

Je kan ook aanvragen bij de SIDN of ze die ristrictie eraf willen halen. Je moet dan wel aan kunnen tonen dat je een gerelateerd bedrijf bent die dat dus ook echt nodig heeft.

[ Voor 18% gewijzigd door Polderdijk op 20-01-2005 15:50 ]

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!

Pagina: 1