Dynamic Web Pages: deutschsprachiger PHP Knotenpunkt seit 1999

Dynamic Web Pages : tutorials _





 
 
 
 
 
 
 

PHP QuickRef

Via QuickRef gelangen Sie direkt zur gesuchten Funktion im Handbuch.

 
 

Printmedien

PHP-Magazin
Das PHP Magazin erscheint 2-monatlich zum Preis von 9,80 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Journal
Das PHP Journal erscheint 2-monatlich zum Preis von 14,95 €. Studenten und Abonnenten erfreuen sich über bis zu 25% Ermäßigung.

PHP Solutions Magazin
Das PHP Solutions Magazin erscheint alle 3 Monate zum Preis von 8,75 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Architect
Der php|architect erscheint monatlich als digitale PDF-Version zum Preis von $3,99 USD und als Print-Version zum Preis von $8,69 USD. Im Abo gibt es Rabatt (30% Print, 15% PDF).

 
Whois Interface mit PHP
 
Wolfgang Drews   Wolfgang Drews       

  (1) Zuerst einmal basteln wir uns ein hundsgewöhnliches Formular, zwecks Abfrage der Domain. Das hier vorgestellt Interface soll .de, .lu, .com, .net, .org -Domains abfragen können. 

<!--- WHOIS-Interface Start--->

<table border="0" width="600">
<tr>
<td width="130" valign="middle" align="left">
<b>Domainabfrage:</b>
</td>
<td width="283" valign="top" align="left"> 
<form action="<? echo $PHP_SELF ?>" method="POST" target="_self">
<b>www. 
<input type="text" name="domainname" size="17">
<select name="endfix" size="1">
<option name="de" value=".de">.de
<option name="com" value=".com">.com
<option name="net" value=".net">.net
<option name="org" value=".org">.org
<option name="lu" value=".lu">.lu
</select></b>
<td width="88" valign="top" align="left">
<b><input type="submit" name="submit" value="senden"></b>
</td>
<td width="121" valign="top" align="left">
<b><input type="reset" value="löschen"></b>
</td></form>
</tr>
</table>

<!--- WHOIS-Interface Ende ---> 

Dieses Formular stellt eine Domainabfrage dar. Der eingetragene Suchbegriff wird in der Variablen "domainname" gespeichert, und per "post" an die selbe Seite ("$PHP_SELF) "onSubmit" geschickt. Die "select-Option" bietet die Möglichkeit, die gewünschte Domain-Endung an den Suchbegriff anzuhängen. Die TLD wird in der Variablen "endfix" gespeichert, und mit "Domainnamen" "onSubmit" an die selbe Seite geschickt. 

(2) Das PHP-Skript: 

Erstmal wird die Seite auf "non-cacheable" gesetzt. Dieses geschieht noch vor irgendeinem anderem html-Befehl.

<?

header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache"); 

?> 

Nun wird mittels

if (isset($submit)) {

geprüft, ob schon einmal der Submit-Button gedrückt wurde (d.h., ob eine Suchanfrage vorliegt) oder nicht. Wenn noch keine Suchanfrage vorliegt, wird das oben beschriebene Formular ausgegeben, andernfalls, wenn die Variable $submit auf true gesetzt ist, wird die nachfolgende Funktion abgearbeitet. 
Die Funktion überprüft nun erstmal mittels einer einfachen Switch-Abfrage, auf welchen Wert die Variable $endfix gesetzt wurde

switch ($endfix) {
case '.de':$id=1;break;
case '.com':$id=2;break;
case '.net':$id=3;break;
case '.org':$id=4;break;
case '.lu':$id=5;break;
default:echo("Fehler !\n");break;
}

$domain=($domainname."".$endfix.""); 

Hier wird dann die Variable $id gesetzt, die im späteren Skript dazu dient, den richtigen Dienst abzufragen. Dann wird noch schnell die abzufragenden Domain aus "domainname" und "endfix" zusammengesetzt. 
Nun werden jeder $id eine Abfrage mittels if-else zugeordnet:

if ($id==1) {
$WhoIsServer="whois.ripe.net";
$fp = fsockopen ("$WhoIsServer", 43, $errnr, $errstr);
set_socket_blocking($fp,0);
fputs($fp, "$domain\n");

while (!feof($fp)) {
$result = fgets($fp, 2048);

if (substr("$result" ,2, 16) == "No entries found") {
printf("<table border=1 width=640><tr>");
printf("<td><b>Die von Ihnen abgefrage Domain $domain ist noch frei!</b></td></tr></table>");
}

else if (substr("$result" ,0, 7) == "domain:") {
printf ("<table border=1 width=640><tr>");
printf ("<td>><b>Die von Ihnen abgefrage Domain $domain ist leider schon vergeben.</b><br>");

printf ("<b>M&ouml;chten Sie die technischen Daten der Domain sehen? 
<a href='$PHP_SELF?actio=show&WhoIsServer=$WhoIsServer
&domain=$domain' target='_self'>JA</a> /
 <a href='#' target='_self'>NEIN</a></b>
</td></tr></table>");
}
}
fclose($fp);


In der ersten if-Möglichkeit wird der Server whois.ripe.net abgefragt. Es wird mittels pointer fp über fsockopen eine Verbindung aufgebaut, und der Suchbegriff wird übermittelt. 
Anschließend wird das Rückgabeergebnis mittels While-Schleife ausgelesen und ausgewertet. Ist die Domain nicht mehr frei, gibt es die Möglichkeit, die Daten der Domain auszulesen. Hier kann der Benutzer über (ja/nein) auswählen, ob er genaue Daten zur Domain ansehen will. Will er das, so wird die weiter unten aufgeführte Funktion "showtime" aufgerufen. Andernfalls geht's zurück.
 

[ 1 2 3  ]    weiter
 
Whois Interface mit PHP (18 Kommentare)
  13.01.2001:   funzt nicht (3)
  07.12.2001:   Connecting to Server (0)
  28.12.2001:   AT (0)
  06.01.2002:   Ich komme nicht ganz klar (0)
  12.04.2002:   Probs unter Win2000 (1)
  19.06.2002:   Proxy's (6)
  02.07.2002:   Weiter Whois-Server (3)
  06.08.2002:   Andere Domains (0)
  05.11.2002:   keine Ausgabe (1)
  17.12.2002:   whois .NL funktioniert NICHT (0)
  27.04.2003:   Whois Infos (0)
  03.05.2003:   Neuer Whois-Server für .org (1)
  20.05.2003:   Neue Whoisserver für .org und weitere Erweiterungen (1)
  07.10.2003:   große Whois Server Liste als XML Datei (2)
  06.02.2004:   Admin - C & Provider (0)
  25.03.2004:   .de geht nicht mehr (3)
  19.03.2005:   DE-Domains funktionieren nicht (1)
  18.11.2006:   Abfrage .es Domains (0)
zurück
   
powered by Hetzner


top Alle Rechte vorbehalten. © Dynamic Web Pages 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 top

  Seitenaufbau in 2.263 Sekunden