finger.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Registration</title>
<script type="text/javascript" language="javascript">
// <![CDATA[
// Need to make an object of XMLHttpRequest Type.
function createRequestObject() {
var ro;
if (navigator.appName == "Microsoft Internet Explorer") {
ro = new ActiveXObject("Microsoft.XMLHTTP");
} else {
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
// Function that calls the PHP script:
function sendRequest(domainname) {
// Call the script.
// Use the GET method.
// Pass the email address in the URL.
http.open('get', 'finger.php?domain=' + encodeURIComponent(domainname));
http.onreadystatechange = handleResponse;
http.send(null);
}
// Function handles the response from the PHP script.
function handleResponse() {
// If everything's okay:
if(http.readyState == 4){
// Assign the returned value to the document object.
document.getElementById('domain_label').innerHTML = http.responseText;
}
}
// ]]>
</script>
</head>
<body>
<form action="finger.php" method="post">
Domain: <input name="domainname" type="text" size="30" maxlength="60"
onkeyup="sendRequest(this.form.domainname.value)" /> <span id="domain_label"></span><br />
</form>
</body>
</html>
finder.php
<?php
$pdolist = array('at', 'co.at', 'or.at');
if (isset($_GET['domain'])) {
foreach ($pdolist as $pdo) {
$domain = $_GET['domain'].'.'.$pdo;
$r = finger($domain);
$text = ( $r == 0 ) ? "occupied" : "free" ;
printf("<br> %s [%s]", $domain, $text);
}
}
function finger($domain) {
$fp = fsockopen('finger.nic.at', 79);
$domain .= "\n";
fputs($fp, $domain, strlen($domain));
$text = fgets($fp);
fclose($fp);
if (preg_match ('/NO domain data/', $text)) {
return 1;
} else {
return 0;
}
}
?>