سبد خرید (0)

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

- سطح پروژه: دانشجویی

- پیش نیاز ها: PHP مقدماتی - HTML - CSS

- مستندسازی: به ازای هر دستور، توضیحات لازم داخل کد ارائه شده است.

- پیش نمایش: مشاهده پیش نمایش یا Demo

- دانلود سورس: دانلود سورس پروژه هتل در PHP


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

Wiki

با توجه به درخواست های مکرر کاربران بیاموز، مبنی بر آموزش های پروژه محور، تصمیم گرفتیم تا آموزش های ارائه شده در بخش های آموزش 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();
}
?>


امکانات مورد نیاز

Wiki

به ابزار خاصی برای پیاده سازی این پروژه نیاز نیست، اما برای اجرای کدهای PHP و استفاده از پایگاه داده MySQL باید آنها را نصب نمایید که پکیج Xampp برای این منظور مناسب می باشد.

برای اطلاعات بیشتر به لینک روبرو مراجعه فرمایید: آموزش PHP-نصب PHP

در ضمن برای نوشتن کدها از ادیتور ++Notepad استفاده شده است.


پروژه هتل چیست؟

Wiki

مهم ترین قسمت های پروژه هتل شامل موارد زیر می شود:

  • فرم رزرو هتل
  • فرم ثبت نام کاربران (عضویت)
  • فرم ورود کاربران
  • مشاهده اطلاعات رزروی
  • مشاهده کاربران عضو شده
  • درباره ما
  • گالری تصاویر
  • تماس با ما

پیش نمایش فیلم آموزش پروژه محور PHP

پیش نمایش زیر، جهت آشنایی شما کاربران محترم بیاموز با نحوه ی تدریس و بیان مدرس تهیه شده است:

پیش نمایش شماره 1 - درس شماره 1

دیدگاه‌ها  

+2 # آرمان 1395-12-11 10:15
سلام میشه اموزش تصویری پروژه معرفی جاذب های گردشگری هم بذارین؟ من دارم php یاد میگیرم و پروژه پایانیم هم سایت گردشگری هست میخواستم با کمک فیلمی درمورد این پروژه یاد بگیرم . ممنون و تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1395-12-11 11:05
سلام
باید به شما دوست عزیز اطمینان داد که با دیدن فیلم های آموزشی دیگر، مثل پروژ بالا و یا پروژه ساخت فروشگاه، شما قادر خواهید بود، براحتی با استفاده از متدهای و آموزش های کسب شده، پروژه مورد نظرتان (پروژه سایت گردشگری) را پیاده سازی نمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # Ward 1395-10-21 23:38
عالی بود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر ابراهیم زاده 1395-10-12 11:56
سلام خسته نباشید.
من خرید کردم خوبه. آموزشو هنوز شروع نکردم ایشالا انی که مد نظرم بود باشه .
خیلی ممنون .
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهزاد صفائیان 1395-03-13 16:33
با عرض سلام و خسته نباشید...من بعنوان پروژه دانشگاهی یک سایت نوبت دهی رادیولوژی را یاید پیاده سازی کنم. طراحی صفحاتش را با html, css انجام دادم ولی دانش زیادی از php ندارم. آیا با دریافت پروژه هتل و اعمال تغییرات میتونم پروژمو کامل کنم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1395-08-29 16:00
سلام
پروژه رزرو هتل، شامل 9 ساعت فیلم آموزشی است و مطمئنا بعد از دیدن فیلم ها، می توانید پروژه خود را پیاده سازی نمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # nima80 1395-03-07 10:58
سلام
در پروژه رزرو هتل، جستجوی اتاق هم وجود دارد ؟
آیا میتوانم با دید گرفتن از این پروژه پروژه کتابخانه آنلاین ایجاد بکنم ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1395-03-08 07:38
سلام
خیر جستجوی اتاق وجود ندارد.
اما با توجه به اینکه پروژه رزرو هتل، یک پروژه بسیار سبک است و در عین حال کامل به این معنی که به تمامی موارد مورد نیاز برای یک پروژه در آن پرداخته شده است، شما می توانید از آن الگو گرفته و برای پروژه های دیگر از آن استفاده نمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Reza7 1395-02-16 16:48
سلام. من این پروژه رو میخام ب عنوان پروژه پایان ترمم بخرم، اینکه گفتید با کمی تغییرات میتونید پروژه باشه براتون. دقیقا تغییرات کجاها باید باشه؟ 2_من زیادی وب بلد نیستم آیا میتونم با توضیحات داخل پروژه از پروژه سر در بیارم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1395-02-17 10:44
سلام
1- منظور از تغییرات، جاهایی است که از سایت بیاموز بعنوان پیاده ساز اسم برده شده است که براحتی می توانید آنرا با نام خودتون تغییر بدید.
2- بله شما براحتی می توانید با بررسی کامنت هایی که به ازای تک تک خطوط انجام شده است از روش کار پروژه رزرو هتل آگاه شوید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # hiwa hassanzadeh 1395-01-27 18:23
سلام و خسته نباشید
اگه لطف کنید ممنون میشم دو خط کد به پروژه اضافه کنید نیاز دارم
1. درسته دو کاربر با یک نام کاربری در پایگاه داده درج نمیشه ولی هنگام ثبت نام هم هیچ خطای نمیده اگه بشه نام کاربری تکراری انتخاب کرد بگه نام کاربری دیگری انتخاب کنید
2. یک دستور دیگه برای کسانی که ثبت نام نکرده باشند حق رزرو اتاق نداشته باشن و هنگام رزرو بگه اول ثبت نام کنید بعد اجازه رزرو دارید
ممنون از رهنمایی شما
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهندس رضا فتحی 1395-08-20 00:40
با سلام
دوست عزیز بهترین راه برای آروده کردن نیاز ها شما موارد زیر هستش.

1- چگونه فرم رزرو تنها برای اعضا قابل نمایش باشد.
ٌصفحه مربوط به رزرو اتاق را باز کنید و کد زیر را در خط اول بگذارید
session_start();
if(isset($_SESSION['u_username']))
{
header('Location: login.php');
}

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

2- برای اینکه خطاطط ببینید ظاهری هنگام اینکه دو یوزر مشابه در سیستم هستش من راه حل ساده ای میگم خدمتتون که خیلی برای شما که ابتدا کار هستید مناسبه تا فقط درکی از کد پیدا کنید.

if ($stmt = $conn->prepare( "SELECT * FROM users WHERE u_username=?"))
{
//بايند کردن پارامترها
$username=$_POST['u_username'];
$stmt->bind_param("s", $u_username);
//اجراي کوئري

$stmt->execute();
$stmt->store_result();
if($stmt->num_rows>0)
{
echo 'نام کاربري تکراري است';

elseif {} }
}


البته باید در نحوه نکارش کد در هنگام کدنویسی در بخش لاگین دقت کنید چون فقط برای نمونه این کد رو گذاشتم براتون.
توضیحات : ما با دستوری به دیتابیس وصل می شیم و بعدش یک شرط گذاشمی که یوزرنیم برابر بود با یوزرنیم ما اون وقت در انتها گفتیم کوری اجرا بشه و اگه تعداد سطر های کوری بیش از 0 بود یعنی یوزرنیم قبلا وجود داشته . این کد تست شده و هیچ مشکلی نداره فقط باید توی دستور elseif حالا اون شرط عضویت رو بذارید یعنی بقیه کد ها عضویت رو .
بهترین راه تقریبا معرفی شده که افراد تازه کار بتونند بدون مشکل چک کننده نام کاربری تکراری هستش یا خیر .
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mrsina 1394-12-20 22:12
سلام میشه نحوه ایجاد دیتا بیس در cpanel رو توضیح بدید...من دیتا بیس تشکیل میدم و در sql هم کپی میکنم فایل DB رو ولی وقتی میرم تو سایت می خوام ثبت نام کنم یا با admin وارد بشم میگه ارتباط با پایگاه داده برقرار نشدباید تو فایلی دستکاری کنم اگه میشه کامل توضیح بدبد ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-12-21 10:02
سلام.
به طور کل برای کار با پایگاه داده شما ابتدا باید یک یوزر و پسورد برای اون پایگاه داده داشته باشید. در کارهای لوکال اکثرا همه از یوزر تعریف شده root و پسورد خالی استفاده می‌کنن. اما در cpanel که توسط هاست‌های اشتراکی در اختیار کاربران قرار می‌گیره، باید یه یوزر و پسورد تعریف بشه.
سپس پایگاه داده تعریف مییشه. این پایگاه داده باید به یوزر مربوطه وصل بشه تا در پایگاه داده انجام عملیات میسر بشه.

در واقع برای کار با بانک اطلاعاتی باید موارد زیر تعریف شده باشه:
- نام پایگاه داده
- نام کاربری
- پسورد
- مسیر سرور

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

در صورت امکان متن خطا رو بذارید، تا بشه بهتر راهنمایی کرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # tehrani 1394-11-08 23:52
تشکر فراوان بابت توضیحات و راهنمایی های خوبتون
عااااااااااالللللللیییی بوذ
مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # tehrani 1394-11-04 23:06
با سلام و احترام
1- ببخشید راجع به این خط کد کمی توضیح میدین؟و اینکه چرا مثه قسمت های دیگه فراخوانیش نکردیم؟
require_once(di rname(__FILE__) ."/../config.ph p");
2- در فایل rezerve_text.ph p هم input ای با type=hidden ...برای چی باید بذاریمش کلا؟
<input type="hidden" name="action" value="reserve" />
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1394-11-05 08:05
با سلام و عرض ادب
1- اگر به Root اصلی پروژه رزرو هتل توجه فرمایید، فایل config.php را خواهید دید. بنابراین برای اضافه کردن این فایل به صفحات و یا فایل هایی که در کنار فایل مذکور قرار دارند می توان از کد زیر استفاده کرد:
require_once('config.php');
اما اگر در Root پروژه رزرو هتل روی فولدر admin کلیک کنید، تعدادی فایل اینجا نیز مشاهده خواهید کرد که در برخی از آنها باز به فایل config.php نیاز داریم، برای اضافه کردن فایل مذکور به این دسته از فایل ها باید بصورت زیر عمل کنیم:
require_once(dirname(__FILE__)."/../config.php");
در واقع ما مجبور هستیم که برای اضافه کردن config.php به فایل های پوشه admin یک قدم به عقب برگردیم، ولی قبل از هر چیز باید آدرس کامل پوشه جاری را بدانید ...! یعنی با استفاده از متد dirname آدرس کامل محل جاری را می توان بدست آورد حالا کافی است که با علامت دو نقطه یعنی .. یک گام به عقب برگردیم.

2- اگر به اسکریبت استفاده شده در فایل rezerve_text.ph p یکبار دیگر دقت کنید، در ابتدای آن از کد زیر استفاده شده است:
//اضافه کردن فایل کانفیک به این صفحه
//این فایل شامل اطلاعات لازم برای اتصال به پایگاه داده است
require_once('config.php');

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

//بر اساس اکشن تنظیم شده، تابع مربوطه فراخوانی می شود
switch($action)
{
case "reserve" : insert_reserve(); break;
default : display_form_re serve('','','', '','','','','', '','',''); break;
}

در واقع با استفاده از پارامتر Action می توانیم تصمیم بگیریم که قرار است فرم نمایش داده شود و یا قرار است اطلاعات ذخیره شود. یعنی برای بار اول که فایل rezerve_text.ph p فراخوانی می شود مقدار پارامتر action خالی است، بنابراین متد display_form_re serve اجرا می شود، اما اگر کاربر روی دکمه ذخیره کلیک کرد، پارامتر action با مقدار reserve به سرور ارسال می شود و چون وِیژگی action در عنصر form با PHP_SELF تنظیم شده بنابراین مقدار پارامتر action به فایل جاری یعنی rezerve_text.ph p ارسال می شود و دوباره به دستور switch می رسیم و چون اینبار پارامتر action مقداری معادل "reserve" دارد بنابراین متد insert_reserve فراخوانی خواهد شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # رضا اسفندیاری 1394-10-10 14:59
سلام
این کارو کنید عالی میشه مممنونتون هم هستیم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # tehrani 1394-09-28 10:01
با سلام
میخواستم خواهش کنم که به صورت تیتر وار مراحل انجام رو بگین که به چه ترتیبی باید بریم جلو بعد از طراحی قالب با تشکر از اموزش های خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1394-09-28 16:41
سلام
مراحل انجام پروژه رزرو هتل بصورت زیر خواهد بود:
1- طراحی پایگاه داده که فقط شامل دو جدول ساده می باشد. (در Root اصلی پروژه فایل DB.sql)
2- طراحی قالب Master Page که در Root اصلی پروژه در فایل master.php قرار دارد. در این مرحله همزمان باید استایل پروژه نیز تهیه شود که خصوصیات CSS مورد نیاز در فایل style_persian.c ss که در پوشه Style قرار دارد ذخیره خواهد شد..
3- تنظیم اطلاعات اتصال به پایگاه داده در یک فایل به نام مثلا config.php که در Root اصلی پروژه وچود دارد.
4- استفاده از Master Page با روشی که در کامنتهای قبلی توضیح داده شده است برای صفحات مختلف پروژه ...
5- Include کردن فایل config.php در هر جایی که نیاز به اتصال به پایگاه داده باشد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-08-07 16:52
سلام
if(@mail($to,$subj2,$mesg,$headers))
{
message("ایمیل شما با موفقیت به مديريت ارسال شد .");

}

ایا در شرط داخل if ایمیل فرستاده می شه ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-07 19:26
با سلام.
بله!!!

در شرط ایمیل ارسال میشه، و در صورت ارسال درست مقدار خروجی 1 و در صورت عدم ارسال خروجی 0 رو بر می‌گردونه.
if هم به مقدار خروجی از تابع mail نگاه می‌کنه، اگر mail ارسال بشه، شرط برقرار شده و نتیجه‌ی «موفقیت‌آمیز ارسال پیام» نمایش داده میشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-08-06 11:25
سلام
فرق کابر register با کاربر admin چیه مگه داخل پروژه پنل برای کاربران نیست ؟
اگر یک کابر وارد سایت بشه چه فرقی در نمایش به وجود می اید ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-06 11:53
با سلام.
کاربر admin امکان اعمال یک سری موارد مدیریتی رو داره که کاربر رجیستر نمیتونه انجام بده. کاربر رجیستر صرفا در حیطه ی خودش میتونه عملیات انجام بده، ولی در ادمین حیطه شامل سایر کاربران دیگر هم هست.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # amin 1394-08-05 21:46
با سلام
میشه در مورد این کد ها یکم توضیح بدید؟define('DBHOST', 'localhost');
define('DBUSER', 'root');
define('DBPASS', '');
define('DBNAME', 'beyamooz_hotel ');
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-05 22:05
با سلام.
در زبان‌های برنامه‌نویسی متغیرها نقشی اساسی برای نگهداری موقت اطلاعات دارن. اما نکته‌ای که در مورد متغیرها هست، همونطور که از اسمش هم پیداست، متغیر بودن آنهاست. یعنی در طول برنامه ممکنه مقدارشون بر حسب نیاز تعریف کنه.
گاهی مواقع ما نیاز داریم از متغیرهایی استفاده کنیم، که مقدارشون ثابت باشه، و در طول اجرای برنامه مقدارشون تغییر نکنه. اگر هم قصد تغییر مقدارشون رو داشته باشیم، این اجازه رو به ما نده.

به متغیرهایی که مقدارشون در طول برنامه ثابت بمون، ثابت یا Constant گفته میشه.
برای تغریف این نوع متغیرها می‌شه از تابع defile(nameCons tant, value); //comment استفاده کرد.

nameConstant نام ثابت ما و value مقدار موردنظر برای آن است. این مقدار در طول برنامه تغییر نخواهد کرد. مثلا کد زیر مقدار عدد پی رو برابر 3.14 قرار میده.
define(PI, 3.14); //comment

