سبد (0)

تبلیغات

پروژه رزرو هتل در PHP

پروژه رزرو هتل در PHP

با توجه به درخواست های مکرر کاربران بیاموز، مبنی بر آموزش های پروژه محور، تصمیم گرفتیم تا آموزش های ارائه شده در بخش هایآموزش PHP و آموزش HTML و آموزش CSS را تحت یک پروژه بکار ببریم.

حالا شما کاربران محترم می توانید با دانلود کامل پروژه رزرو هتل، با نحوه استفاده از مباحث خوانده شده تا اینجا آشنا شوید.

موارد استفاده شده در این پروژه عبارتند از:

    1. در پروژه رزرو هتل، برای کار با پایگاه داده از افزونه MySQLi بجای MySQL استفاده شده است.
    2. برای بالا بردن راندمان کوئری ها و جلوگیری از حملات SQL Injection از دستورات آماده یا Prepare استفاده شده است.
    3. در این پروژه، از Session ها برای نگه داشتن، نام کاربری استفاده شده است.
    4. در این پروژه، اعتبار سنجی داده ها در سه سطح: فرم، برنامه و پایگاه داده در نظر گرفته شده است.
    5. در این پروژه، از HTML5 برای اعتبار سنجی (Validation) فرم های رزرو و ثبت نام استفاده شده است.
    6. برای قابل فهم تر شدن اسکریبت ها، توضیحات یا comment به ازای تک تک کدها ذکر شده است.
    7. در این پروژه برای طراحی صفحات از Master Page استفاده شده است.

توجه: دانشجویان عزیز می توانند با کمی تغییرات در این پروژه آنرا بعنوان پروژه پایان ترم خود ارائه دهند.

در اینجا برای اطمینان بیشتر، ماژول "ورود کاربران" که در سمت چپ تمامی صفحات نشان داده می شود، آورده شده است:

login.php

<?php

//اضافه کردن فایل کانفیک به این صفحه این فایل شامل اطلاعات لازم برای اتصال به پایگاه داده است
require_once('config.php');

//تنظیم اکشن
$action=(isset($_POST['action']))? $_POST['action'] : '';

//بر اساس اکشن تنظیم شده، تابع مربوطه فراخوانی می شود
switch($action)
{
    case "login" : login();    break;
    case "exit_user" : exit_user();    break;
    default : display_form_login(); break;    
}

//وظیفه این تابع، نمایش فرم لاگین است
function display_form_login()
{
    //اگر کاربر، قبلاً لاگین کرده باشد بنابراین سشن زیر تنظیم شده است و نباید فرم لاگین نمایش داده شود
    if(isset($_SESSION['u_username']))
    {
        show_welcome_message($_SESSION['u_username']);
        return;
    }    
?>                
    <div class="form" id="login">
        <h2>ورود کاربران</h2>
        <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
            <input type="hidden" name="action" value="login" />
            <dl>
                <dd>
                    <label style="min-width: 70px;">نام کاربری :</label>
                    <input type="text" name="u_username" size="18" maxlength="25" required />
                </dd>
                <dd>
                    <label style="min-width: 70px;">کلمه عبور :</label>
                    <input type="password" name="u_password" size="18" maxlength="25"  required />
                </dd>
                <dd class="button">
                    <input type="submit" value="ورود" />
                </dd>
                <dd style="margin:0 10px 10px;">
                    <a href="/register.php">ایجاد حساب کاربری</a>
                </dd>
            </dl>
            <div class="error"><?php if (isset($GLOBALS['error'])) echo $GLOBALS['error']; ?></div>                                    
        </form>
    </div>    

<?php
}

//وظیفه این تابع، این است که براساس نام کاربری و کلمه عبور دریافت شده، اجازه ورود به کاربر بدهد
function login()
{
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
        //متغییری برای ذخیره پیغام های خطا
        global $error;
        $error='';
        
        //تنظیم مقادیر ارسال شده از سمت کاربر
        $u_username=$_POST['u_username'];
        $u_password=$_POST['u_password'];
        
        //مقادیر ارسال شده از سمت کاربر، نباید خالی باشد
        if(empty($u_username) || empty($u_password))
        {
            $error = "لطفاً همه فیلدها را پر کنید.";
            display_form_login();
            return;
        }        
        
        //ایجاد ارتباط به پایگاه داده
        $conn= new mysqli(DBHOST, DBUSER, DBPASS,DBNAME);   
        
        //اطمینان از صحت ارتباط
        if($conn->connect_error)
        {
            $error = "متاسفانه نمی توان به پایگاه داده متصل شد.";
            display_form_login();
            return;
        }
               
        //تنظیم کوئری و اطمینان از صحت کار
        if ($stmt = $conn->prepare("SELECT u_id FROM users WHERE u_username=? and u_password=?"))
        {
            //بایند کردن پارامترها
            $stmt->bind_param("ss", $u_username, $u_password);
            //اجرای کوئری
            $stmt->execute();
            
            //ذخیره کردن نتیجه
            $stmt->store_result();
            //اگر تعداد رکوردها بزرگتر از صفر باشد، کاربر بدرستی اطلاعات را وارد کرده است
            if($stmt->num_rows>0)
                {
                    $_SESSION['u_username']=$u_username;
                    show_welcome_message($u_username);
                }
            else
                {
                    $error = "نام کاربری یا کلمه عبور اعتبار ندارد";
                    display_form_login();
                    return;
                }
        }       
        else
        {
            $error = "عدم اجرای دستور Prepare <br /> شماره خطا = $conn->errno <br /> متن خطا = $conn->error";
            display_form_login();
            return;
        }
        //بستن ارتباط با پایگاه داده
        $stmt->close();
        $conn->close();        
    }
}

//وظیفه این تابع، نمایش پیغام خوش آمد گویی است البته بهمراه نمایش دکمه خروج
function show_welcome_message($u_username)
{
?>                
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <input type="hidden" name="action" value="exit_user" />
        <div class="form" id="login">
            <h2>ورود کاربران</h2>
            <div>سلام، <?php echo $u_username; ?> عزیز</div>
            <div class="button"><input type="submit" value="خروج" /></div>            
        </div>    
    </form>
<?php
}
//وظیفه این تابع خروج و پاک کردن سشن هاست
function exit_user()
{
    unset($_SESSION['u_username']);
    display_form_login();
}
?>


آموزش های مرتبط

آموزش پروژه محور PHP

مطلب بالا را ویرایش کنید ...!

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

تغییرات اعمال شده در اولین فرصت توسط مدیر سایت بررسی شده و نهایتاً به مطلب اصلی منتقل خواهد شد. بدین ترتیب شما نیز سهمی در بالا بردن دانش دیگر هموطنانمان خواهید داشت.

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

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

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی