در حال بارگزاری ...

آموزش ساختن فرم ورود در صفحات PHP

php
توسط مصطفی مصطفایی
آخرین به روز رسانی شنبه 16 آذر 1398

لیداوب در این مطلب آموزشی، شما را با چگونگی ساخت فرم ورود (Login) در صفحاتی که از زبان پی‌اچ‌پی (PHP) استفاده می‌کنند، آشنا می‌کند. در ادامه ما را همراهی کنید.

ساخت فرم ورود یا همان Login Form در صفحات PHP، شاید یکی از پرکاربردترین مهارت‌ها برای یک طراح وب‌سایت باشد. در واقع شما هر وب سایتی که طراحی کنید، نیاز دارید برای آن یک فرم ورود هم طراحی کنید تا اعضای وب سایت شما بتوانند به راحتی با وارد کردن شناسه عضویت و رمز عبور وارد حساب کاربری خود در سایت شما شوند.

اگر با PHP آشنایی ندارید و دوست دارید بدانید PHP چیست می‌توانید مجموعه مقالات ما در دسته بندی آموزش پی اچ پی دنبال کنید و با آموزش‌های مقدماتی و پیشرفته ما همراه شوید. اگر هم با این زبان آشنایی دارید و به دنبال یافتن ترفندهای جدید مثل کار با لاراول هستید، باز هم در تلاش هستیم تا مجموعه کاملی از موارد مورد نیاز شما را در لیداوب گردآوری کرده و در دسترس شما قرار بدهیم.

طراحی فرم ورود در پی‌اچ‌پی، مراحل مختلفی دارد. انجام فرایند طراحی Login Form پیش از هر چیز با دانلود کردن یک سورس کد مخصوص آغاز می‌شود. در ادامه با لیداوب همراه باشید تا مرحله به مرحله شما را با طراحی یک فرم ورود در PHP آشنا کنیم.

دانلود سورس کد PHP برای ساخت فرم ورود

با کلیک کردن روی این لینک، می‌توانید سورس کد مخصوص صفحات ثبت‌نام و ورود را در پی‌اچ‌پی، دریافت کنید. دقت کنید که با مراجعه به فایل ReadMe داخل این فایل فشرده، می‌توانید اندکی اطلاعات کسب کنید.

فرم ورود (Login Form)

آموزش ساختن فرم ورود صفحات PHP

در ادامه می‌توانید شاهد کد HTML فرم ورود باشید:


<form id='login' action='login.php' method='post' accept-charset='UTF-8'>
<fieldset >
<legend>Login</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>

<label for='username' >UserName*:</label>
<input type='text' name='username' id='username'  maxlength="50" />

<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="50" />

<input type='submit' name='Submit' value='Submit' />

</fieldset>
</form>

فرایند لاگین شدن

نام کاربری و رمز عبوری که دریافت کرده‌ایم را در این مراحله تایید می‌کنیم و در داخل پایگاه داده، به دنبال آن‌ها گشته و پیدایشان می‌کنیم. کد مخصوص این کار را می‌توانید در ادامه ببینید:

function Login()
{
    if(empty($_POST['username']))
    {
        $this->HandleError("UserName is empty!");
        return false;
    }
    
    if(empty($_POST['password']))
    {
        $this->HandleError("Password is empty!");
        return false;
    }
    
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    
    if(!$this->CheckLoginInDB($username,$password))
    {
        return false;
    }
    
    session_start();
    
    $_SESSION[$this->GetLoginSessionVar()] = $username;
    
    return true;
}

برای شناسایی کردن یک کاربر عادی و مجاز (برای عضویت)، به بررسی پایگاه داده می‌پردازیم تا از همخوانی نام کاربری و رمز عبور آن فرد، مطمئن شویم؛ اگر همه چیز درست بود و مشکلی نداشت، مرحله‌ بعدی، تنظیم کردن یک متغیر جلسه (Session Variable) است.

کد مخصوصی که به واسطه آن می‌توانید به دنبال نام کاربری و رمز عبور بگردید، در ادامه آورده شده است:

function CheckLoginInDB($username,$password)
{
    if(!$this->DBLogin())
    {
        $this->HandleError("Database login failed!");
        return false;
    }          
    $username = $this->SanitizeForSQL($username);
    $pwdmd5 = md5($password);
    $qry = "Select name, email from $this->tablename ".
        " where username='$username' and password='$pwdmd5' ".
        " and confirmcode='y'";
    
    $result = mysql_query($qry,$this->connection);
    
    if(!$result || mysql_num_rows($result) <= 0)
    {
        $this->HandleError("Error logging in. ".
            "The username or password does not match");
        return false;
    }
    return true;
}

توجه داشته باشید که‌پس از طی این مراحل در ساخت فرم ورود یا همان لاگین فرم در PHP، پیش از هر کار دیگری، باید توسط MD5 رمزنگاری شده، رمز عبوری که توسط کاربر وارد شده است را با رمز عبور ثبت‌شده در پایگاه داده مقایسه کنیم. اگر مشکلی وجود نداشت، قدم بعدی این است که یک متغیر جلسه «تام‌الاختیار» تنظیم کنیم؛ پس از این مرحله، باید مسیر آن را به محتوای محافظت‌شده، تغییر دهیم. اگر در داده‌های وارد شده، هماهنگی (بین نام کاربری و رمز عبور) دیده نشد، باید کاربر مورد نظر را دوباره به فرم ورود هدایت کنیم.

دسترسی به صفحات کنترل شده

در صفحاتی که تنها توسط کاربرانی که ثبت‌نام کرده‌اند قابل مشاهده هستند، لازم است حتما در بالای صفحه، کد ویژه بررسی را قرار دهیم. اگر دسترسی کاربر قبلا داده شده است، محتوای محافظت شده را به او نشان می‌دهیم و در غیر این‌صورت، مجددا او  را به فرم ورود منتقل می‌کنیم. 

به این منظور، این کد نمونه را در قسمت بالایی صفحات خود قرار دهید.

<?PHP
require_once("./include/membersite_config.php");

if(!$fgmembersite->CheckLogin())
{
    $fgmembersite->RedirectToURL("login.php");
    exit;
}
?>

در ادامه برای شما، کد CheckLogin را آورده‌ایم:

function CheckLogin()
{
     session_start();

     $sessionvar = $this->GetLoginSessionVar();
     
     if(empty($_SESSION[$sessionvar]))
     {
        return false;
     }
     return true;
}

 

اگر به دنبال این هستید که مقالات جامعی در مورد PHP بخوانید، به صفحه مخصوص آن در لیداوب رجوع کنید. اگر سوالی درباره ساخت این فرم داشته باشید، خوشحال می‌شویم بتوانیم به شما کمک کنیم. همچنین اگر راه بهتری برای ایجاد صفحات HTML بلد هستید، از شما درخواست می‌کنیم آن را با ما و خوانندگان لیداوب در میان بگذارید.

دیدگاه ها

دیدگاه ها : 0


متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

رایگان

اشتراک گذاری در
ثبت امتیاز
1.5 (12 رای)

   لطفا صبر کنید ...