آموزش ساخت صفحه لاگین و ثبت نام با php و mysql

‏  23 دقیقه
۲۴ خرداد ۱۳۹۹
آموزش ساخت صفحه لاگین و ثبت نام با php و mysql

اکثر ما وقتی وارد سایت مورد علاقه‌مان می‌شویم تصمیم به ثبت نام می‌کنیم تا بخشی از خانواده‌ی سایت مورد علاقه‌مان باشیم، اما تا به حال به این دقت کرده‌اید که ما دقیقا چگونه در سایت‌ها login یا ورود می‌کنیم و وارد پنل کاربری خود می‌شویم؟ و حتی اینکه چگونه در یک سایت عضو می‌شویم؟ اگر شما هم این سوال‌ها در ذهنتان هست پس در مقاله‌ی آموزش ساخت صفحه لاگین و ثبت نام با php و mysql با ما همراه باشید.

لاگین کردن در PHP - ساخت صفحه لاگین و ثبت نام با php و mysql

فهرست محتوای این مقاله

آمادی سازی محیط کار

برای شروع به کار در سیستم عامل خود یک ویرایشگر کد یا IDE داشته باشید تا بتوانید به راحتی نرم‌افزار خود را توسعه دهید. برای اینکه بتوانیم کدهای PHP خود را اجرا کنیم حتما WAMP یا XAMPP را نصب داشته باشید که ما به شما XAMPP را توصیه می‌کنیم.

در ادامه ما نیاز به چهار فایل داریم به نام‌های login.php، register.php، process.php، config.php. فایل login.php کدهای html ما که مربوط به فرم ورود (لاگین) است را در بر دارد و فایل register.php سورس کد فرم ثبت نام html را در بر دارد.

در فایل process.php ما کدهای مربوط به php را می‌نویسیم و در اصل عمل ثبت نام و ورود کاربر در آن قرار می‌گیرد و در آخر نیز در فایل config.php ما کدهای مربوط به اتصال به پایگاه داده را وارد می‌کنیم.

ساخت صفحه لاگین و ثبت نام با php

ابتدا برای اینکه بتوانیم مشخصات کاربر را دریافت کنیم باید صفحه‌ی لاگین (login) و ثبت‌ نام را درست کنیم، برای اینکه در وقت‌مان صرفه جویی کنیم از فرم‌های ما که قبلا کد آن‌ها را نوشته‌ایم استفاده کنید.

ساخت صفحه لاگین با php

سورس صفحه لاگین php در پایین همین متن قرار دارد و می‌توانید استفاده کنید، نام فایل را به دلخواه می‌توانید هر چیزی بگذارید اما برای اینکه با ما قدم به قدم جلو بیایید نام فایل را login.php قرار دهید.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>7Learn</title>
    <style>
        html,
        body {
            height: 100%;
        }

        body {
            background: #007bec;
            color: #fff;
            font-size: 1.5em;
            font-weight: 400;
            text-align: right;
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
        }

        .main {
            position: relative;
            background: #ffffff;
            color: #0e5698;
            display: inline-block;
            padding: 15px 30px;
            margin: 0 auto;
            border-radius: 7px;
            box-shadow: 0 50px 50px rgba(0, 0, 0, 0.2);
            min-height: 250px;
            min-width: 400px;
        }

        h1 {
            font: 30px sans-serif;
            text-align: center;
            margin: 25px 10px;
            font-weight: bold;
            color: #4a96db;
        }

        input,
        button,
        select,
        textarea {
            display: block;
            border: 1px solid #ccc;
            border-radius: 3px;
            margin-top: 10px;
            line-height: 28px;
            height: 30px;
            padding: 0 10px;
            width: 100%;
            box-sizing: border-box;
            font-family: sans-serif;
            font-size: 15px;
        }

        button {
            background: #007bec;
            color: #fff;
            line-height: 40px;
            height: 40px;
            font-size: 18px;
            border: 0;
        }

        button:hover {
            opacity: 0.7;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div class='main'>
        <h1>7Learn</h1>
        <form action="process.php" method="post">
            <input type="text" name="username" placeholder="username">
            <input type="password" name="password" placeholder="password">
            <button type="submit" name=login"">Login</button>
        </form>
    </div>
</body>

</html>

سورس کد فرم ثبت نام html

سورس (source) صفحه ثبت نام را هم می‌توانید از همین جا بردارید، همان‌طور که گفته شد قرار دادن نام فایل دلخواه است اما برای اینکه با ما قدم به قدم جلو بیایید نام فایل را register.php قرار دهید.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>7Learn</title>
    <style>
        html,
        body {
            height: 100%;
        }

        body {
            background: #007bec;
            color: #fff;
            font-size: 1.5em;
            font-weight: 400;
            text-align: right;
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
        }

        .main {
            position: relative;
            background: #ffffff;
            color: #0e5698;
            display: inline-block;
            padding: 15px 30px;
            margin: 0 auto;
            border-radius: 7px;
            box-shadow: 0 50px 50px rgba(0, 0, 0, 0.2);
            min-height: 250px;
            min-width: 400px;
        }

        h1 {
            font: 30px sans-serif;
            text-align: center;
            margin: 25px 10px;
            font-weight: bold;
            color: #4a96db;
        }

        input,
        button,
        select,
        textarea {
            display: block;
            border: 1px solid #ccc;
            border-radius: 3px;
            margin-top: 10px;
            line-height: 28px;
            height: 30px;
            padding: 0 10px;
            width: 100%;
            box-sizing: border-box;
            font-family: sans-serif;
            font-size: 15px;
        }

        button {
            background: #007bec;
            color: #fff;
            line-height: 40px;
            height: 40px;
            font-size: 18px;
            border: 0;
        }

        button:hover {
            opacity: 0.7;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div class='main'>
        <h1>7Learn</h1>
        <form action="process.php" method="post">
            <input type="text" name="username" placeholder="username">
            <input type="password" name="password" placeholder="password">
            <button type="submit" name="register">register</button>
        </form>
    </div>
</body>

</html>

سیستم ثبت نام کاربر در PHP - ساخت صفحه لاگین و ثبت نام با php و mysql

کدهای اتصال به پایگاه داده در php

در mysql یک دیتابیس به اسم my_site بسازید و درون دیتابیس ساخته شده یک جدول به اسم users با ستون‌های username، password ایجاد کنید تا بتوانیم کاربران خود را بسازیم و عمل ثبت نام و ورود کاربران را انجام بدهیم.

همان‌طور که در بالاتر نیز گفته شد ما کدهای مربوط به اتصال به پایگاه داده را درون فایل config.php می‌نویسیم. ابتدا ما مشخصات پایگاه داده‌ی خود را درون یک آرایه به اسم database_config ذخیره سازی می‌کنیم.

<?php

$database_config = (object) [
    'host'    => 'localhost',
    'user'    => 'root',
    'pass'    => '',
    'dbname'  => 'my_site'
]

در ادامه کدهای بالا ما باید کدهای مربوط به اتصال به پایگاه داده را بنویسیم که در اینجا ما از روش PDO استفاده می‌کنیم.

try {
    $pdo = new PDO("mysql:host={$database_config->host};dbname={$database_config->dbname}", $database_config->user, $database_config->pass);
    $pdo->exec('set names utf8');
} catch (Exception $e) {
    die("There is something wrong with connection, error: " . $e->getMessage());
}

در کد بالا و قسمت اتصال به پایگاه داده را درون بلاک try قرار داده‌ایم. درون کلاس PDO ما تمامی مشخصات لازم برای اتصال به پایگاه داده را نوشته‌ایم، بلاک catch هم زمانی اجرا می‌شود که خطایی در اتصال به پایگاه داده رخ بدهد.

حال اتصال به پایگاه داده‌ی ما آماده است و درون متغیر pdo قرار دارد و می‌توانیم به راحتی فایل config.php را هر جا که خواستیم include کنیم و از آن استفاده کنیم.

سورس کدهای ساخت صفحه لاگین و ثبت نام با php

کدهای مربوط به ثبت نام و لاگین (login) کاربر را ما درون فایل process.php می‌نویسیم، ابتدا ما می‌خواهیم از ثبت نام کاربر شروع کنیم پس با ما همراه باشید.

ثبت نام کاربر در php و mysql

به خاطر داشته باشید که action فرم ما به فایل process.php که ما اکنون درون آن کار می‌کنیم است و متد (method) فرم‌مان نیز POST می‌باشد.

وقتی که اطلاعات درون فرم موجود در فایل register.php ارسال می‌شود ما تمامی مقادیر وارد شده در فرم را درون آرایه‌ی سوپر گلوبال  (super global variables) POST داریم و می‌توانیم از آن‌ها به درستی استفاده کنیم.

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

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['username']) and isset($_POST['password'])) {
        if (!empty($_POST['username']) and !empty($_POST['password'])) {
            if (isset($_POST['register'])) {
                # Register User
            } elseif (isset($_POST['login'])) {
                # Login User
            }
        }
    }
}