یه قرارداد نانوشته هم بین برنامه‌نویسان هست که برای اسم ثابت‌ها معمولا از حروف بزرگ استفاده میشه، این حرکت اجباری نیست، ولی بهتره برای فهم خودتون و سایرین در آینده از این قانون نانوشته پیروی کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-07-30 22:04
با سلام
من مقدار کمی پی اچ پی بلدم ( در حد این اموزش) اما html ، css و jquery خوبه
ایا می توانم یکی از پروژه های PHP را خریداری کنم ؟
اگر می توانم کدام پروژه بهتره برای شروع است؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-08-01 08:24
سلام
پیشنهاد می کنم با پروژه رزرو هتل کار عملی را شروع کنید ولی قبل از هر چیز باید بصورت دقیق فصل 4 آموزش PHP یعنی "آموزش پایگاه داده" را مطالعه نموده باشید و با دستورات Prepare آشنا باشید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # ali bayervand 1394-07-25 11:23
به نقل از امیر پهلوان صادق:
سلام
بالای تمام صفحات پروژه رزرو هتل، از یک منو استفاده شده است، صورت مسئله این است که چه کار کنیم تا وقتی کاربر روی یکی از آیتم های منو کلیک کرد، ظاهر آن تغییر کند ...!؟
در کد بالا و در قسمت حلقه، اسکریبت document.links.length تعداد کل لینک ها را برمی گرداند، حالا فقط کافی است روی تک تک لینک ها حرکت کنیم و از بین آنها اونی که href اش با URL صفحه یکسان است را کلاس دهی کنیم.

منظورتون از کلاس دهی در کامنت بالا چیه؟ دقیقا کجای پروژه ازش استفاده میکنید؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-07-26 08:03
منظور از کلاس، در واقع همان کلاس های CSS است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # ali bayervand 1394-07-25 10:56
سلام و خسته نباشید
چرا پروژه هنگام ورود به عنوان مدیر و در پایگاه داده اسمهای ذخیره شده با ؟؟؟؟؟ نشون داده میشن؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مهرداد صلاحی 1394-07-25 11:10
با سلام.
بعد از اتصال به پایگاه داده و قبل از اجرای هر کوئری، کوئری زیر رو اجرا کنید:
mysqli_query($conn, 'SET NAMES "UTF-8"');

البته مقدار conn$ در واقع اتصال شما به دیتابیس هست. با توجه به اینکه کجا کانکشن رو میسازید این عبارت رو بعدش درج کنید.


