بررسی موجود بودن دامنه با PHP

رزرو بودن دامنه با PHP – خیلی از whmcs ها که دامنه و هاست را به کاربران ارائه می دهند نیازمند اسکریپتی هستند که قبل از هر کاری دامنه کاربر را بررسی کند که آیا آزاد است برای خرید یا خیر .
این پروژه دارای 2 اسکریپت است :
- index.php که ورودی URL را از کاربر دریافت می کند
- check.domain.php که دامنه را با وبسایت who.is بررسی میکند.
دموی برنامه
اسکریپت index.php
فرم و ورودی دامنه را در این صفحه از کاربر دریافت می کنیم .
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>Rapidcode.iR - سورس کد</title>
<link rel="stylesheet" href="static/css/main.css">
</head>
<body>
<div class="container">
<a id="introduce" href="https://rapidcode.ir" target="_blank">رپید کد • کتابخانه مجازی برنامه نویسان</a>
<form action="check.domain.php" method="POST">
<label>دامنه :</label>
<input type="text" id="domain" name="domain" placeholder="دامنه خود را وارد نمایید">
<input type="hidden" id="referral" name="referral" value="">
<input type="submit" id="check" value="جستجو">
</form>
<?php if(@$_GET['msg']): ?>
<div id="info"><?php echo $_GET['msg'] ?></div>
<?php endif; ?>
</div>
<script type="text/javascript">
const referralDOM = document.getElementById("referral");
referralDOM.value = location.origin + location.pathname;
</script>
</body>
</html>
اسکریپت check.domain.php
پس از ثبت فرم کاربر به این اسکریپت هدایت می شود تا داده ها را پردازش کند و بعد از آن با کمک header به صفحه index.php ریدایرکت می شود اما با پیغام مبنی بر موجود / ناموجود بودن دامنه .
<?php
$referral = $_POST['referral'];
$domain = @$_POST['domain'];
if(!$domain) die("دامنه ای وارد نشده");
$html = file_get_contents("https://who.is/whois/{$domain}");
$res = strpos($html, "%ERROR:101: no entries found") || strpos($html, "No match for");
$available = "موجود است";
if($res === false) $available = "ناموجود می باشد";
header("Location: {$referral}?msg=دامنه {$domain} {$available}");
?>
استایل برنامه با فایل main.css
#info{
width: 100%;
padding: 25px 5px;
border-radius: 4px;
color: white;
background-color: #009688;
font-size: 20px;
font-weight: bold;
margin-top: 25px;
}
ارسال نظر