طراحی و پیاده سازی پروژه فروشگاه تصویر

دسته بندی: آموزش
زمان مطالعه: ۴ دقیقه
۰۷ آبان ۱۳۹۳

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

قابلیت ها این پروژه :

  • طراحی وبسایت گالری تصویر با قابلیت فروش تصاویر
  • تصویر بند انگشتی عکس های دانلودی باید به صورت خودکار از روی تصویر اصلی ساخته شوند .
  • تصاویر اصلی نباید توسط کاربران قابل دیدن باشند. فقط دمویی علامت دار را می توانند ببینند .
  • تصاویر باید پس از خرید توسط کاربر قابل دانلود باشند .
  • تصاویر باید در دسته بندی های مختلف قرار بگیرند .
  • در صفحه نخست لیست اخرین تصاویر ثبت شده باید نمایش داده شود .
  • با کلیک روی هر دسته بندی لیست تصاویر درون ان باید نمایش داده شوند .
  • دسته بندی ها قابل تعریف و حذف و ویرایش باشند .
  • برنامه قابلیت عضو گیری/ورود کاربر و تغیر رمز در هنگام فراموشی را داشته باشد .
  • برنامه سبد خرید داشته باشد .
  • کاربر بتواند لیست خریدهای خود را ببیند .
  • برنامه یک پنل مدیریت جداگانه برای مدیر داشته باشد .
  • بخش های مختلف نمایش محتوا در سایت باید صفحه بندی شده باشند .
  • در پنل مدیریت این موارد وجود داشته باشد :
  • - در صفحه نخست (داشبورد) گزارش هایی نمایش داده شود (تعداد تصاویر، سفارشات، کاربران ، درآمد ها و ...)
  • - بخشی برای آپلود تصاویر جدید و نمایش و مدیریت آخرین تصاویر ارسالی وجود داشته باشد .
  • - بخشی برای مدیریت دسته بندی ها وجود داشته باشی
  • - بخشی برای مدیریت و دیدن اخرین سفارشات وجود داشته باشد
  • - بخشی برای مدیریت و حذف و اضافه کردن کاربران سایت وجود داشته باشد
  • و امکانات جانبی دیگر ...

اهداف این پروژه :

  • آشنایی با نحوه طراحی و ایجاد پایگاه داده برای این اسکریپت
  • آشنایی با نحوه ی نمایش، ثبت، حذف و ویرایش موجودیت ها (کاربر، تصویر، سفارشات و ... ) در پایگاه داده
  • آشنایی با نحوه ی پیاده سازی برنامه بر اساس پارامترها و ایجاد راحتی بیشتر در تغیرها بعدی
  • آشنایی با نحوه ی پیاده سازی عملیات ورود و خروج کاربران موجود در پایگاه داده
  • آشنایی با نحوه ی مدیریت سیستم در یک پنل جداگانه
  • آشنایی با مفهوم سبد خرید و نحوه ی پیاده سازی آن
  • آشنایی با محافت از فایل های فروشی و دانلود انها از طریق یک اسکریپت بررسی کننده ی خریدار !
  • آشنایی با علامت گذاری بر روی تصاویر برای جلوگیری از دانلود تصاویر اصلی و نمایش دمو از آنها
  • آشنایی با نحوه ی پیاده سازی قابلیت فراموشی رمز عبور و ریست کردن پسورد کاربر
  • آشنایی با نحوه ی دسته بندی محتوا در وبسایت ها
  • آشنایی با نحوه ی گزارش گیری از داده های موجود در پایگاه داده با کوئری ها SQL
  • آشنایی با نحوه ی استفاده از درگاه پرداخت و انجام عملیات اتوماتیک پس از پرداخت موفقیت آمیز (شبیه سازی درگاه پرداخت)
  • آشنایی با میزان پردازش کار ها در PHP و راه حل هایی برای نوشتن کدهایی بهینه تر از لحاظ منابع مصرفی
  • آشنایی با مسائل موجود در هنگام پرداخت آنلاین و استفاده از سبد خرید (قفل سبد، مشکل کوکی به تنهایی و ...)
  • انجام تمرین برای شما و تکمیل برخی قسمت های پروژه
نکته :

مدت زمان ویدیوی آموزشی این جلسه بیش از 5 ساعت است . در واقع دو جلسه ی مربوط به طراحی این پروژه رو یکجا و امروز در اختیار شما قرار دادیم. اگر در میانه ی دیدن ویدیو خسته شدید حتما به خودتون استراحت فکری بدید . می تونید در دو یا 3 مرحله ی 2 ساعته این ویدیو رو ببینید .

:: توجه

این مطلب یک جلسه از آموزش PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش PHP

نویسنده
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

جلسات دوره

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

Mostafa Nadi

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

nyx

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

hamid golipoor

با سلام و احترام
استاد گرامی انتظار میرفت بعد از آموزش oop و شی گرایی ، یک پروژه کاملا شی گرا رو پیاده سازی کنید چون پایه هر فریمورکی از شی گرایی شروع میشه . حداقل باید یک پروژه رو انجام میدادید یک دید واضح تری ایجاد میشد.
با تشکر

مجید کریم پناه