در سمت html در بخش head تگ متای زیر رو درج کنید:
<meta charset="utf-8" />
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # ali bayervand 1394-07-25 12:24
سلام اقا قسمت پایگاه داده درست شد فقط قسمت مدیریت ->تمام مشتریان هنوز بصورت ؟؟؟ هستن
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-08-06 07:52
سلام
اگر هنگام ساخت پایگاه داده، Collation را روی Uft8_Persian_ci قرار داده بودید به این مشکل بر نمی خوردید، بنابراین یکبار دیگر برنامه PHPMyAdmin را اجرا نموده و پایکاه داده پروژه رزرو هتل یعنی beyamooz_hotel را باز کنید و در قسمت Operation مورد مذکور را تغییر دهید.
همچنین در کل پروژه هر جا با کد زیر مواجه شدید، اسکریبتی که در خط 2 با رنگ قرمز متمایز شده را اضافه کنید:$conn= new mysqli(DBHOST, DBUSER, DBPASS,DBNAME);
$conn->set_charset('utf8');
البته می توانید یکبار دیگر، پروژه رزرو هتل در PHP را دانلود نمایید، من در تمام فایل ها آنرا اضافه کردم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # الیاس356 1394-05-23 13:55
سلام فیلمی که قولشو دادید چی شد؟لطفا فیلمشو برای خرید قرار بدین
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-05-23 16:50
با عرض سلام و شرمندگی ... متأسفانه فرصت نشده که فیلم آموزشی مربوط به پروژه هتل را آماده کنم ... اما فکر می کنم با توجه به دانش شما توضیحات و کامنت های داخل کد کافی باشه ...
باز هم عذرخواهی می کنم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Amirhossein Ft 1394-05-01 02:36
لطفا به صورت فیلم هم قرار بدین
اگه میشه آموزش تبدیل قالب html به وردپرس رو هم آموزش بدین
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مینا 1394-04-14 03:38
سلام خسته نباشین
من نمیدونم این پروژه رو کی روی سایتتون گذاشتین ولی به هرحال لینک دانلودش دیگه کار نمیکنه خواهش میکنم یه لینک دیگه بزارین من به این کدها خیلی احتیاج دارم
ممنون مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-04-14 10:01
سلام، ممنون ...
مشکل برطرف شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مونا احمدوند 1394-02-19 22:53
سلام خسته نباشین ،
تو پروژه قسمت منوها امکانش هست این تیکه را توضیح دهید ،ممنون میشم
for (var i = 0; i < document.links. length; i++) {
if (document.links .href == document.URL) {
document.links. className = 'active';
}
}
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-02-20 15:27
سلام
بالای تمام صفحات پروژه رزرو هتل، از یک منو استفاده شده است، صورت مسئله این است که چه کار کنیم تا وقتی کاربر روی یکی از آیتم های منو کلیک کرد، ظاهر آن تغییر کند ...!؟
در کد بالا و در قسمت حلقه، اسکریبت document.links. length تعداد کل لینک ها را برمی گرداند، حالا فقط کافی است روی تک تک لینک ها حرکت کنیم و از بین آنها اونی که href اش با URL صفحه یکسان است را کلاس دهی کنیم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # sarina sarina 1394-01-19 16:43
سلام
ببخشید فیلم آموزشی پروژه که قولش دادین آماده نشد؟
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-01-21 10:33
سلام
متأسفانه به دلیل مشغله زیاد هنوز آماده نشده است. با این حال، آماده پاسخ گویی سوالات شما کاربران محترم هستیم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # Ashkan Jamshidi 1394-01-15 19:02
سلام لطفا فیلم ها را قرار بدین
سپاس
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-1 # صبا 1393-12-25 23:11
سلام
ببخشید در پروژه چه طور می توان یک کاربرازنوعadmin ساخت؟چون به دصورت پیش فرض register است؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-01-10 07:15
سلام
اگر به کوئری ساخت جدول users در زیر توجه کنید، متوجه خواهید شد که نام کاربری در پروژه هتل یکتا است، بنابراین امکان ساخت دو نام کاربری admin وجود ندارد.
CREATE TABLE `users` (
`u_id` int(11) NOT NULL AUTO_INCREMENT,
`u_username` varchar(150) NOT NULL DEFAULT '',
`u_email` varchar(100) NOT NULL DEFAULT '',
`u_password` varchar(100) NOT NULL DEFAULT '',
`u_usertype` varchar(25) NOT NULL DEFAULT 'register',
`u_activation` bit(1) NOT NULL DEFAULT b'1',
PRIMARY KEY (`u_id`),
UNIQUE KEY `username` (`u_username`) USING BTREE
)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # صبا 1394-01-15 11:49
نه منظورم اسمadminنیست بلکه نوع adminکه اجازه ورود به بخش مدیریت رو داشته باشه
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1394-01-15 12:36
آهان ببخشید...! برای ساخت یک کاربر از نوع admin باید بصورت زیر عمل نمود.
1- ابتدا کاربر مورد نظر بصورت عادی ثبت نام می کند.
2- سپس مدیر سایت Login کرده و نوع کاربر مورد نظر را به "admin" تغییر می دهد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-2 # صبا 1394-01-18 19:39
ممنون.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # صبا 1393-12-19 08:19
سلام
ببخشید چرا درپروژه در بعضی جاها برای یک عمل خاص دو تا فایل در نظر گرفته شده مثلا about.phpوabout _text.php آیا اشکالی به وجود می آمد اگر;('include_o nce('master.php را در خود صفحه about_text.php می آوردیم ودیگر از about.phpاستفاد ه نمی کردیم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # امیر پهلوان صادق 1393-12-19 08:44
سلام
نحوه ی پیاده سازی مسترپیج در پروژه رزرو هتل:
قبل از اینکه نحوه ی پیاده سازی مسترپیچ را توضیح دهیم، شما باید با مفهوم مسترپیج آشنا باشید. اگر یکبار دیگر به دموی پروژه رزرو هتل نگاه کنید (www.beyamooz.com/demo/beyamooz-hotel/)، متوجه خواهید شد که قسمت هایی مثل، منوی بالا و یا ماژول های سمت چپ، مثل "ورود کاربران" و ... در تمامی صفحات وجود دارند و تنها قسمتی که تغییر می کند پایین منو و سمت راست است. بنابراین یک مستجر پیج شامل چند قسمت ثابت و یک قسمت متغییر است.
اسکریبت زیر، مربوط به فایل master.php است که در واقع مسترپیج ما رو تشکیل می دهد:<?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>
<title>سا يت رزرو هتل</title&g t;
<meta http-equiv="Con tent-Type" content="text/h tml; charset=utf-8"& gt;
<link href="/style/sty le_persian.css" rel="stylesheet">
</head>

<body>
<div id="container">
<?php include_once("m enu.php"); ?>
<div id="main">
<?php include_once("s lider.php"); ?>
<div id="left">
<?php include_once("l ogin.php"); ?>
<?php include_once("a bout_text.php") ; ?>
<?php include_once("k hadamat_text.ph p"); ?>
</div>
<div id="right">
<?php include($page_content);?>
</div>
<div style="clear:both;"></div>
</div>
</div>
<?php include_once("f ooter.php"); ?>

</body>
</html>

اگر به قسمت قرمز رنگ توجه فرمایید، از یک متغییر بعنوان پارامتر تابع include استفاده کرده ایم. در واقع تنها قسمتی از فایل master.php است که قابلیت تغییر دارد و بقیه ی موارد در هر بار اجرای master.php ثابت خواهند بود.
حالا اجازه دهید تا از دید کاربران به مسئله نگاه کنیم.
بار اول که پروژه اجرا می شود یعنی وقتی به آدرس www.beyamooz.com/demo/beyamooz-hotel/ می روید طبیعتاً فایل index.php اجرا می شود، محتوای فایل index.php شامل اسکریبت زیر است:<?php
$page_content = 'home_text.php';
include_once('master.php');
?>

همان طور که در کد بالا مشاهده می کنید، در خط اول، متغییر page_content$ با مقدار "home_text.php" تنظیم شده است و بلافاصله اسکریبت فایل master.php با استفاده از متد include_once به کدمان اضافه می شود. حالا فایل index.php بصورت زیر شده است:<?php
$page _content = 'home_text.php';
<?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>
<title>سا يت رزرو هتل</title&g t;
<meta http-equiv="Con tent-Type" content="text/h tml; charset=utf-8"& gt;
<link href="/style/sty le_persian.css" rel="stylesheet">
</head>

<body>
<div id="container">
<?php include_once("m enu.php"); ?>
<div id="main">
<?php include_once("s lider.php"); ?>
<div id="left">
<?php include_once("l ogin.php"); ?>
<?php include_once("a bout_text.php") ; ?>
<?php include_once("k hadamat_text.ph p"); ?>
</div>
<div id="right">
<?php include($page _content);?>
</div>
<div style="clear:both;"></div>
</div>
</div>
<?php include_once("f ooter.php"); ?>

</body>
</html>
?>

حالا به جواب سوالی که در قسمت قبل در ذهنتان ایجاد شده بود رسیدید و در واقع متوجه شدید که چگونه متغییر page_content$ مقدار دهی می شود ...!
اما نکته ی بسیار مهم که مورد سوال دوست عزیزمون "صبا" نیز بوده است این است که ...!
اگر به تابع include که با رنگ قرمز متمایز شده توجه نمایید، متوجه خواهید شد که در اثر اجرای این خط کد، محتوای فایل home_text.php در قسمت یا فضای متغیر مسترپیج قرار خواهد گرفت، در صورتی که اگر طبق فرمایش "صبا" در انتهای فایل home_text.php کد مسترپیج را include کرده بودیم این اتفاق نمی افتاد.
پس در اینجا مجبوریم از هر صفحه در پروژه دو فایل داشته باشیم. یکی از این فایل ها مربوط به محتوای اصلی صفحه مورد نظر است (about_text.php ) و دیگری برای مقدار دهی متغییر page_content$ و include کردن مسترپیج (about.php) ...
امیدوارم توضیحات بنده برای شما قابل فهم بوده باشد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-08-06 11:54
ایا میشه گفت که در اینجا ما داریم یک فایل رو به یک صفحه پیوست می زنیم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-08-06 12:09
اگه منظورتون استفاده از دستور include یا require هست، باید بگم که بله!
زمانی که از این دستورات استفاده میکنیم، در واقع داریم صفحه موردنظر رو به صفحه ی خودمون پیوست میکنیم. یعنی هنگامی که این صفحه جاری اجرا بشه، صفحه موردنظری که لینک شده هم به فایل پیوست و اجرا میشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-08-06 12:36
چرا در خط 28 از دستور include_once استفاده نمی کنیم من امتحان کردم اسکریپت درست اجرا شد
ای دلیل خاصی داره استفاده از include ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مهرداد صلاحی 1394-08-06 12:51
دلیل خاصی نداره!!!
دستور include_once فایل موردنظر رو در کل اجرای اسکریپت فقط یک بار در صفحه بارگذاری میکنه، ولی دستور include به تعداد دفعاتی که آمده، صفحه موردنظر رو بارگذاری میکنه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin 1394-08-06 13:08
فرقی نمیکنه از هر کدام استفاده کنیم?(در این فایل)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مهرداد صلاحی 1394-08-06 13:24
نحوه استفاده ی هر کدوم رو توضیح دادم.
این بستگی به شما داره که از کدومش استفاده کنید. ولی در این مثال نه فرقی نمیکنه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # صبا 1393-12-19 14:01
واقعا ممنونم مثل همیشه عالی بود.
یا علی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-1 # arastoo 1393-12-19 11:37
با تشکر از سایت بسیار عالیتون
خیلی کامل و مفید بود
ممنون ممنون ممنون ممنون ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # sarina sarina 1393-12-18 09:06
باسلام
فیلم آموزشی کی آماده میشه؟
ممنون از سایت خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-5 # امیر پهلوان صادق 1393-12-18 14:13
سلام، متأسفانه به دلیل مشغله زیاد، هنوز موفق به تهیه ی آن نشده ایم. ان شا الله در سال جدید آماده خواهد شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mohsen 1393-12-09 21:30
سلام شما میگین اینجا سوالمو نپرسم رفتم قسمت سی اس اس پرسیدم ولی جواب ندادین.من این سوالو دوبار پرسیدم.
یک کد میخوام بذارم تو قسمت پست که کد اجرا نشه و وقتی پست میکنم کد برای دیگران دیده بشه.
مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-12-10 08:49
سلام، نمی دونم منظورتون رو درست متوجه شدم یا نه ...! ولی اگر منظورتون اینه که قصد دارید در قسمت "دیدگاه ها" کد HTML ی را درج کنید، باید عرض کنم که بدلیل حفظ امنیت سایت، تمام کلماتی که بین علامت بزرگتر، کوچکتر قرار می گیرند، بصورت اتوماتیک حذف می شوند.
راه حل؟
برای تایپ کردن تگ های HTML در قسمت دیدگاه ها، باید بجای علامت بزرگتر و کوچکتر از character entity های جایگزین استفاده کنید. یعنی بجای علامت > از ;lt& و بجای علامت < از ;gt& استفاده کنید.
برای کسب اطلاعات بیشتر در مورد character entity به لینک زیر مراجعه فرمایید:
www.beyamooz.com/html/138-advanced/358
و اما بعد از اینکه کد HTML یا اسکریبت تان را تایپ کردید، برای اینکه خطوط شماره گذاری بشوند و داخل کادر اسکریبت قرار بگیرند، بعد از اینکه کل اسکریبت تان را انتخاب کردید، از آیکن های بالای ادیتور مربوط به دیدگاه ها، روی آیکن کلیک فرمایید.
مثال: می خواهیم تگ a را داخل کادر اسکریبت قرار دهیم:<a href="http://ww w.beyamooz.com" alt="BeYaMooZ" >beyamooz.co m</a>
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # mahdibbx 1393-12-08 11:44
سلام
آقای صادق اموزش ویدیویی رو قراره درست کنید؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-12-09 15:19
سلام، ان شا الله ...
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-1 # mofa 1393-12-08 09:20
سلام.
یک اسلاید میخوام بذارم تو وبم کدش چی میشه؟برای هر عکس میخوام یک لینک جدا بدم
مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-12-08 11:39
سلام، لطفاً سوالات تون مربوط به پروژه هتل باشه ...
www.beyamooz.com/jquery/340-jquery-plugin/2608
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # mofa 1393-12-07 11:54
سلام از اطلاعات اینجا در وبلاگم با ذکر منبع استفاده کنم مشکل نداره؟یعنی کپی کنم اطلاعاتو
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-12-07 16:20
سلام
با ذکر منبع اشکالی نداره ...
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # صبا 1393-12-06 19:51
برای ارسال ایمیل با استفاده از contact_us_text من آدرس ایمیل خودم رو وارد کردم ولی ایمیلی بهم ارسال نمی شه.کار خاصی باید کرد؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-12-07 16:23
اگر پروژه، روی کامپیوتر شخصی شماست، ارسال ایمیل انجام نخواهد شد. در واقع به سرویس ارسال ایمیل نیاز هست. (SMTP)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # صبا 1393-12-04 11:24
سلام
ببخشید با توجه به فایل DB.sql، مفهوم قسمت های قرمز رنگ در کوئری زیر چیست؟SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `reserve`
-- ----------------------------
DROP TABLE IF EXISTS `reserve`;
CREATE TABLE `reserve` (
`r_id` int(11) NOT NULL AUTO_INCREMENT,
`r_uid` int(11) DEFAULT NULL,
`r_code_meli` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_name` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_fname` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_tel` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_code_posti` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_date_vorod` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_date_khoroj` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_meghdar_egha mat` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_tedad_otagh` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_tedad_kodak` char(32) COLLATE utf8_persian_ci NOT NULL,
`r_adres` varchar(255) COLLATE utf8_persian_ci NOT NULL,
PRIMARY KEY (`r_id`),
KEY `foreign_key_r_ uid_uid` (`r_uid`)
) ENGINE=MyISAM AUTO_INCREMENT= 34 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`u_id` int(11) NOT NULL AUTO_INCREMENT,
`u_username` varchar(150) NOT NULL DEFAULT '',
`u_email` varchar(100) NOT NULL DEFAULT '',
`u_password` varchar(100) NOT NULL DEFAULT '',
`u_usertype` varchar(25) NOT NULL DEFAULT 'register',
`u_activation` bit(1) NOT NULL DEFAULT b'1',
PRIMARY KEY (`u_id`),
UNIQUE KEY `username` (`u_username`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT= 52 DEFAULT CHARSET=utf8;

پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-12-04 13:53
خط 1: با استفاده از گزینه FOREIGN_KEY_CHE CKS می توان تعیین کرد که آیا محدودیت "کلید خارجی" چک شود یا خیر؟ همان طور که در کوئری بالا مشاهده می کنید، دو جدول reserve و users ایجاد شده و در ادامه، تعدای رکورد درج می شود. اما اگر بیشتر دقت کنید در خط 21 فیلد r_uid بعنوان کلید خارجی تعریف شده است و زمانی که میخواهیم رکوردهای جدول reserve را درج کنیم اجرای کوئری با خطا مواجه می شود مگر اینه گزینه FOREIGN_KEY_CHE CKS را با مقدار 0 تنظیم کنیم.
خط 22: در این قسمت گزینه های اختیاری جدول تنظیم شده است. بعنوان مثال مقدار تنظیم شده برای گزینه COLLATE مشخص می کند که مرتب سازی فیلدهای جدول بر چه اساس انجام شود.
خط 33: با استفاده از محدودیت UNIQUE در اینجا تعیین می کنیم که فیلد u_username باید یکتا باشد، یعنی نمی توانیم دو نام کاربری یکسان داشته باشیم. برای اطلاعات بیشتر به لینک زیر مراجعه کنید:
www.beyamooz.com/sql/101-advanced/275
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+8 # sarina sarina 1393-11-29 05:39
سلام و عرض خسته نباشید
اگه توضیحات ساخت پروژه را به صورت فیلم قراره بزارید، لطفا اینکار رو انجام بدید .
خیلی ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # alidddddddddd 1393-11-26 16:10
سلام خیلی زحمت کشیدید که این اموزش رو قرار دادید
توضیحات ساخت پروژه را به صورت فیلم آموزشی نیز قرار بدید
با تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # Zah Ra 1393-11-24 22:13
سلام
میخواستم بدونم این پروژه داینامیکه؟؟؟
منظورم اسلایدشو ، گالری تصاویر و ... است
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیر پهلوان صادق 1393-11-25 08:11
سلام، اطلاعات مربوط به رزرو، در پایگاه داده ذخیره می شود، همچنین کاربران می توانند عضو سایت شده و با نام کاربری خود اقدام به رزرو نمایند. بنابراین با این دید که مدیر سایت با ورد به پنل مدیریت، می تواند اطلاعات رزروی و همچنین اطلاعات اعضاء را مشاهده نماید می توان گفت این پروژه داینامیک است.
ولی اسلایدشو، منوها و گالری تصاویر به صورت استاتیک است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # صبا 1393-11-24 11:41
سلام
بعد از خرید پروژه چه طور sqlآن را اجرا کنیم؟
import که می کنیم خطا می دهد؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1393-11-25 07:54
سلام، برای ایجاد پایگاه داده پروژه هتل به صورت زیر عمل نمایید:
1- اجرای phpmyadmin
2- ایجاد پایگاه داده beyamooz_hotel
مطابق شکل زیر برای ایجاد پایگاه داده جدید، از سمت چپ روی لینک "New" کلیک نمایید:

سپس در قسمت Create database، نام پایگاه داده را با مقدار beyamooz_hotel تنظیم کرده و Collation را روی Uft8_Persian_ci قرار دهید و نهایتاً روی دکمه Create کلیک نمایید:

3- ایجاد جداول
در شاخه اصلی پروژه هتل، فایل DB.sql را با ویرایشگر Notepad باز کرده و محتوای آن را کپی کنید.
سپس در phpmyadmin در حالی که پایگاه داده beyamooz_hotel فعال است، روی تب "SQL" کلیک نمایید.
سپس مطابق شکل زیر، محتوای کپی شده را در کادر مشخص شده Past نمایید و نهایتاً روی دکمه "Go" کلیک نمایید:

4- نمای جداول پایگاه داده
برای دیدن جداول پایگاه داده beyamooz_hotel از سمت چپ، روی آیکن "Refresh" کلیک نمایید:
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # صبا 1393-11-25 09:45
ممنون از جواب کامل وخوبتون اگه این فیلم آموزشی که گفتید رو بزارید خیلی ممنون میشم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # mahdi.bbxod 1393-11-22 13:44
منتظر فیلم هستیم اگه میشه قرار بدین
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # sarina sarina 1393-11-23 17:41
بله اگه فیلم بزارید ممنون میشیم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهندس 1393-11-23 21:35
فیلم آموزشی را لطفا بگزارید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1395-08-29 16:05
فیلم آموزش پروژه رزرو هتل، اضافه گردید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر ابراهیم زاده 1393-11-21 14:25
سلام و تشکر فراوان
در صورت امکان برای asp.net نیز آموزش پروژه محور بزارید.
موفق و سربلند باشین
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-11-27 14:18
سلام، در لینک زیر می توانید، پروژه فروش فیلم در ASP.NET را خریداری فرمایید:
www.beyamooz.com/component/jshopping/product/view/1/9?Itemid=0
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # sarina sarina 1393-11-21 09:27
سلام
من پروژه را خریداری کردم میشه یه توضیح کلی در مورد فایلهای php که وجود داره-ترتیب اجراشون و.. هم برام ارسال کنید.ممنون از سایت خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1393-11-21 12:36
سلام و تشکر بخاطر خریدتون ...
در مطلب بالا، قسمت "ساختار پوشه ها در پروژه هتل" اضافه شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # sarina sarina 1393-11-22 05:31
ممنون ولی منظور من یه توضیح فارسی روی کدها مثل ماژول "ورود کاربران" بود.
ممنون می شم روی کدهای ددیگه هم توضیح بزارید ودوباره برام بفرستید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-11-22 09:37
علاوه بر صفحه ورود کاربران، صفحات دیگر این پروژه نیز Commentگذاری شده است،
شاید منظورتون چیز دیگری است ...!؟ اگر قسمت خاصی از کدها را متوجه نمی شوید، بفرمایید تا توضیحات بیشتر ارائه شود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # sarina sarina 1393-11-20 09:19
با سلام
من باآموزش های شما از phpو j -queryپیش رفتم والان شدیدا به یک پروژه تستی نیاز دارم. خواستم بدونم در این پروژه از j -query هم استفاده کردین؟و در کل کدها پایگاه داده بر اساس MySQLi Object-oriented نوشته شده یا MySQLi Procedural؟
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1393-11-20 15:29
سلام، در پروژه هتل از jQuery در حد اسلایدر بالای صفحات استفاده شده است. و همچنین برای اجرای کوئری های مربوط به پایگاه داده از روش MySQLi Object-oriented استفاده شده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # افضلی 1393-11-12 16:08
سلام
برای خرید پروژه چرا ادرس میگیره سایت
برای تحویل پروژه از ایمیل استفاده نمیکنید ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1393-11-12 16:11
سلام، ابتدا تشکر می کنم از خریدتون ...
بله حق با شماست ولی در آینده قصد داریم برای افرادی که با سرعت اینترنت مشکل دارند، خرید پستی رو قرار بدیم که در این صورت آدرس نیاز خواهد بود.
برای دانلود پروژه مشکی که وجود نداشت؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # افضلی 1393-11-12 16:12
نه مشکلی نبود
ممنون از این که به پیغامهایی که کاربران برای شما میگذارن توجه می کنید
موفق باشد
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
انتخاب مدرس:

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

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