در این آموزش , خواهیم دید چگونه می توانیم یک اسکریپت PHP برای پیاده سازی قابلیت بررسی وجود یوزرنیم در ثبت نام بوسیله AJAX,jQuery و mySQL , بسازیم.
قابلیت جلوگیری از ثبت نام کاربر با نام کاربری مشابه در دیتابیس بسیار رایج و محبوب است و در وبسایت های بسیار زیادی مثل انجمن ها این مورد استفاده می شود. ( نام کاربری یکتا در ثبت نام PHP)
در هنگام ساخت یک اکانت , درست بعد از وارد کردن یوزنیم , یک درخواست AJAX به صفحه PHP در سمت سرور به منظور بررسی وضعیت در دسترس بودن نام کاربری , ارسال می کنیم . صفحه PHP ورودی کاربر را با اطلاعات موجود در دیتابیس MySQL بررسی و مقدار دسترسی را بصورت متن در پاسخ برگشت می دهد.
کد HTML بررسی وجود یوزرنیم
این فرم شامل یک input برای یوزرنیم و رویداد blur
است . آیکون لودینگ تا زمانی که درخواست AJAX برگشت داده شود به کاربر نمایش داده خواهد شد.
1 2 3 4 5 |
<div id="frmCheckUsername"> <label>Check Username:</label> <input name="username" type="text" id="username" class="demoInputBox" onBlur="checkAvailability()"><span id="user-availability-status"></span> </div> <p><img src="LoaderIcon.gif" id="loaderIcon" style="display:none" /></p> |
هندلر AJAX برای درخواست در دسترس بودن نام کاربری
تابع جاوااسکریپت از jQuery.ajax()
برای ارسال درخواست AJAX به همراه نام کاربری وارد شده در فیلد متنی به سمت صفحه PHP , استفاده می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function checkAvailability() { $("#loaderIcon").show(); jQuery.ajax({ url: "check_availability.php", data:'username='+$("#username").val(), type: "POST", success:function(data){ $("#user-availability-status").html(data); $("#loaderIcon").hide(); }, error:function (){} }); } |
بررسی وجود یوزرنیم در ثبت نام با php
کد php زیر به عنوان نتیجه درخواست AJAX
اجرا می شود . با بررسی نام کاربری واردی با نام کاربری وارد شده توسط کاربر , متن مربوطه به دسترسی بودن/نبودن را به عنوان پاسخ AJAX برگشت می دهد.
1 2 3 4 5 6 7 8 9 |
require_once("dbcontroller.php"); $db_handle = new DBController(); if(!empty($_POST["username"])) { $result = mysql_query("SELECT count(*) FROM users WHERE userName='" . $_POST["username"] . "'"); $row = mysql_fetch_row($result); $user_count = $row[0]; if($user_count>0) echo "<span class='status-not-available'> Username Not Available.</span>"; else echo "<span class='status-available'> Username Available.</span>"; } |
امیدوارم مقاله آموزشی بررسی وجود یوزرنیم در ثبت نام با php و ajax برای شما مفید واقع شده باشد و در پروژه هایی که می نویسید از آن استفاده کنید.
برای دانلود سورس کد کامل این آموزش از باکس دانلود استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.
اگر این دستورات را داخل یک فرم استفاده کنیم که آن فرم ثبت نام به صورت post باشد و ما بخوایم اگر این ارور وجود داشت دکمه submit کار نکند باید چه کاری انجام بدیم؟
در تگ فرم باید onsubmit رو به همراه یک تابع جاوااسکریپت پیاده ساز کنید .
خیلی ممنون که راهنمایی کردید ولی من زیاد مسلط نیستم میشه این و بالایی رو بنویسید خودتون؟
راستی منظور این بود که توی همون فرم بمونه تا ارور ها رو ببینه
برای اعتبار سنجی لطفا این آموزش رو مطالعه کنید.
https://netparadis.com/form-validation-javascript
موفق باشید.
بسیار عالی بود
اگر در قسمت data دو مقدار یا بیشتر بخواهیم ارسال کنیم قسمت data را باید چگونه بنویسیم یا شاید باید بگویم از چه جدا کننده ای در قسمت data باید استفاده کنیم ؟
به صورت یک آرایه باید ارسال کنید یا اینکه آبجکت فرم var formData = new FormData رو به data پاس بدید
data : formData
موفق باشید.