سلام.
من سورس کدهاتون رو اجرا می کنم در بخش کلیک روی thumbnailونمایش تصاویر در کادر بزرگ مشکل دارم یک کادر بازمیشه The requested content cannot be loaded.Please try again later نشون میده به نظرتون برای حل این مشکل باید پیکار کنم؟

لقمان آوند

متن همین ارور رو سرچ کنید و در موردش بخونید

Seyed Reza Bazyar

من وقتی که دیتابیس رو import کردم با ارور پایین مواجه شدم
( ! ) Warning: mysqli::__construct(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: NO) in /Applications/MAMP/htdocs/shop/lib/config.php on line 28

از سیستم عامل مک استفاده میکنم و توی مسیر /Applications/MAMP/htdocs/shop/ فایل هام رو قرار دادم. دلیل این ارور دقیقا چیه؟ راه حل برطرف کردن ارور چیه؟

کیوان علی محمدی

سلام. این خطا میگه شما با کاربر root امکان دسترسی به mysql server رو ندارد. password و آدرس و موارد دیگه رو بررسی کنید.

Webirooni _com

سلام وقت تون بخیر، یک سوال از حضورتون داشتم.
من داخل کدهای جاوا اسکریپت مربوط به پلاگین fancybox با استفاده از foreach سعی کردم آی دی عکس ها رو به صورت داینامیک چاپ کنم که کاربر زمانی که بر روی تصویر کلیک کرد، و عکس رو به سبد خرید اضافه کرد، تصویر مربوط به آیدی انتخاب شده، به سبد خرید اضافه بشه اما به یک مشکل برخورد کردم:
با این کد، زمانی که بر روی سبد خرید کلیک می کنم فقط آیدی اولین عکس در دیتابیس در قسمت url چاپ می شه و به صورت داینامیک، آیدی عکس ها عوض نمیشه.
فایل های پروژه هم که دانلود کردم، این مشکل رو داشت. آیدی عکس ها در قسمت url چاپ نمی شد و فقط add2cart? چاپ می شد.
اگر امکانش هست راهنمایی بفرمایید.

پیشاپیش ممنون از حسن توجه شما

 $(document).ready(function() {
        $(".fancybox").fancybox({
            afterLoad: function() {
                var tArr = this.title.split(‘|’);
                if(this.title.search(‘bought’) === -1){
                    <?php foreach ($images as $img): ?>
                    this.title = ‘<a class="addBtn btn btn-outline-success" style="font-family:iransans;" href="’+baseUrl+
                    ‘?add2cart=’+<?php echo $img[‘id’]; ?> + tArr[0] + ‘">افزودن به سبد خرید</a> ‘;
                    <?php endforeach; ?>
                }else{
                    this.title = ‘<span class="addBtn btn-outline-danger">قبلا خریداری شده است</span> ‘;

                }
            },
            helpers: {
                title: {
                    type: ‘inside’
                }
            }
        });
    });
امید رفعتی

با درود و احترام
جناب آوند نصب اسکریپت شما با خطای زیر مواجه میشه:
Notice: Trying to get property of non-object in C:\xampp\htdocs\imageshop\lib\funcs.php on line 50
Fatal error: Call to a member function query() on null in C:\xampp\htdocs\imageshop\lib\funcs.php on line 51
فایل کانفیگ هم به درستی ویرایش شده. ظاهرا یک چیزی در تابع getCategories درست عمل نمی کند یا با نسخه 5.6 php سازگار نیست.

امید رفعتی

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

لقمان آوند

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

کیوان علی محمدی

سلام خط های 50 و 51 در فایل funcs.php رو بررسی کنید

جاوید

سلام

ببخشید ، فایل های پروژه این قسمت و دو قسمت بعدی دانلود نمی شه … لطفا برسی کنید …

مصطفی قدیمی

سلام وقت بخیر
موردی وجود نداره دوست عزیز لطفا دوباره بررسی کتید

mohaddeseh ershadi

از قسمت لینک دانلود ویدیو نتوانستم دانلود کنم، از طریق خود فیلم سیو کردم.
باتشکر

mohaddeseh ershadi

با عرض سلام
فایل مربوط به جلسه 26 پس از دانلود برای بنده باز نمی شود، مشکل کجاست؟
متشکرم

لقمان آوند

سلام
احتمالا ناقص دانلود شده باشه
مجدد دانلود کنید و ببینید

dariosh babaii

با سلام
جناب آوند در دو پروژه اخیر که از معماری mvc استفاده کردید بنده میخواستم فرم عضویت و لاگین را به صورت ای جکس پیاده کنم در برنامه نویسی رویه ای همانطور که توضیح دادید کار انجام شد ولی در این معماری کمی پیچیده میشه و بنده نمیدانم چطور این مسعله را حل کنم یک توضیح کوتاه مرحمت کنید یا یک لینک بدهید.به علت اینکه اکشن صحفه عضویت توسط متغیرها و فایل اینکلود انجام میشود دقیق نمیدانم در قسمت ارسال فایل در ای جکس اطلاعات به کدوم صحفه ارسال میشود همان صحفه عضویت یا یوزر اکشن یا غیره

لقمان آوند

سلام
یه تماس با بنده بگیرید توضیح میدم خدمتتون.

لقمان آوند

دقیقا نمی دونم.
خودتون می تونید تغیر بدید دیگه …

پایان زمان پشتیبانی

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

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل