<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های افسانه</title>
        <link>https://virgool.io/feed/@afsane.khosravi</link>
        <description>برنامه نویس وب / گرافیست / عاشق فناوری / دانشجوی رشته ی هوش</description>
        <language>fa</language>
        <pubDate>2026-06-18 07:37:14</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/228362/avatar/ybC0t2.png?height=120&amp;width=120</url>
            <title>افسانه</title>
            <link>https://virgool.io/@afsane.khosravi</link>
        </image>

                    <item>
                <title>دوره ی آموزش رایگان لاراول به زبان فارسی</title>
                <link>https://virgool.io/@afsane.khosravi/%D8%AF%D9%88%D8%B1%D9%87-%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-i4ulyonjj9x6</link>
                <description>سلام من یه دوره تهیه کردم که رایگان نیست ولی طی یک شرایط ساده دوره را رایگان میدن . دوستانی که به یادگیری لاراول علاقه مند هستند سریعتر اقدام کنند و این دوره را بگیرند من این دوره را استفاده کردم و واقعا شگفت زده شدم فوق العاده هستش ... چنین دوره ی فارسی ندیده بودم تا به امروزبعضی از دوستان هم خب شاید به برنامه نویسی وب و اینا علاقه داشته باشن ولی ندونن فریمورک لاراول چی هست بزارید یه توضیحی درباره ی خود لاراول بدم لاراول چیست ؟ لاراول یکی از فریمورک های جدید زبان پی اچ پی هست که الان دیگه محبوب ترین فریمورک در جهان است و باهاش میتونید هر نوع پروژه وب درست کنید.از زمانی که دیجیکالا از asp به سمت php اومد برای توسعه ی خودش از لاراول استفاده کرد و اینجاست که بزرگی و سرعت لاراول رو میشه درک کرد البته یکی از دوستان هم میگفت که آپارات هم با لاراول نوشته شده که البته بعید نیست.لاراول سرعت بروزرسانی خیلی بالایی داره و تمام باگ های فنی که رخ میده سریعا رفع میشه و یه گزینه ی مناسب برای پروژه هایی هست که امنیت سایت براشون مهمه لاراول از سرعت خوبی برخوردار هست و میتونید باهاش هر سایتی را پیاده سازی کنید.از فروشگاه اینترنتی بگیر تا سایت اشتراک عکس و ویدیو و سایت خبری و سایت های شخصی و سایت های تجاری همگی با لاراول با سرعت فوق العاده و امنیت عالی قابل انجام است.دوره ی آموزش رایگان لاراول استاد نیک زاددوره ی آموزش رایگان فریمورک لاراول قیمت این دوره ۸۰۰ هزار تومن هست ولی در سایتشون نوشتن که با شرایط خاصی که من اینجا نمیگم خب شاید برای هر شخص شرایطی که اعلام میکنند متفاوت باشه.شرایط سادست و کلا نیم ساعت وقت شما رو نمیگیره ولی در عوض یه دوره ۸۰۰ تومنی فوق العاده بدست میارید.در این دوره ی آموزشی که خیلی توجه منو جلب کرد به بحث رابطه ها خیلی خوب با مثال پرداخته شده که من حدود بیست دوره ی لاراول فارسی که دیدم هیچکدوم رابطه ها را نگفته بودند یا اینکه خیلی ضعیف و سرسری گفته بودن رابطه های لاراول برای ساخت سریع پروژه ها خیلی مهمه بخش های آخرش یک جلسه درباره ی گیت هست که خیلی به درد من خورد و تا قبلش با گیت نمیتونستم کار کنم که خب البته زیاد به لاراول ربط نداره ولی در کل خیلی مفید بود.این دوره فارسیه و مهندس نیک زاد تهیه کرده فایل ها mp4 هستن کیفیت صوتی و تصویری خوبی دارن در کل ارزش دیدن رو داره و بعدش متوجه میشید که چرا من این دوره را معرفی کردم .دوره ی آموزش فریمورک لاراول استاد نیک زاد را با شرایطی که در سایتشون اعلام میکنن بصورت رایگان شرکت کنید و حتما ببینید :))))</description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Sat, 10 Oct 2020 17:53:16 +0330</pubDate>
            </item>
                    <item>
                <title>موفقیت در برنامه نویسی</title>
                <link>https://virgool.io/coderlife/%D9%85%D9%88%D9%81%D9%82%DB%8C%D8%AA-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-bvfuohmq5snc</link>
                <description>موفقیت در برنامه نویسی سلام به دوستای عزیزم و مخصوصا برنامه نویسانی که مطمئنم در آینده میان و این مقاله رو میخونند و حتما به دردشون میخوره من یه ویدیویی دیروز تماشا میکردم توی اینستاگرام و داستان نوشتن این مقاله هم برمیگرده به اون ویدیوویدیو در IGTV سایت آواسام بود که طبق همیشه آموزش هاشون رو دنبال میکنم و لینکش رو در پایین قرار میدم تا بتونید به این ویدیو دسترسی داشته باشیدwww.instagram.com/tv/CFkTKz-H0Yb/ https://www.instagram.com/p/CFkTKz-H0Yb/ تو ویدیو بالا شما صحبت های اقای نیکزاد مدرس آموزش های برنامه نویسی سایت آواسام را میبنید که درباره ی موفقیت های برنامه نویسی صحبت میکنه.در این ویدیو نکات خیلی جالبی بود و تقریبا نکاتی بود که در زندگی منو به موفقیت رسونده بود.من در ادامه ی همین پست سعی میکنم بصورت دسته بندی شده بنویسم و در مورد مطالبی که میتوانید از این ویدیو بگیرید و در موفقیت من هم سهم داشته را مطالعه کنید.برنامه نویس و باورهای اشتباه در مورد آنخیلی خوبه که مهندس نیک زاد درباره ی این موضوع بصورت کامل در این ویدیو صحبت کرده اند. افرادی فکر میکنند که برنامه نویسی یک زمینه ی شغلی خیلی راحت با درآمد عالی است و سریعا میخان بیان سمت برنامه نویسی و با لذت هر چه بیشتر بدون زحمت حساب های بانکیشون پر از پول بشه!این ها همه اشتباهه خوبه که همین اول بدونید اگر دوست دارید برنامه نویسی را یاد بگیرید با یک چیزی مثل ریاضیات و دیفرانسیل سر و کار دارید تازه دیفرانسیل خوبیش اینه ثابت هست و هر روز عوض نمیشه ولی برنامه نویسی دائما در حال اپدیت است یعنی دانشی که یک سال پیش داشتید ممکنه امروز به درد شما نخوره پس یه چیز پیچیده ، زمان بر ،‌ دائما در حال تغییر ، پر از چالش رو بروی شماستاما چرا بعضی از ادما تو این همه دردسر ها و چالش ها دوام میارن و وقتی یکی بیرون از گود بهش نگاه میکنه فکر میکنه اون طرف که نشسته پشت سیستم داره تق تق کدنویسی میکنه داره لذت میبرهبله اون طرف داره لذت میبره ولی بهای لذتش رو پرداخت کرده قبلا !  بهاش سالهای قبلی زندگی اون فرد بوده سالهایی که تازه داشته یاد میگرفته منابعی نداشته ، چون زبانش انگلیسی نبوده همیشه دچار سردرگمی میشده و مجبور بوده همزمان زبان رو هم تقویت کنهسالهایی که در انجمن های برنامه نویسی سپری میکرده تا سوال بپرسه و چالش و مشکل جدیدش رو حل کنه و در کل سالهایی که ممکنه بدون هیچ درآمدی با مشکلات مالی سر و کله زده همه ی اینا رو سپری کرده تا امروز پشت سیستم نشسته و راحت داره پول در میاره هیشکی یهویی برنامه نویس نشده و برنامه نویسی هم به اون آسونی نیست که فکر کنیدعوامل موثر بر درآمد برنامه نویسیعوامل موثر بر درآمد برنامه نویسان در ایران و کشور های دیگراین قسمت از ویدیو مهندس نیک زاد عالی بود و تقریبا من همیشه با این تفکر جلو رفتم که شغل ما برنامه نویسان طوری هست که هیچ چیز منفی جامعه و دولت روی ما تاثیر نمیزارهفرقی نداره شما توی پاکستان زندگی کنی یا ایران یا امریکا یا هر جای دیگر دنیا کافیه شما اینترنت دسترسی داشته باشیو شاید به ذهن بعضی ها برسه که داخل ایران تحریم هستیم و از خیلی سایت های خوب و مفید نمیتونیم استفاده کنیم به نظر من هر تحریم یک جرقه ی مثبت به نفع تمام برنامه نویسان و استارتاپ های ایرانیه شما از چی ناراحتید ؟ وقتی یوتیوب بسته شد ایده ی اپارات بوجود اومد که الان سایتی هست که رتبه ی زیر صد الکسای جهانهوقتی امازون نبود دیجیکالا قوت گرفتوقتی گوگل پلی نبود ایده ی ساخت مارکت محلی یعنی کافه بازار به ذهن سازنده هاش اومدو خیلی مثال های دیگه از بسته شدن تلگرام چرا ناراحتید شما که کسب و کارتون رونق گرفت قبلش به هر کی میگفتیم سایت میخواهید میگفت با تلگرام کارامون اوکی میشه مرسی نمیخواهیم !!!خلاصه حتی بسته شدن کل اینترنت هم به نفع برنامه نویسان هست تا زمانی که لپتاپ و جان برنامه نویس گرفته نشده برنامه نویس کارش رو انجام میده و هر چقدر محدودیت ها وجود داشته باشه منابع مالی زیادی پیش رو داره شب بیدار ماندن یک دیدگاه اشتباه درباره ی تمام برنامه نویسانشب زنده داری برنامه نویسانشاید شما هم تصویر بالا رو در گروه های تلگرامی یا اینستاگرام و ... دیده باشید که یک چراغی در ساختمان روشنه و ساعت روی چهار نصف شب یا پنج نصف شب هست و روش نوشته this is programmer این یک دیدگاه اشتباه درباره ی برنامه نویسانه شما الگوی خودتون کی هست ؟ الگو بهتر از دنیس ریچی داریم که زبان c رو خلق کرده ؟ میگه من خلاقیتم از صبح زود تا ۱۲ ظهره و بعد از اون عملا هیچ کاری در زندگی نمیتونم انجام بدم یا لینوس توروالدز کبیر که هسته ی لینوکس رو نوشته ؟ میگه من برای نوشتن لینوکس یک شب هم بیخوابی نکشیدم همیشه شبا میخوابم و صبح زود بیدار میشمپس با این اوصاف اونی که شبا بیدار میمونه و اسمشو برنامه نویس گذاشته فکر کنم فقط اسم برنامه نویس رو یدک میکشه و یه ول معطل توی گروه های تلگرامیه بیشتر ! تا یک برنامه نویس موفق !!!!موفقیت های من در برنامه نویسی از کجاستمن سالهاست برنامه نویسی میکنم و خداروشکر درآمد عالی از این راه دارم . تقریبا هر چیزی که دوست داشتم رو تهیه کردم و هر ارزویی که قدیما داشتم الان برآورده شده شاید الان آرزوهایی دارم که برای اینده هست و هنوز محقق نشده ولی خیلی خوبه که وقتی دوستام یا فامیلامون منو میبینن میپرسن تو چیکار میکنی ؟؟؟؟ تو این وضعیت خراب بازارتو این وضعیت بد اقتصادجملاتی که از بچگی میشنوم و هرگز هم تمامی نداره ....منم در جواب یه چیز میگممن برنامه نویسم و دیدگاه های عالی به زندگی دارم ممکنه گرافیست میشدم ولی بازم موفق میشدم چون چیزی که منو موفق میکنه فقط برنامه نویسی نیستنظراتتون رو بنویسید جواب میدم حتمامرسی</description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Thu, 01 Oct 2020 03:29:43 +0330</pubDate>
            </item>
                    <item>
                <title>لاراول در یک کلام و ساخت سیستم ثبت نام لاراولی در کمترین زمان</title>
                <link>https://virgool.io/coderlife/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%AB%D8%A8%D8%AA-%D9%86%D8%A7%D9%85-%D8%AF%D8%B1-%D8%B9%D8%B1%D8%B6-%DA%86%D9%86%D8%AF-%D8%AF%DB%8C%D9%82%D9%87-xn8cnc5lassj</link>
                <description>آموزش لاراولسلام من این ویدیو رو دیدم عالی بود آموزش ساخت سیستم ثبت نام و ورود در لاراول ۶ و لاراول ۷این آموزش رو جناب مهندس نیک زاد عزیز بصورت رایگان منتشر کردن واقعا فوق العاده بود پیشنهاد میکنم دوست داران لاراولی از دست ندنلینک ویدیو در اپارات : https://www.aparat.com/v/CfL5Rاز زیر هم میتونید تماشا کنید  https://www.aparat.com/v/CfL5R </description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Wed, 22 Jul 2020 02:36:36 +0430</pubDate>
            </item>
                    <item>
                <title>لینوکس و تجربیات یک برنامه نویس از لینوکس به زبان خودش</title>
                <link>https://virgool.io/coderlife/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88-%D8%AA%D8%AC%D8%B1%D8%A8%DB%8C%D8%A7%D8%AA-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%A7%D8%B2-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%D9%88%D8%AF%D8%B4-edruohd1hrws</link>
                <description>سلام من مدت هاست که از لینوکس استفاده میکنم و طعم یک سیستم عامل واقعی را زمان چشیدم که برای همیشه ویندوز را ترک کردم و به لینوکس کوچ کردم.انواع توزیع لینوکس هادر ابتدا برای توسعه ی وب با زبان پی اچ پی قصد داشتم در لینوکس کار کنم که وارد سیستم عامل اوبونتو شدم ( سیستم عامل اوبونتو درسته نیایید کامنت بزارید که اوبونتو یه توزیعه چرا میگی سیستم عامل یا نمیدونم بگو گنولینوکس و اینطور داستان ها ) .اوبونتو برای بحث توسعه ی وب واقعا از ویندوز و مک سریعتر بود و خیلی لذت بردم و همین باعث شد که برای اولین بار به لینوکس جذب شم.بعد از سالها کار کردن با اوبونتو لذت لینوکسو با فدورا چشیدم و واقعا یه توزیع خوبی بود و استیبل بودن این توزیع باعث میشد که حس ارامش به من بده که یهو سیستم عاملم نپره اوایل سخت بود قبول میکنم ولی کم کم واقعا لینوکس برای برنامه نویسی لذت بخش بود .برنامه نویسی اندروید در لینوکسشما میتونید محیط اندروید استودیو را به راحتی در لینوکس نصب کنید و چون هسته ی خود اندروید برپایه ی لینوکس هست امولاتور یا شبیه ساز اندروید با سرعت فوق العاده ای در لینوکس اجرا میشه و سرعت کدنویسی ، بیلد کردن و تست کردن اپلیکیشن ها فوق العاده بالاتر از ویندوز هست به دلیل اینکه اندروید سیستمی کاملا جدا از ویندوز است و بر پایه ی لینوکس هست در ویندوز تبدیلات و ... انجام میگیره که کلی از سخت افزار شما را اشغال میکندو سرعت امولاتور را فوق العاده پایین میاورد.ویدیو آموزنده ی تجربیات یک برنامه نویس ( مهندس نیک زاد استاد عزیزم )در ویدیو زیر استاد نیک زاد زحمت کشیدن و توضیحات خوبی درباره ی لینوکس ارائه داده اند اگر برنامه نویس هستید پیشنهاد میکنم حتما حتما ویدیو زیر را گوش بدید :https://www.aparat.com/v/r5zvx https://www.aparat.com/v/r5zvx </description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Mon, 20 Jul 2020 00:02:57 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش کدایگنایتر ( سری سوم )</title>
                <link>https://virgool.io/@afsane.khosravi/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AF%D8%A7%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D8%AA%D8%B1-%D8%B3%D8%B1%DB%8C-%D8%B3%D9%88%D9%85-tzxvzt7d6ne4</link>
                <description>آموزش ساخت وب سرویس restful api در فریمورک کدایگنایتردر این سری آموزش فریمورک کدایگنایتر قصد داریم نحوه ی پیاده سازی Restful API توسط فریمورک کدایگنایتر را آموزش دهیم.این آموزش برای افرادی مناسب است که نیاز به وب سرویس جهت اتصال به اپلیکیشن های مختلفی از طریق فریمورک کدایگنایتر را دارند.با استفاده از این وب سرویس به راحتی میتوانید با فریمورک کدایگنایتر خروجی API برای اپلیکیشن های موبایل مثل اندروید یا IOS بگیرید.برای اتصال یک اپلیکیشن موبایل به فریمورک کدایگنایتر نیاز است که یک وب سرویس مبتنی بر Restful بسازید که در این آموزش خدمت شما تقدیم خواهیم کرد.در این آموزش یک rest api  پیاده سازی خواهیم کرد که از متود های HTTP مثل  GET, PUT, POST, DELETE استفاده خواهد کرد.ما در این آموزش یک وب سرویس مبتنی بر restserver کدایگنایتر پیاده سازی خواهیم کرد.آموزش کدایگنایتربرای یادگیری ساختن وب سرویس مبتنی بر restful api توسط کدایگنایتر ، قدم های زیر را مرحله به مرحله طی کنید.قدم ۱ − ساختن جدول items در دیتابیسدر ابتدا برای پیاده سازی مثال نیاز داریم که جدول دیتابیس را بسازیم و کمی اطلاعات الکی وارد کنیم تا بتوانیم کدنویسی های خودمان را تست کنیم.در ابتدا یک جدول به نام items میسازیم که از طریق کدهای کوئری زیر قابل ساخت میباشد :CREATE TABLE IF NOT EXISTS `items` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `description` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=قدم ۲ − ساخت فایل تنظیماتی rest.phpدر این قدم ما نیاز داریم که یک فایل تنظیماتی برای rest api  بسازیم به نام rest.phpاین فایل را در مسیر application/config/rest.php بسازید و کدهای زیر را درونش بنویسید.دانلود فایل های کد از اینجاقدم ۳ − ساخت فایل های کتابخانه ( codeigniter library )در این قدم قصد داریم کتابخانه های مورد نیاز را بسازیم . برای این کار دو فایل به نام های REST_Controller.php و Format.php در مسیر library کدایگنایتر بسازید.پس یکی در این مسیر قرار میگیرد application/libraries/REST_Controller.php و کدهای آن درون یک فایل zip قراردادیم تا دریافت کنید. از اینجا دانلود کنیدیکی دیگر در مسیر application/libraries/Format.php قرار میگیرد و محتویات آن نیز درون یک فایل زیپ میتونید از اینجا دانلود کنید.قدم ۴ − ساخت کنترلر مربوط به API کدایگنایتردر این قدم قصد داریم کنترلر کدایگنایتر را ایجاد کنیم . برای این کار و نظم بیشتر یک فولدر درون فولدر controllers کدایگنایتر بسازید و نام آنرا api قرار دهید و سپس درون این فولدر یک فایل پی اچ پی جدیدی به نام Item.php بسازید که قرار است کنترلر ما باشد.مسیر این فولدر و فایل باید به شکل application/controllers/api/Item.php باشد.&lt;?php
   
require APPPATH . &#039;libraries/REST_Controller.php&#039;;
     
class Item extends REST_Controller {
    
	  /**
     * Get All Data from this method.
     *
     * @return Response
    */
    public function __construct() {
       parent::__construct();
       $this-&gt;load-&gt;database();
    }
       
    /**
     * Get All Data from this method.
     *
     * @return Response
    */
	public function index_get($id = 0)
	{
        if(!empty($id)){
            $data = $this-&gt;db-&gt;get_where(&amp;quotitems&amp;quot, [&#039;id&#039; =&gt; $id])-&gt;row_array();
        }else{
            $data = $this-&gt;db-&gt;get(&amp;quotitems&amp;quot)-&gt;result();
        }
     
        $this-&gt;response($data, REST_Controller::HTTP_OK);
	}
      
    /**
     * Get All Data from this method.
     *
     * @return Response
    */
    public function index_post()
    {
        $input = $this-&gt;input-&gt;post();
        $this-&gt;db-&gt;insert(&#039;items&#039;,$input);
     
        $this-&gt;response([&#039;Item created successfully.&#039;], REST_Controller::HTTP_OK);
    } 
     
    /**
     * Get All Data from this method.
     *
     * @return Response
    */
    public function index_put($id)
    {
        $input = $this-&gt;put();
        $this-&gt;db-&gt;update(&#039;items&#039;, $input, array(&#039;id&#039;=&gt;$id));
     
        $this-&gt;response([&#039;Item updated successfully.&#039;], REST_Controller::HTTP_OK);
    }
     
    /**
     * Get All Data from this method.
     *
     * @return Response
    */
    public function index_delete($id)
    {
        $this-&gt;db-&gt;delete(&#039;items&#039;, array(&#039;id&#039;=&gt;$id));
       
        $this-&gt;response([&#039;Item deleted successfully.&#039;], REST_Controller::HTTP_OK);
    }
    	
}حالا میتوانید نتیجه ی کدهای زیر را میتوانید به شکل اسکرین شات های زیر مشاهده کنید :Item List API :آموزش کدایگنایترItem Create API :آموزش کدایگنایترItem Show API :آموزش کدایگنایترItem Update API :آموزش کدایگنایترItem Delete API :آموزش کدایگنایتراتمام آموزش ساخت وب سرویس مبتنی بر Restful Api توسط کدایگنایترامیدوارم که این آموزش به دردتان خورده باشد.منبع : آموزش ساخت api وب سرویس کدایگنایتر</description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Sun, 19 Jul 2020 00:40:04 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش کدایگنایتر ( سری دوم ) - آموزش ساخت ثبت نام و ورود با codeigniter</title>
                <link>https://virgool.io/@afsane.khosravi/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AF%D8%A7%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D8%AA%D8%B1-%D8%B3%D8%B1%DB%8C-%D8%AF%D9%88%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AB%D8%A8%D8%AA-%D9%86%D8%A7%D9%85-%D9%88-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D8%A7-codeigniter-i0cxvwob0qaw</link>
                <description>آموزش ساخت سیستم ورود و ثبت نام با کدایگنایتر ( Codeigniter )آموزش ثبت نام و ورود با فریمورک codeigniterدر سری اول آموزش فریمورک کدایگنایتر به معرفی این فریمورک محبوب صحبت کردیم.در مقاله ی قبلی دیدیم که چطور میتوانیم کدایگنایتر را دانلود و نصب کنیم و سپس به نحوه ی استفاده و کدنویسی از فریمورک کدایگنایتر پرداختیم که برای آشنایی با فریمورک کدایگنایتر ( codeigniter ) پیشنهاد میکنیم حتما مطلب قبلی را مطالعه کرده باشید.در این سری از آموزش فریمورک کدایگنایتر به آموزش ساختن سیستم ثبت نام و ورود در فریمورک کدایگنایتر بپردازیم.خب بیایید شروع کنیم.فکر میکنم شما هم با جمله ی زیر موافق هستید.ساختن سیستم ثبت نام و ورود با سطح دسترسی های متفاوت در کدایگنایتر بسیار سخت است.خب اگر با جمله ی بالا موافق باشید خبر خوب این است که در این آموزش مشکل شما بصورت کامل حل میشود و در ادامه به آموزش ساختن ثبت نام و ورود کاربران با سطح دسترسی های مختلف با فریمورک کدایگنایتر خواهیم پرداخت.برای ساختن سیستم ثبت نام و ورود با فریمورک کدایگنایتر میتوانیم از کتابخانه ی session ها در این فریمورک استفاده خواهیم کردsession چیست ؟‌سشن ( session ) ها یک سری متغیرهای ذخیره شده در سمت سرور هستند که اطلاعاتی را درون خودشان نگهداری میکنند. این محل ذخیره سازی بصورت فایل است و برای استفاده از آن در فریمورک کدایگنایتر از یک کلاس از پیش نوشته شده استفاده میشود.ابتدا ممکن است پیچیده به نظر برسد ولی استفاده از آن بسیار راحت است.فعلا در همین اندازه کافیست و در ادامه با نحوه ی کار کردن با سشن های فریمورک کدایگنایتر بیشتر آموزش خواهیم داد.در ادامه بصورت قدم به قدم پیش خواهیم رفت.قدم ۱ −  آماده سازیاین قدم بسیار مهم است اگر این قدم را درست انجام ندهید یعنی فریمورک کدایگنایتر را به درستی آماده سازی نکنید ممکن است در ادامه ی آموزش به مشکل بخورید پس در این مرحله دقت کافی داشته باشید.پس این مرحله را هرگز رد نکنید و تمام نیازمندی ها برای آماده سازی این آموزش را مطالعه کنید و انجام دهید.در زیر لیستی از مواردی که برای این پروژه باید آماده سازی کنید را نوشته ایم :Codeiginter = کدایگنایتر فریمورکی برای زبان php است که هسته ی اصلی این پروژه را با استفاده از این فریمورک پیاده سازی خواهیم کرد طبق آموزش سری اول کدایگنایتر شما میتوانید این فریمورک را از سایت www.codeigniter.com دانلود کنید.Bootstrap = این فریمورک برای سی اس اس میباشد و به برنامه نویسان وب کمک میکند فرانت اند یا رابط کاربری وب سایت خود را بصورت ریسپانسیو طراحی کنند شما میتوانید این فریمورک را از سایت اصلی اش www.getbootstrap.com دانلود کنید.قدم ۲ − آماده سازی پایگاه دادهدر این آموزش از پایگاه داده mysql استفاده خواهیم کرد و پیشنهاد میشود شما هم برای آموزش از این دیتابیس استفاده کنید.هر چند شما میتوانید از دیتابیس های دیگری همچون Oracle, SQL Server یا Maria DB  نیز استفاده کنید.مسئله ای نیست.برای این آموزش کدایگنایتر بهتر است شما با سینتکس زبان SQL یا کوئری نویسی با اس کیو ال آشنا باشید.بعد از اینکه پایگاه داده ی خود را آماده کردید یک دیتابیس بسازید به نام login_db و اگر دیتابیسی دقیقا با این نام بسازید برای ادامه ی آموزش خوب است.برای ساختن پایگاه داده جدید میتوانید از کدکوئری زیر نیز استفاده کنید :‌CREATE DATABASE login_db;این دستور یک پایگاه داده به نام login_db برای شما میسازد. بعد از این که پایگاه داده ایجاد شد یک جدول جدیدی به نام tbl_users بسازید که ساختارش مشابه تصویر زیر است :‌آموزش ساخت ثبت نام و ورود با کدایگنایتربرای ساختن جدولی با ساختار بالا کافیست کوئری زیر را اجرا کنید :CREATE TABLE tbl_users(
user_id INT PRIMARY KEY AUTO_INCREMENT,
user_name VARCHAR(20),
user_email VARCHAR(60),
user_password VARCHAR(40),
user_level VARCHAR(3)
);سپس با استفاده از کوئری زیر یک سری اطلاعات وارد جدول tbl_users انجام دهید.INSERT INTO tbl_users (user_name,user_email,user_password,user_level) 
VALUES
(&#039;M Fikri&#039;,&#039;fikrifiver97@gmail.com&#039;,MD5(&#039;123456&#039;),&#039;1&#039;),
(&#039;Daria&#039;,&#039;email2@gmail.com&#039;,MD5(&#039;123456&#039;),&#039;2&#039;)
(&#039;Jhon&#039;,&#039;email3@gmail.com&#039;,MD5(&#039;123456&#039;),&#039;3&#039;);قدم ۳ − آموزش نصب کدایگنایتر ( codeigniter )قبلا سایت رسمی کدایگنایتر را معرفی کردیم و باید به سایت اصلی کدایگنایتر مراجعه کنید و آخرین نسخه ی انرا که یک فایل فشرده شده است دانلود کنید. پس از دانلود کردن کدایگنایتر فایل زیپ شده آنرا از حالت زیپ خارج کنید و در مسیر www ( اگر از wamp استفاده میکنید ) و یا در مسیر htdocs ( اگر از xampp استفاده میکنید ) کپی کنید.در این مقاله ی آموزشی چون از wamp استفاده میکنم فایل زیپ شده را در مسیر c:/wamp/www/ از حالت زیپ خارج میکنم . البته فرقی ندارد شما از wamp یا xamp یا سیستم عامل های دیگری مثل مک و لینوکس استفاده کنید ( مطمئنا بعنوان توسعه دهنده ی وب با این مبانی آشنا هستید).سپس نام فولدر کدایگنایتر که در مسیر سرور خود قرار دادید را به login تغییر نام دهید.آموزش ثبت نام و ورود با فریمورک کدایگنایترپوشه ی login را باز کنید و یک پوشه ی جدید دیگری به نام assets ایجاد کنید و قرار است فایل های جانبی مثل فریمورک بوت استرپ و ... را اینجا قرار دهیم.پروژه ی ما بعد از ساختن فولدر باید مشابه تصویر زیر باشد. شما میتوانید از هر code editor یا ide استفاده کنید تا فولدر را باز کنید.آموزش فریمورک کدایگنایتردر تصویر بالا مشاهده میکنید که درون فولدر assets دو عدد فولدر دیگر به نام های js و css  ایجاد کرده ایم که درون آنها فایل های css و فایل های js را قرار خواهیم داد.دو فایل bootstrap.min.css و bootstrap.min.js مربوط به فریمورک بوت استرپ است.قدم ۴ − تنظیم کردن فریمورک کدایگنایتر ( codeigniter )قدم بعدی که باید انجام دهید تنظیمات اولیه فریمورک کدایگنایتر است. چندین فایل وجود دارد که باید تنظیمات لازم را درون آنها انجام دهید که در زیر آمده است :‌1. Autoload.phpبرای دسترسی به این فایل تنظیماتی از کدایگنایتر باید در پروژه ی خود به مسیر زیر مراجعه کنید :application/config/autoload.phpمسیر این فایل را در تصویر زیر نیز مشاهده میکنید :‌آموزش فریمورک کدایگنایترفایل autoload.php را باز کنید برای باز کردن میتوانید از هر کدادیتوری مثل gedit یا notepad یا sublime استفاده کنید.سپس کدهای زیر را درون این فایل تنظیماتی پیدا کنید :$autoload[&#039;libraries&#039;] = array();
$autoload[&#039;helper&#039;] = array();و آنها را بصورت زیر تغییر دهید :$autoload[&#039;libraries&#039;] = array(&#039;database&#039;, &#039;session&#039;);
$autoload[&#039;helper&#039;] = array(&#039;url&#039;);2. Config.phpبرای پیدا کردن این فایل تنظیماتی در فریمورک کدایگنایتر به مسیر زیر بروید :application/config/config.phpدر تصویر زیر نیز مسیر این فایل را در فریمورک کدایگنایتر مشاهده میفرمایید.آموزش فریمورک کدایگنایتر - codeigniterفایل config.php را باز کنید و در بین محتویات آن کد زیر را پیدا کنید :$config[&#039;base_url&#039;] = &#039;&#039;;سپس تنظیمات بالا را به شکل زیر تغییر دهید :$config[&#039;base_url&#039;] = &#039;http://localhost/login/&#039;;3. Database.phpبرای تنظیم کردن دیتابیس در فریمورک کدایگنایتر به مسیر زیر در پروژه ی خود مراجعه کنید ‌:application/config/database.phpدر تصویر زیر مسیر این فایل را در بین فایل های کدایگنایتر مشاهده میکنید :‌آموزش فریمورک کدایگنایتر ثبت نام / ورود این فایل را باز کنید و کدهای زیر را پیدا کنید :$active_group = &#039;default&#039;;
$query_builder = TRUE;
 
$db[&#039;default&#039;] = array(
    &#039;dsn&#039;   =&gt; &#039;&#039;,
    &#039;hostname&#039; =&gt; &#039;localhost&#039;,
    &#039;username&#039; =&gt; &#039;&#039;,
    &#039;password&#039; =&gt; &#039;&#039;,
    &#039;database&#039; =&gt; &#039;&#039;,
    &#039;dbdriver&#039; =&gt; &#039;mysqli&#039;,
    &#039;dbprefix&#039; =&gt; &#039;&#039;,
    &#039;pconnect&#039; =&gt; FALSE,
    &#039;db_debug&#039; =&gt; (ENVIRONMENT !== &#039;production&#039;),
    &#039;cache_on&#039; =&gt; FALSE,
    &#039;cachedir&#039; =&gt; &#039;&#039;,
    &#039;char_set&#039; =&gt; &#039;utf8&#039;,
    &#039;dbcollat&#039; =&gt; &#039;utf8_general_ci&#039;,
    &#039;swap_pre&#039; =&gt; &#039;&#039;,
    &#039;encrypt&#039; =&gt; FALSE,
    &#039;compress&#039; =&gt; FALSE,
    &#039;stricton&#039; =&gt; FALSE,
    &#039;failover&#039; =&gt; array(),
    &#039;save_queries&#039; =&gt; TRUE
);و به شکل زیر تنظیم کنید :$active_group = &#039;default&#039;;
$query_builder = TRUE;
 
$db[&#039;default&#039;] = array(
    &#039;dsn&#039;   =&gt; &#039;&#039;,
    &#039;hostname&#039; =&gt; &#039;localhost&#039;,
    &#039;username&#039; =&gt; &#039;root&#039;,
    &#039;password&#039; =&gt; &#039;&#039;,
    &#039;database&#039; =&gt; &#039;login_db&#039;,
    &#039;dbdriver&#039; =&gt; &#039;mysqli&#039;,
    &#039;dbprefix&#039; =&gt; &#039;&#039;,
    &#039;pconnect&#039; =&gt; FALSE,
    &#039;db_debug&#039; =&gt; (ENVIRONMENT !== &#039;production&#039;),
    &#039;cache_on&#039; =&gt; FALSE,
    &#039;cachedir&#039; =&gt; &#039;&#039;,
    &#039;char_set&#039; =&gt; &#039;utf8&#039;,
    &#039;dbcollat&#039; =&gt; &#039;utf8_general_ci&#039;,
    &#039;swap_pre&#039; =&gt; &#039;&#039;,
    &#039;encrypt&#039; =&gt; FALSE,
    &#039;compress&#039; =&gt; FALSE,
    &#039;stricton&#039; =&gt; FALSE,
    &#039;failover&#039; =&gt; array(),
    &#039;save_queries&#039; =&gt; TRUE
);قدم ۵ − کنترلر در کدایگنایترکنترلرها در mvc و کدایگنایتر بین view و model های شما نقش بازی میکند و کار اصلی آنها کنترل کردن اپلیکیشن شماست.در این آموزش ما دو عدد کنترلر به نام های  Login.php و Page.php خواهیم ساخت.در ابتدا یک فایل کنترلر جدید در مسیر controllers/Login.php بسازید و کدهای زیر را درون آن بنویسید :&lt;?php
class Login extends CI_Controller{
  function __construct(){
    parent::__construct();
    $this-&gt;load-&gt;model(&#039;login_model&#039;);
  }
 
  function index(){
    $this-&gt;load-&gt;view(&#039;login_view&#039;);
  }
 
  function auth(){
    $email    = $this-&gt;input-&gt;post(&#039;email&#039;,TRUE);
    $password = md5($this-&gt;input-&gt;post(&#039;password&#039;,TRUE));
    $validate = $this-&gt;login_model-&gt;validate($email,$password);
    if($validate-&gt;num_rows() &gt; 0){
        $data  = $validate-&gt;row_array();
        $name  = $data[&#039;user_name&#039;];
        $email = $data[&#039;user_email&#039;];
        $level = $data[&#039;user_level&#039;];
        $sesdata = array(
            &#039;username&#039;  =&gt; $name,
            &#039;email&#039;     =&gt; $email,
            &#039;level&#039;     =&gt; $level,
            &#039;logged_in&#039; =&gt; TRUE
        );
        $this-&gt;session-&gt;set_userdata($sesdata);
        // access login for admin
        if($level === &#039;1&#039;){
            redirect(&#039;page&#039;);
 
        // access login for staff
        }elseif($level === &#039;2&#039;){
            redirect(&#039;page/staff&#039;);
 
        // access login for author
        }else{
            redirect(&#039;page/author&#039;);
        }
    }else{
        echo $this-&gt;session-&gt;set_flashdata(&#039;msg&#039;,&#039;Username or Password is Wrong&#039;);
        redirect(&#039;login&#039;);
    }
  }
 
  function logout(){
      $this-&gt;session-&gt;sess_destroy();
      redirect(&#039;login&#039;);
  }
 
}سپس یک فایل کنترلر جدید دیگری در مسیر controllers/Page.php بسازید و کدهای زیر را درون آن بنویسید :&lt;?php
class Page extends CI_Controller{
  function __construct(){
    parent::__construct();
    if($this-&gt;session-&gt;userdata(&#039;logged_in&#039;) !== TRUE){
      redirect(&#039;login&#039;);
    }
  }
 
  function index(){
    //Allowing akses to admin only
      if($this-&gt;session-&gt;userdata(&#039;level&#039;)===&#039;1&#039;){
          $this-&gt;load-&gt;view(&#039;dashboard_view&#039;);
      }else{
          echo &amp;quotAccess Denied&quot;
      }
 
  }
 
  function staff(){
    //Allowing akses to staff only
    if($this-&gt;session-&gt;userdata(&#039;level&#039;)===&#039;2&#039;){
      $this-&gt;load-&gt;view(&#039;dashboard_view&#039;);
    }else{
        echo &amp;quotAccess Denied&quot;
    }
  }
 
  function author(){
    //Allowing akses to author only
    if($this-&gt;session-&gt;userdata(&#039;level&#039;)===&#039;3&#039;){
      $this-&gt;load-&gt;view(&#039;dashboard_view&#039;);
    }else{
        echo &amp;quotAccess Denied&quot;
    }
  }
 
}قدم ۶ − مدل های کدایگنایتردر بحث mvc و فریمورک کدایگنایتر مدل ها با دیتابیس شما ارتباط دارند و توابع مدل ها به شما کمک میکند تا بتوانید عملیات واکشی ، بروزرسانی ، حذف و درج اطلاعات را در پایگاه داده انجام دهید.در این آموزش ما یک مدل به نام  Login_model.php میسازیم.بنابراین یک فایل مدل کدایگنایتری در پروژه ی خود در مسیر models/Login_model.php بسازید و کدهای زیر را درون آن بنویسید :&lt;?php
class Login_model extends CI_Model{
 
  function validate($email,$password){
    $this-&gt;db-&gt;where(&#039;user_email&#039;,$email);
    $this-&gt;db-&gt;where(&#039;user_password&#039;,$password);
    $result = $this-&gt;db-&gt;get(&#039;tbl_users&#039;,1);
    return $result;
  }
 
}قدم ۷ −ویو های کدایگنایترview فایل هایی در فریمورک کدایگنایتر هستند که رابط کاربری یا ظاهر نهایی سایت را که به کاربران بازدید کننده از سایت نمایش داده میشود را میسازند.یک view میتواند یک صفحه ی ساده ی وب باشد یا مخلوطی از چند فایل مثل header و footer باشد یا یک خبرخوان RSS و ... .در این پروژه ما دو فایل view میسازیم یکی login_view.php برای نمایش دادن فرم لاگین و دیگری dashboard_view.php بعنوان صفحه ی داشبورد این پروژه .بنابراین ابتدا یک فایل view جدید در مسیر views/login_view.php بسازید که برای فرم لاگین استفاده خواهد شد و کدهای زیر را درون آن بنویسید :‌&lt;!DOCTYPE html&gt;
&lt;html lang=&amp;quoten&amp;quot&gt;
  &lt;head&gt;
    &lt;meta charset=&amp;quotutf-8&amp;quot&gt;
    &lt;title&gt;Sign In&lt;/title&gt;
    &lt;link href=&amp;quot&lt;?php echo base_url(&#039;assets/css/bootstrap.min.css&#039;);?&gt;&amp;quot rel=&amp;quotstylesheet&amp;quot&gt;
  &lt;/head&gt;
  &lt;body&gt;
 
      &lt;div class=&amp;quotcontainer&amp;quot&gt;
       &lt;div class=&amp;quotcol-md-4 col-md-offset-4&amp;quot&gt;
         &lt;form class=&amp;quotform-signin&amp;quot action=&amp;quot&lt;?php echo site_url(&#039;login/auth&#039;);?&gt;&amp;quot method=&amp;quotpost&amp;quot&gt;
           &lt;h2 class=&amp;quotform-signin-heading&amp;quot&gt;Please sign in&lt;/h2&gt;
           &lt;?php echo $this-&gt;session-&gt;flashdata(&#039;msg&#039;);?&gt;
           &lt;label for=&amp;quotusername&amp;quot class=&amp;quotsr-only&amp;quot&gt;Username&lt;/label&gt;
           &lt;input type=&amp;quotemail&amp;quot name=&amp;quotemail&amp;quot class=&amp;quotform-control&amp;quot placeholder=&amp;quotEmail&amp;quot required autofocus&gt;
           &lt;label for=&amp;quotpassword&amp;quot class=&amp;quotsr-only&amp;quot&gt;Password&lt;/label&gt;
           &lt;input type=&amp;quotpassword&amp;quot name=&amp;quotpassword&amp;quot class=&amp;quotform-control&amp;quot placeholder=&amp;quotPassword&amp;quot required&gt;
           &lt;div class=&amp;quotcheckbox&amp;quot&gt;
             &lt;label&gt;
               &lt;input type=&amp;quotcheckbox&amp;quot value=&amp;quotremember-me&amp;quot&gt; Remember me
             &lt;/label&gt;
           &lt;/div&gt;
           &lt;button class=&amp;quotbtn btn-lg btn-primary btn-block&amp;quot type=&amp;quotsubmit&amp;quot&gt;Sign in&lt;/button&gt;
         &lt;/form&gt;
       &lt;/div&gt;
       &lt;/div&gt; &lt;!-- /container --&gt;
 
    &lt;script src=&amp;quot&lt;?php echo base_url(&#039;assets/js/bootstrap.min.js&#039;);?&gt;&amp;quot&gt;
  &lt;/body&gt;
&lt;/html&gt;دومین فایل view را در مسیر views/dashboard_view.php بسازید و کدهای زیر را درون آن بنویسید :‌&lt;!DOCTYPE html&gt;
&lt;html lang=&amp;quoten&amp;quot&gt;
  &lt;head&gt;
    &lt;meta charset=&amp;quotutf-8&amp;quot&gt;
    &lt;title&gt;Welcome&lt;/title&gt;
    &lt;link href=&amp;quot&lt;?php echo base_url(&#039;assets/css/bootstrap.min.css&#039;);?&gt;&amp;quot rel=&amp;quotstylesheet&amp;quot&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;div class=&amp;quotcontainer&amp;quot&gt;
      &lt;div class=&amp;quotrow&amp;quot&gt;
      &lt;nav class=&amp;quotnavbar navbar-default&amp;quot&gt;
          &lt;div class=&amp;quotcontainer-fluid&amp;quot&gt;
            &lt;div class=&amp;quotnavbar-header&amp;quot&gt;
              &lt;button type=&amp;quotbutton&amp;quot class=&amp;quotnavbar-toggle collapsed&amp;quot data-toggle=&amp;quotcollapse&amp;quot data-target=&amp;quot#navbar&amp;quot aria-expanded=&amp;quotfalse&amp;quot aria-controls=&amp;quotnavbar&amp;quot&gt;
                &lt;span class=&amp;quotsr-only&amp;quot&gt;Toggle navigation&lt;/span&gt;
                &lt;span class=&amp;quoticon-bar&amp;quot&gt;&lt;/span&gt;
                &lt;span class=&amp;quoticon-bar&amp;quot&gt;&lt;/span&gt;
                &lt;span class=&amp;quoticon-bar&amp;quot&gt;&lt;/span&gt;
              &lt;/button&gt;
              &lt;a class=&amp;quotnavbar-brand&amp;quot href=&amp;quot#&amp;quot&gt;LOGO&lt;/a&gt;
            &lt;/div&gt;
            &lt;div id=&amp;quotnavbar&amp;quot class=&amp;quotnavbar-collapse collapse&amp;quot&gt;
              &lt;ul class=&amp;quotnav navbar-nav&amp;quot&gt;
                &lt;!--ACCESS MENUS FOR ADMIN--&gt;
                &lt;?php if($this-&gt;session-&gt;userdata(&#039;level&#039;)===&#039;1&#039;):?&gt;
                  &lt;li class=&amp;quotactive&amp;quot&gt;&lt;a href=&amp;quot#&amp;quot&gt;Dashboard&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Posts&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Pages&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Media&lt;/a&gt;&lt;/li&gt;
                &lt;!--ACCESS MENUS FOR STAFF--&gt;
                &lt;?php elseif($this-&gt;session-&gt;userdata(&#039;level&#039;)===&#039;2&#039;):?&gt;
                  &lt;li class=&amp;quotactive&amp;quot&gt;&lt;a href=&amp;quot#&amp;quot&gt;Dashboard&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Pages&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Media&lt;/a&gt;&lt;/li&gt;
                &lt;!--ACCESS MENUS FOR AUTHOR--&gt;
                &lt;?php else:?&gt;
                  &lt;li class=&amp;quotactive&amp;quot&gt;&lt;a href=&amp;quot#&amp;quot&gt;Dashboard&lt;/a&gt;&lt;/li&gt;
                  &lt;li&gt;&lt;a href=&amp;quot#&amp;quot&gt;Posts&lt;/a&gt;&lt;/li&gt;
                &lt;?php endif;?&gt;
              &lt;/ul&gt;
              &lt;ul class=&amp;quotnav navbar-nav navbar-right&amp;quot&gt;
                &lt;li&gt;&lt;a href=&amp;quot&lt;?php echo site_url(&#039;login/logout&#039;);?&gt;&amp;quot&gt;Sign Out&lt;/a&gt;&lt;/li&gt;
              &lt;/ul&gt;
            &lt;/div&gt;&lt;!--/.nav-collapse --&gt;
          &lt;/div&gt;&lt;!--/.container-fluid --&gt;
        &lt;/nav&gt;
 
        &lt;div class=&amp;quotjumbotron&amp;quot&gt;
          &lt;h1&gt;Welcome Back &lt;?php echo $this-&gt;session-&gt;userdata(&#039;username&#039;);?&gt;&lt;/h1&gt;
        &lt;/div&gt;
 
      &lt;/div&gt;
    &lt;/div&gt;
 
    &lt;script src=&amp;quot&lt;?php echo base_url(&#039;assets/js/bootstrap.min.js&#039;);?&gt;&amp;quot&gt;
  &lt;/body&gt;
&lt;/html&gt;قدم ۸ − تنظیم کردن کنترلر پیشفرض در فریمورک کدایگنایتردر این پروژه قصد داریم کنترلر login را بعنوان کنترلر پیشفرض پروژه ی خود انتخاب کنیم که هنگام ورود به سایت ابتدا فرم لاگین نمایش داده شود.برای تنظیم کردن کنترلر پیشفرض در فریمورک codeigniter به تنظیمات آن در مسیر application/config/routes.php مراجعه کنید. مسیر این فایل در تصویر زیر نیز نشان داده شده است:آموزش فریمورک کدایگنایتردر این فایل دنبال کدهای زیر بگردید و پیدا کنید :$route[&#039;default_controller&#039;] = &#039;welcome&#039;;
$route[&#039;404_override&#039;] = &#039;&#039;;
$route[&#039;translate_uri_dashes&#039;] = FALSE;و آنها را بصورت زیر تغییر دهید :$route[&#039;default_controller&#039;] = &#039;login&#039;;
$route[&#039;404_override&#039;] = &#039;&#039;;
$route[&#039;translate_uri_dashes&#039;] = FALSE;قدم ۹ − مرحله ی نهاییبرای تست کردن پروژه ی ورود با کدایگنایتر به آدرس زیر مراجعه کنید ‌:http://localhost/login/و پس از باز کردن آدرس بالا توسط مرورگر باید با تصویر زیر مواجه شوید :آموزش ساخت فرم ورود با کدایگنایترابتدا برای تست کردن پروژه عمل لاگین را با ایمیل نشان داده شده در تصویر زیر و با پسورد 123456 تست میکنیم :‌سیستم ثبت نام ورود در فریمورک کدایگنایترخب طبق تصویر می بینید که بعد از لاگین کردن منو های وب سایت را مشاهده میکنید و دسترسی به آنها دارید:آموزش فریمورک کدایگنایتردر نهایت ما سعی میکنیم یکبار دیگر با ایمیل email3@gmail.com  و پسورد 123456 وارد شویم تا ببینیم که سطح دسترسی های این کاربر به چه شکل استآموزش فریمورک کدایگنایترتبریک ‌! اگر تا اینجا به درستی انجام دادید شما تونستید با استفاده از فریمورک کدایگنایتر سیستم ورود چندگانه را پیاده سازی کنید.برای یادگیری کامل فریمورک کدایگنایتر بصورت پروژه محور شما میتوانید از دوره ی آموزش ساخت دیوار و دوره ی آموزش ساخت کافه بازار بصورت پروژه محور با استفاده از کدایگنایتر را تهیه کنید و این دوره های کامل را طی کنید.منبع : وب سایت آموزشی آواسام</description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Sat, 18 Jul 2020 17:56:52 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش کدایگنایتر ( سری اول )</title>
                <link>https://virgool.io/@afsane.khosravi/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AF%D8%A7%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D8%AA%D8%B1-%D8%B3%D8%B1%DB%8C-%D8%A7%D9%88%D9%84-rqgjhiwrdrmp</link>
                <description>کدایگنایتر چیست و در ادامه آموزش کدایگنایترآموزش فریمورک کدایگنایتر ( codeigniter )در این پست قصد داریم به معرفی کلی فریمورک کدایگنایتر بپردازیم و ببینیم که چرا باید از این فریمورک برای توسعه ی وب استفاده کنیم موقع نگارش این متن سال ۲۰۲۰ میلادی هست و مطمئن باشید همین الان که این مقاله نوشته میشود فریمورک های زیادی برای پی اچ پی از جمله لاراول در اندازه ی بسیار زیادی از فریمورک کدایگنایتر معروف شده اند ولی چرا باید یک توسعه دهنده ی وب با کدایگنایتر کار بکنه ؟ این سوالیه که در این مقاله به آن پاسخ خواهیم داد.سالها قبلتر از زمانی که لاراول بعنوان محبوب ترین فریمورک توسعه ی وب شناخته شود کدایگنایتر بعنوان محبوب ترین فریمورک توسعه ی وب با زبان برنامه نویسی پی اچ پی بود.کدایگنایتر یک فریمورک برای زبان برنامه نویسی php میباشد که به دلیل سبک بودن و در عین حال قوی بودن معروف است. بسیاری از وب سایت های دنیا با فریمورک کدایگنایتر در حال اجرا هستند و یکی از نیاز های آموزش فریمورک کدایگنایتر آشنایی با زبان برنامه نویسی پی اچ پی است چون این فریمورک تماما با زبان پی اچ پی نوشته شده است.با استفاده از کدایگنایتر شما میتوایند وب سایت های منعطف و زیبایی برای توسعه ی وب بسازید از جمله فروشگاه های اینترنتی ، مارکت های موبایل ، فروشگاه فایل ، نوبت دهی آنلاین ، فروش بلیط و ... .آموزش دانلود و نصب کدایگنایتر ( codeigniter )برای دانلود و نصب کردن فریمورک کدایگنایتر (codeigniter) بصورت کاملا رایگان باید به وب سایت اصلی آن مراجعه کنید که میتوانید نسخه های مختلفی از این فریمورک را در سایت اصلی اش پیدا کنید.سایت اصلی فریمورک کدایگنایتر = codeigniter.comبعد از باز کردن سایت اصلی کدایگنایتر با تصویری مشابه زیر روبرو میشوید که میتوانید با کلیک روی گزینه ی Download آخرین نسخه ی پایدار این فریمورک را دانلود کنید که هم اکنون نسخه ی  v4.0.3 میباشد.آموزش کدایگنایتر ( codeigniter )بعد از کلیک کردن روی گزینه ی Download فایلی در حدود چندمگابایت برای شما دانلود میشود که نسبت به دیگر فریمورک های زبان برنامه نویسی php بسیار کم حجم است.برای نصب کردن فریمورک codeigniter کافی است فایل های دانلود شده را در مسیر سرور یا هاست یا سرور مجازی کامپیوتر خود از حالت فشرده خارج کنید و سپس وارد پوشه ی آن شوید مثلا اگر نام پوشه ci هست اگر در مرورگر localhost/ci را تایپ کنید تصویری مشابه تصویر زیر که نمایشگر صفحه ی خوش آمد گویی فریمورک کدایگنایتر است به شما نمایش داده خواهد شد.آموزش کدایگنایتر ( codeigniter )کدنویسی با فریمورک کدایگنایتر چطور است ؟برخلاف دیگر فریمورک های زبان برنامه نویسی php که از سینتکس های عجیب و غریب و من درآوردی استفاده میکنند تنها فریمورکی که کدنویسی ان ساده و یادگیری آن راحت است فریمورک کدایگنایتر میباشد.فریمورک کدایگنایتر به همراه کتابخانه های کمکی و helper های اضافی که دارد عمل توسعه را بسیار راحت تر میکند و بسیاری از کارها که باید مدت های زیادی برای کدنویسی انها زمان صرف میشود دیگر نیاز نیست دوباره نویسی شود.مثلا اگر یک فرمی دارید که میخواهید از نظر امنیتی و اعتبار سنجی آنرا بررسی کنید کدایگنایتر کلاس های آماده ای برای این کار دارد.یا اگر دوست دارید ارسال ایمیل انجام دهید و یا کارهای بیشتر دیگری که پرکاربرد هست در درون فریمورک کدایگنایتر بعنوان کتابخانه ها یا helper های از پیش کدنویسی شده وجود دارد.همچنین یکی از قابلیت های عالی فریمورک کدایگنایتر قابلیت گسترش تمام قسمت های آن بدون دخل و تصرف در اصل هسته ی فریمورک است مثلا شما میتوانید کتابخانه های از پیش نوشته شده ی کدایگنایتر را ارث بری کنید و موارد جدیدی به آنها اضافه کنید بدون اینکه به آنها لطمه ای وارد کنید یا میتوانید کتابخانه های جدیدی را بسازید که اصلا از قبل وجود نداشته است این مورد برای موارد غیر از کتابخانه ها هم صدق میکند.خلاصه که کدایگنایتر پر است از کتابخانه های پرکاربرد که به درد هر برنامه نویس وب میخورد و کار توسعه را سریعتر و راحت تر میکند.آموزش کدایگنایتر ( codeigniter )آموزش فریمورک کدایگنایتر به زبان فارسیمعمولا وجود یک آموزش خوب برای هر چیزی که میخواهید شروع کنید باعث سریعتر شدن فرآیند یادگیری آن میشود.آموزش فریمورک کدایگنایتر ( codeigniter ) سال های زیادی مورد نظر تیم آموزشی آواسام بوده است و جناب مهندس نیکزاد با آموزش های فارسی فوق العاده ای که تهیه کرده اند هزاران شاگرد جذب کرده و با دوره های پروژه محور کدایگنایتر توانسته اند که مفهوم اصلی این فریمورک را منتقل کنند.متن بالا بازنشر یک مقاله از سایت آموزشی آواسام است. منبع متن زیر توسط خودم اضافه شده است.من دو آموزش پروژه محور برای فریمورک کدایگنایتر از وب سایت آموزشی avasam تهیه کردم که یکی برای ساخت وب سایت دیوار توسط کدایگنایتر و اتصال آن به یه اپلیکیشن مشابه دیوار بود که کامل تدریس میکردند.دومین آموزش برای ساختن مارکت اندرویدی مشابه کافه بازار بود که در این دوره هم علاوه بر آموزش پروژه محور کدایگنایتر به اتصال اپلیکیشن کدنویسی شده به زبان جاوا به کدایگنایتر پرداختند و این هم فوق العاده بود.به جرات میتونم بگم دوره های ایشان و سایت ایشان عالی ترین سایت در زمینه ی کدایگنایتر هست که من رو راهنمایی کردن. </description>
                <category>افسانه</category>
                <author>افسانه</author>
                <pubDate>Sat, 11 Jul 2020 05:02:35 +0430</pubDate>
            </item>
            </channel>
</rss>