در کد بالا در اولین شرط بررسی کرده‌ایم آیا فرم ارسال شده است؟ که بررسی این شرط با REQUEST_METHOD انجام شده است که اگر مقدار POST را درون خودش داشت به این معناست که فرم ارسال شده است.

در شرط بعدی بررسی کرده‌ایم که مقادیر ارسال شده‌اند یا خیر؟ که از isset استفاده کرده‌ایم. درون شرط بعدی بررسی کرده‌ایم که مقادیر ارسال شده خالی نباشند.

بعد از این سه تا شرط ما شرطی را آورده‌ایم که تشخیص دهد داده‌های ارسال شده از فرم ورود (login) است یا ثبت نام (register).

درون بلاک if اول که ما تشخیص داده‌ایم فرم ما register است، باید کدهای مربوط به ثبت نام کاربر را درون آن بلاک بنویسیم. برای اینکه کدهای تمیزتری داشته باشیم فرایند ثبت نام و ورود را در پایین همین صفحه در قالب توابع می‌نویسیم.

کدهای ثبت نام کاربر در php

ابتدا کار ما باید یک تابع بنویسیم که بررسی کند که آیا کاربر قبلا با این نام کاربری وجود دارد یا خیر. توجه داشته باشید ما باید با پایگاه داده کار کنیم پس به اتصال آن نیاز داریم و ما این اتصال را در فایل config.php داریم و باید این فایل را include کنیم. کد پایین را بعد از تگ php درون فایل process.php قرار دهید.

include 'config.php';

ابتدا تابعی می‌نویسیم تا بررسی که آیا کاربری با این نام کاربری وجود دارد یا خیر؟

بیشتر بدانید: دریافت اطلاعات از دیتابیس در PHP

function isUserExists($username)
{
    global $pdo;
    $sql = "SELECT * FROM users WHERE username = :username";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':username' => $username]);
    return $stmt->rowCount();
}

تابع بالا یک نام کاربری به عنوان ورودی دریافت می‌کند و یک کوئری به سمت پایگاه داده می‌زند تا بررسی کند کاربری که اطلاعات را اسال کرده است موجود است یا خیر؟ ما تابع بالا را درون تابع register استفاده می‌کنیم که اگر کاربر موجود بود او را به صفحه‌‌ی لاگین هدایت کنیم و اگر کاربر موجود نبود او را ثبت نام می‌کنیم.

function register($name, $username, $password)
{
    global $pdo;
    if (isUserExists($username)) {
        return false;
    }
    $sql = "INSERT INTO users (username, password) VALUES (:username, :password)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':username' => $username, ':password' => $password]);
    return $stmt->rowCount();
}

در تابع register ما یک شرط آورده‌ایم و اگر کاربر موجود بود false را به عنوان خروجی تابع برمی‌گردانیم تا بتوانیم به او اطلاع بدهیم تا عمل لاگین را انجام دهد. اگر هم کاربر موجود نبود و از قبل ثبت نام نکرده بود ادامه‌ی کد اجرا می‌شود و کاربر در سیستم ما ثبت نام می‌شود.

بیشتر بدانید: ارسال اطلاعات به دیتابیس در PHP

در بخش شرط‌هایمان که تابع register را صدا زده‌ایم به راحتی می‌توانیم خروجی تابع register را دریافت کنیم و با توجه به آن خروجی واکنش مناسبی می‌دهیم. تابع register اگر به درستی کاربر را ثبت کند خروجی 1 را به عنوان خروجی می‌دهد و اگر عملیات با موفقیت انجام نشد خروجی 0 خواهد بود که 1 و 0 معادل true و false هستند.

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['username']) and isset($_POST['password'])) {
        if (!empty($_POST['username']) and !empty($_POST['password'])) {
            if (isset($_POST['register'])) {
                if (register($_POST['username'], $_POST['password'])) {
                    header("location: register.php?s=1");
                    exit;
                }else{
                    header("location: register.php?s=0");
                    exit;
                }
            } elseif (isset($_POST['login'])) {
               # 
            }
        }
    }
}

در بلاک شرط register ما بررسی کرده‌ایم که اگر خروجی تابع register درست یا true بود به صفحه‌ی register.php برگشت داده شود و در URL برگشت داده شده ما یک مقدار s=1 را نیز قرار داده‌ایم تا بتوانیم در صفحه‌ی مقصد پیام مرتبط را چاپ کنیم. در بخش else هم زمانی اجرا می‌شود که درون تابع register تابع isUserExists اجرا شده است و تابع به این نتیجه رسیده است که کاربر موجود است و نیازی به ثبت نام دوباره ندارد پس مقدار بازگشتی تابع 0 خواهد بود و ما می‌توانیم پیام مرتبط با آن را نیز نمایش بدهیم.

در آخر نیز باید بگوییم که رمز عبور کاربر باید حتما hash شود و نباید به طور پیش‌فرض ذخیره شود، برای هش کردن مناسب رمز عبور کاربر می‌توانید از هش پسورد و احراز هویت آن استفاده کنید.

سیستم ثبت نام کاربر در PHP - ساخت صفحه لاگین و ثبت نام با php و mysql

کدهای لاگین کاربر در php

در این بخش از مقاله‌ی آموزش ساخت صفحه لاگین و ثبت نام با php و mysql ، به آموزش ساخت صفحه لاگین با php می‌پردازیم.

بخش لاگین کاربر ساده‌تر از ثبت نام او است ولی باید یک نکته را در نظر بگیرید، زمانی که عمل لاگین کاربر انجام شد ما باید از کاربر یک رد پا بگذاریم تا بتوانیم تشخیص بدهیم که کاربر لاگین کرده است. این کار را می‌توانیم با SESSIONها انجام بدهیم.

برای اینکه بتوانیم از SESSIONها استفاده کنیم باید SESSION را start کنیم، برای این کار کافی است در بالاترین قسمت صفحه‌ای که قرار است از SESSION استفاده کنیم تابع ()session_start را استفاده کنیم.

بعد از ()session_start حال نوبت به نوشتن تابع login است.

function login($username, $password)
{
    global $pdo;
    if (!isUserExists($username)) {
        return false;
    }
    $sql = "SELECT * FROM users WHERE username = :username AND password = :password";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':username' => $username, ':password' => $password]);
    $result = $stmt->fetch(PDO::FETCH_OBJ);
    $_SESSION['login'] = $result->id;
    return true;
}

درون تابع لاگین ما اول بررسی کرده‌ایم که آیا کاربر از قبل وجود دارد؟ اگر کاربر از قبل ثبت نام کرده بود ما در ادامه‌ی کد با یک کوئری بررسی می‌کنیم ببینیم آیا نام کاربری و رمز عبورش درست است. اگر درست بود یک SESSION برای کاربر با id خودش ثبت می‌کنیم.

تمامی کدهای صفحه‌ی process.php در یک نگاه

<?php
session_start();

include 'config.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['username']) and isset($_POST['password'])) {
        if (!empty($_POST['username']) and !empty($_POST['password'])) {
            if (isset($_POST['register'])) {
                if (register($_POST['username'], $_POST['password'])) {
                    header("location: register.php?s=1");
                    exit;
                } else {
                    header("location: register.php?s=0");
                    exit;
                }
            } elseif (isset($_POST['login'])) {
                if (login($_POST['username'], $_POST['password'])) {
                    header("location: login.php?s=1");
                    exit;
                } else {
                    header("location: login.php?s=0");
                    exit;
                }
            }
        }
    }
}

function isUserExists($username)
{
    global $pdo;
    $sql = "SELECT * FROM users WHERE username = :username";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':username' => $username]);
    return $stmt->rowCount();
}

function register($username, $password)
{
    global $pdo;
    if (isUserExists($username)) {
        return false;
    }
    $sql = "INSERT INTO users (username, password) VALUES (:username, :password)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([ ':username' => $username, ':password' => $password]);
    return $stmt->rowCount();
}

function login($username, $password)
{
    global $pdo;
    if (!isUserExists($username)) {
        return false;
    }
    $sql = "SELECT * FROM users WHERE username = :username AND password = :password";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':username' => $username, ':password' => $password]);
    $result = $stmt->fetch(PDO::FETCH_OBJ);
    $_SESSION['login'] = $result->id;
    return true;
}

بررسی لاگین بودن کاربر در صفحه‌ی لاگین

در صفحه login.php می‌خواهیم لاگین بودن کاربر را با SESSION که در تابع login ثبت کردیم بررسی کنیم، برای این کار ابتدا در بالاترین نقطه‌ی صفحه‌ی login.php سشن (SESSION) را start کنید.

<?php session_start() ?>

حال می‌خواهیم بررسی کنیم اگر کاربر لاگین بود فرم ورود را نشان ندهد و یک پیام "You are logged in" را می‌دهیم و اگر لاگین نبود فرم ورود را به کاربر نشان می‌دهیم تا لاگین کند.

    <?php if (isset($_SESSION['login'])) : ?>
        <?= "You are login" ?>
    <?php else : ?>
        <div class='main'>
            <h1>7Learn</h1>
            <form action="process.php" method="post">
                <input type="text" name="username" placeholder="username">
                <input type="password" name="password" placeholder="password">
                <button type="submit" name="login">Login</button>
            </form>
        </div>
    <?php endif; ?>

در کد بالا با یک if ساده این کار را انجام داده‌ایم دقت کنید که ما این کدها را درون فایل login.php نوشته‌ایم و از شرط‌هایی که درون بلاک‌های مختلف php آمده‌اند استفاده کرده‌ایم.

جمع‌بندی:

در این مقاله ما یاد گرفتیم که چگونه کاربر را درون سیستم خود ثبت نام و ورود یا به اصطلاح لاگین کنیم و توانستیم با کمک توابعی که نوشته‌ بودیم این کار را به راحتی انجام دهیم، کار دیگری که می‌توانید با این پروژه کوچک انجام بدهید این است که بعد از دریافت s=1 و s=0 از header به کاربر یک پیام مناسب نشان دهید. اگر در مورد آموزش ساخت صفحه لاگین و ثبت نام با php و mysql سوال یا نظری داشتید خوشحال می‌شویم که در بخش نظرات با ما و کاربران سون لرن به اشتراک بگذارید.

 

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

چه امتیازی به این مقاله می دید؟
نویسنده امیر صالحی
عاشق دنیای برنامه نویسی و چالش های بزرگش
ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 

نظرات کاربران

مانی

سلام
من یه مشگلی دارم
زمانی که لاگین میکنم تا به صفحه پنل برم توی نوار بالا یه لاگین اظافه نوشته میشه یعنی لاگین قبلی حذف نمیشه که پنل جایگزین بشه تا بتونم وارد بشم
کد ها رو هم برسی کردم ولی هیچ مشکلی هم پیدا نکردم

نازنین کریمی مقدم

درود
ما تو این مقاله روت کردن به پنل بعد از لاگین رو نیوردیم و صرفا با نمایش پیام اینو به کاربر نشون میدیم. اگر این بخش رو خودتون نوشتید و همچنان مشکل داره، باید در تابع روت تون در نظر بگیرید که اگر کاربر از اول لاگین بود، مستقیم به صفحه پنل روت شه و دیگه فرم لاگین رو نبینه.

علیرضا

بری اینکه این سیستم رو امن کنیم چه پیشنهاداتی دارین؟ یا اگه ممکنه سری مبحث بهم معرفی کنید برم خودم سرچ بزنم الان هیچ دیدی ندارم که واسه امنیتش لز کجا شروع کنم

نازنین کریمی مقدم

درود.
شما میتونید عبارت امنیت php رو در سایت سرچ بزنید مقالات مرتبط رو میاره.
برای مثال این مقاله خیلی خوبیه: آموزش کامل برقراری امنیت در برنامه نویسی PHP

قاسم

سلام ، مراحل طی شد و درست اجرا میشه . منتها کاربر مجدد که register میشه و با وارد کردن نام کاربری خود و رمز عبوری مخالف رمز ی که اول وارد کرده ( در قالب رمزی 34 رقمی در جدول ذخیره شده است ) هدایت به فرم لاگین می شود مگر غیر اینه که سیتم باید ارور بده ، زیرا رمز اشتباه است .

نازنین کریمی مقدم

درود.
بله ما تو کدمون اینطوری مدیریت کردیم اما شما میتونید تابع login رو با نوشتن یک شرط ادیت کنید که اگر رمز اشتباه بود، سیستم پیام ارور بده.

mohammad

من وقتی اطلاعات رجیستر رو وارد میکنم با ارور this page is’nt working روبه رو میشم وقتی میخود بره به process.php

نازنین کریمی مقدم

درود
این خطا معمولا وقتی پیش میاد که در کد خطا دارید. یکبار دیگه بررسی کنید اسم متغیری رو جایی اشتباه ننوشته باشید و…
چون این کدها تست شدند و درست کار میکنند.

قاسم

سلام ، “”کدهای مربوط به ثبت نام و لاگین (login) کاربر را ما درون فایل process.php می‌نویسیم””
لطفا چگونگی ترکیب این کدها را توضیح دهید.

نازنین کریمی مقدم

درود.
چهار فایل داریم به نام‌های login.php، register.php، process.php، config.php. فایل login.php کدهای html که مربوط به فرم ورود (لاگین) است و فایل register.php سورس کد فرم ثبت نام html را دارد. در فایل process.php کدهای مربوط به php را می‌نویسیم و در اصل عمل ثبت نام و ورود کاربر در آن قرار می‌گیرد و در آخر نیز در فایل config.php ما کدهای مربوط به اتصال به پایگاه داده را وارد می‌کنیم.
نیاز به ترکیب نیست: به همون ترتیبی که در هر بخش گفته شده کد رو در فایل مخصوص به خودش کپی پیست میکنید. توصیه میکنم php رو از پایه یاد بگیرید چون در ادامه براتون مشکل ساز میشه.
پاینده باشید.

احسان معالی امیری

سلام
من پس از زدن لاگین اروری دریافت نمی کنم ولی برنامه در config.php گیر می کند و عملکرد نخواهد داشت
دلیل چیست
کدهای شما را کاملا درست کپی کردم
دیتابیس هم ارور نمیدهد
ولی درست عمل نمی کند
لطفا یا سورس را برای دانلود بگذارید یا راهنمایی بفرمایید
با تشکر

نازنین کریمی مقدم

سلام. بررسی کردید که دقیقا رو چه خطی گیر میکنه؟

حسین

ممنون از آموزش خوب و جامع تون
من php یه کم تازه واردم چجوری میتونم این فرم رو داخل صفحه html وبسایتم بارگزاری کنم؟

نازنین کریمی مقدم

سلام.
اگر فقط کد html رو نیاز دارید کافیه کپیش کنید.
اما اگر کل کد رو به همراه کدهای php میخواید طبق مراحل مقاله پیش برید.

علی

سلام خوبین
اگه میشه سورس کامل zip شده رو به ایمیلم ارسال کنید

رضا کلیدری

سلام ب همه
دوستان اگر میخواین متد logout رو هم پیاده کنید، لازمه که صفحه process رو به صورت زیر ویرایش کنید:

mahan

سلام وقتتون بخیر
من با این که دقیقا کدهارو عین شما اجرا کردم syntax ارور گرفتم (Parse error: syntax error, unexpected ‘try’ (T_TRY) in C:\xampp\htdocs\login_form\config.php on line 10)میشه راهنماییم کنین مشکل از چیه . تو syntax هیچ مشکلی نمیتونم پیدا کنم

نازنین کریمی مقدم

سلام.
یکی از دلایل رایج در گرفتن سینتکس ارور این هست که شما در کدتون و به خصوص حوالی بلاک try یه جایی semicolon یا ; رو فراموش کردید بذارید.
یه دلیل دیگه هم میتونه این باشه که یه جایی اشتباها پرانتز و یا آکولادی رو بستید.
کدتون رو با درنظر گرفتن این موارد بررسی کنید.

مصطفی

سلام خسته نباشید به شما و گروه خوبتون
میخواستم بپرسم ایا شما اموزش {(رمز خود را فراموش کرده اید ؟ )} رو هم توی این وب سایت قرار دادین ؟
یا اگه ندادین میشه یک کمک بکنید ببینم چجوری میشه ساخت این بخش رو ، که مثلا چجوری میشه پیام فرستاد به جیمیل طرف که از طریق اون بره رمزش رو عوض کنه

نازنین کریمی مقدم

سلام. خیر چنین آموزشی در مقالات هنوز نوشته نشده اما در دستور کار قرار میدیم.
اگر نیاز فوری دارید، میتونید به این آموزش مراجعه کنید: آموزش ارسال ایمیل در صورت فراموشی رمز در php