PDA

View Full Version : مجموعه آموزش عملی codeigniter از مبتدی تا پیشرفته+تکنیکهای ساخت cms



مهرداد سیف زاده
پنج شنبه 10 مهر 1393, 19:08 عصر
سلام بر تمام برنامه نویسان علاقه مند به یادگیری codeigniter
بعد از مدتها این فرصت برایم مهیا شد تا با آماده کردن یک مجموعه عملی codeigniter در خدمت شما باشم.
این مجموعه برای برنامه نویسانی تهیه شده که قصد دارند از برنامه نویسی با php بصورت خالص(pure php) به سمت استفاده از فریم ورک ها بروند. codeigniter یکی از بهترین فریم ورک های یادگیری سریع است. در واقع اگر فریم ورک های دیگر را تست کرده اید و راهنمای آنها برای شما گنگ و نا مفهوم بوده اند، codeigniter را بسیار زیبا و سریع و خوش دست خواهید یافت.
در این مجموعه ویدیویی سعی شده تا علاوه بر آموزش خود فریم ورک یک سری تکنیکها و توضیحات تکمیلی نیز ارائه شود. مثلا در جلسه سوم طرح طراحی دیتابیس یک cms ریخته میشود و بعد برای پیشرفته تر شدن آموزش relation database با توضیحات کامل و نمونه مثال آورده شده است. یا در قسمت captcha نحوه لود captcha بصورت ajax توضیح داده شده است.
البته این مجموعه شامل تمام ریز نکات codeigniter نمی شود(هر چند در ابتدا تلاشم بر آن بود لاکن زمان یاری نکرد) ولی در طی ۲۵ فیلم آموزشی که هر کدام بین ۱۰ تا ۲۵ دقیقه متغیر هستند به آموزش نکات اصلی مثل کار با دیتابیس، email، encryption، pagination و حتی در موارد پیشرفته تر نحوه استفاده از کلاس template جانبی برای ایجاد master page پرداخته شده است.
البته نمیتوان جلسه ۲۵ را پایان این مجموعه دانست چون در اولین فرصت میخواهم درباره grid view و نحوه نصب یک نمونه از بهترین های ان برای علاقه مندان بپردازم.
بیشترین دلیل و انگیزه برای ساخت این ویدیوی آموزشی تقاضای دوستانی بود که بصورت ایمیل یا تلفنی راهنمایی برای یاد گرفتن فریم ورک میکردند. لذا من هم به این دوستان پیشنهاد میدادم فقط به سمت codeigniter بروند و خوب یاد بگیرند. اما در همان روز یا چند روز دیگر مجددا با من تماس گرفته و تقاضای معرفی یک راهنمای سریع یا فیلم آموزشی را داشتند. لذا من هم مجموعه لینکی را برای این دوستان ارسال میکردم. همیشه یکی از دغدغه هایم بود چرا از دانسته های اندک خودم جهت تهیه یک فیلم آموزشی برای انتشار در سایت برنامه نویس بهره نبرم. تا هم کار خیری کرده باشیم(ذکات علم) و هم دوستان جدیدی که تمایل به یادگیری دارند از آن استفاده کنن. ولی این اول داستان بود و حتی تهیه این مجموعه به ۲ماه هم طول کشید(کاری که پیش خودم گفتم یک هفته ای جمعش میکنم).
بعد از انتشار این ویدوی آموزشی آقای امیر فتحی (http://barnamenevis.org/member.php?361161-amiralifk-yahoo-com) بر طبق فیلمهای آموزشی جزوه مفیدی تهیه کردند. چنانچه بعضی قسمتهای فیلم آموزشی برای شما نا مفهوم بود میتوانید به جزوه آموزشی مراجعه کنید و جزئیات را در آنجا مطالعه کنید(لینک دانلود فایل pdf در انتهای همین پست).
در کل خوشحالم که این فرصت را یافتم تا در خدمت شما دوستان باشم. سخن کوتاه میکنم تا به معرفی هر کدام از قسمتهای فیلم آموزشی بپردازم.




آموزش MVC و معرفی codeigniter (https://www.dropbox.com/s/risbdxg7jn8vug0/codeigniter_1.mkv?dl=0)
در اولین قسمت به توضیحات کوتاهی درباره MVC و codeigniter‌پرداخته شده است. همچنین در این قسمت ایده دوستانی که طرفدار استفاده از pure php و فریم ورک هستند با هم مقایسه شده و توضیحات و دلایلی برای استفاده از فریم ورک آورده شده است.
نصب و یک مثال کوچک از نحوه استفاده (https://www.dropbox.com/s/bab6j3ib53t9qsn/codeigniter_2.mkv?dl=0)
در این قسمت به دانلود و نصب codeigniter پرداخته شده است. و همچنین بعد از نصب توضیحات کوتاه درباره کانفیگ ها پرداخته شده. در آخر یک نمونه controller ساده ساخته شده تا با روش کار MVCدر codeigniter آشنا شوید.
طراحی دیتابیس و آموزش relation database (https://www.dropbox.com/s/rdtopy2ng2aj6qp/codeigniter_3.mkv?dl=0)
به آموزش طراحی یک cms ساده میپردازد و همچنین نحوه استفاده از relation و همچنین این که چطور با دیتابیس را طراحی کنید که در طول مدت طراحی سایت خود کمترین فشار به شما وارد آید و تغییرات را در کمترین زمان اعمال کنید
کانفیگ codeigniter برای اتصال به دیتابیس از طریق pdo (https://www.dropbox.com/s/r4ba9qi1e1oc3xg/codeigniter_4.mkv?dl=0)
توصیه من به تمام برنامه نویسانی که چه از طریق pure php‌کد مینویسند و چه از طریق فریم ورک ها استفاده از pdo است. لذا در این جلسه به کانفیگ و اتصال codeigniter به pdo پرداخته شده است.
کار با مدل و ساخت اولین نمونه از مدل برای جدول post (https://www.dropbox.com/s/xns95fw189wiyy2/codeigniter_5.mkv?dl=0)
در این جلسه یک نمونه ساده و نحوه active record در codeigniter پرداخته شده است.
ساخت master page به کمک نصب یک کلاس template‌و نحوه کانفیگ آن (https://www.dropbox.com/s/zla7ltrm7t15d7a/codeigniter_6.mkv?dl=0)
codeigniter بصورت پیشفرض master page‌ندارد. لذا عده ای با قرار دادن header , footer در تمام صفحات اقدام به ساخت master page‌میکنند. همچنین عده ای از برنامه نویسان برای codeigniter نمونه های مختلف از master page را نوشته اند که با تست بیشتر آنها بهترین نمونه را برای این مجموعه بکار گرفتم.
جدا کردن بخش admin‌و web و اتصال آنها به یک system مرکزی (https://www.dropbox.com/s/bcu2rsry2ae9q8t/codeigniter_7.mkv?dl=0)
در واقع با این تکنیک شما دو نمونه مختلف از پروژه خود خواهید داشت . در بیشتر پروژه ها نیاز به پنل admin و بخش عمومی که همان صفحات سایت است می باشد. لذا در این قسمت سعی شده تا این دو قسمت پروژه از هم جدا شده و به یک پوشه system مرکزی متصل شوند.
استفاده از فرم های codeigniter و ساخت یک فرم لاگین (https://www.dropbox.com/s/ee84ea0tywq5n5i/codeigniter_8.mkv?dl=0)
در این مجموعه به نحوه استفاده از helper فرم و همچنین طراحی یک نمونه صفحه لاگین برای ورود به سایت پرداخته شده است. همچنین نحوه گرفتن داده در قسمت controller‌نیز پرداخته شده است.
دریافت داده صحیح از فریم ها(validation) و نمایش خطای داده اشتباه بصورت خودکار (https://www.dropbox.com/s/7hhygfoodl8c15j/codeigniter_9.mkv?dl=0)
یکی از اصول امنیت گرفتن داده معتبر از کاربر است. مثلا کاربر در پر کردن ایمیل حتما باید یک ایمیل استاندارد پر کند. همچنین شما نباید خودتان را درگیر validation و نوشتن توابعی برای چک کردن ایمیل کنید. همچنین نمایش خطا در صورت اشتباه پر کردن یک مقدار را بگذارید به عهده codeigniter.
تکمیل بخش لاگین - چک کردن کاربر برای وجود در دیتابیس و اقدامات بعدی (https://www.dropbox.com/s/td7rk0gkqat66t3/codeigniter_10.mkv?dl=0)
برای وجود کاربر درون دیتابیس میتوان روشهای زیادی انجام داد مثلا count کرد یا بررسی کرد کاربری با این نام کاربری و رمز عبور درون دیتابیس وجود دارد یا نه. در این جلسه به بررسی وجود کاربر و نوشتن یک مدل لاگین میپردازد.
استفاده از session (https://www.dropbox.com/s/0c6epqw98tl5nyg/codeigniter_11.mkv?dl=0)
در این قسمت بعد از بررسی درست بودن نام کاربری و رمز عبور برای این که کاربر بتواند درون پنل ادمین گردش کند از session‌ بهره گرفته میشود.
استفاده از cookie و کانفیگ آن (https://www.dropbox.com/s/34mozws671obu2w/codeigniter_12.mkv?dl=0)
در کنار session به معرفی و نحوه تایین اعتبار از طریق کوکی پرداخته شده است.
استفاده از کلاس encryption (https://www.dropbox.com/s/y9mj7d2geukem1r/codeigniter_13.mkv?dl=0)
داده هایی را که در cookie‌و session قرار داده اید نیاز به امنیت بیشتر دارند. در این قسمت به کانفیگ و معرفی کلاس رمزنگاری codigniter پرداخته شده است.
ساخت My_Controller (https://www.dropbox.com/s/qynbdj2rnpxu5mz/codeigniter_14.mkv?dl=0)
بعضی کارهای قرار است بصورت خودکار در تمام صفحات تکرار شود. مثلا چک کردن وضعیت لاگین کاربر admin. با ساخت یک My_Controller که از کلاس CI_Controller مشتق شده میتوانید تمام این موارد خودکار را به codeigniter واگذار کنید.
سپردن موارد تکراری به My_Controller (https://www.dropbox.com/s/yorvjzmbgwajcn8/codeigniter_15.mkv?dl=0)
هدف My_Controller اجرای خودکار کارهای تکراری بود. لذا در این قسمت به نحوه سپردن وضعیت لاگین به My_Controller پرداخته میشود.
اضافه کردن یک پست جدید به درون جدول post - طراحی فرم و گرفتن مقدار (https://www.dropbox.com/s/g50mrxc27sy6a0f/codeigniter_16.mkv?dl=0)
البته هدف صرفا طراحی فرم و ریختن مقدارهای درون جدول post نبوده. بلکه اگر فیلم قسمت سوم را دیده باشید به ارتباط جدول post با کاربر و category پی برده اید. لذا این جلسه و جلسه بعدی به این آموزش این موارد میپردازد.
اضافه کردن یک پست جدید به درون جدول post - ارتباط ها (https://www.dropbox.com/s/xnx99m9x06hk780/codeigniter_17.mkv?dl=0)
برای اضافه کردن یک post جدید باید category آنرا انتخاب کنید و از لحاظ طراحی استاندارد یک cms یک post میتواند به چنیدن category تعلق داشته باشد.
کمی کنکاش و چالش (https://www.dropbox.com/s/vqe1s3y3393rhpx/codeigniter_18.mkv?dl=0)
در این جلسه به بررسی نحوه کوئیری در wordpress‌میپردازد و همچنین طرح اولیه نحوه گرفتن داده برای نشان داده پستها.
کوئیری بهینه تر (https://www.dropbox.com/s/vw45za7iuctlbae/codeigniter_19.mkv?dl=0)
اگر شما هم مثل من در طراحی یک مکانیسم و کوئری بهینه تر وسواس دارید حتما این قسمت را نیز ببینید. البته کلیاتش همان جلسه قبلی است ولی سعی در بهینه سازی برداشت داده از دیتابیس دارد.
نشان دادن داده های استخراج شده (https://www.dropbox.com/s/uh5vuufvd6sg433/codeigniter_20.mkv?dl=0)
داده های واکشی شده از دیتابیس در دو جلسه قبلی در این جلسه به کاربر نشان داده میشود.
ویرایش داده های ذخیره شده (https://www.dropbox.com/s/406zx4ssdxn8ner/codeigniter_21.mkv?dl=0)
چالش جلسه ۱۶ و ۱۷ این بود که باید category ها به کاربر نشان داده میشد و بسته به انتخاب کاربر(تیک زدن موارد) درون دیتابیس ارتباطی بین آن پست و category‌هایی که عضو آن بوده برقرار میشد. اما در این جلسه به غیر لود تمام موارد آن موارد باید بیابید که این پست جرو کدام category بوده(چک باکس از قبل تیک خرده) و حالا شاید کاربر بخواهد category آنرا عوض کند.
راه اندازی Captcha (https://www.dropbox.com/s/3ao3brtxxzrrrqo/codeigniter_22.mkv?dl=0)
codeigniter چنین امکانی دارد. البته کامل نیست و نیاز به کمی دستکاری شما دارد. البته در این جلسه به نحوه لود captcha از طریق ajax پرداخته شده است.
آپلود فایل (https://www.dropbox.com/s/vkut8h0wh7i1i7p/codeigniter_23.mkv?dl=0)
codeigniter امکانات خوب و سریعی برای آپلود فایل دارد.
pagination (https://www.dropbox.com/s/mpqvy2w2tkbkhc9/codeigniter_24.mkv?dl=0)
داده های زیاد باید صفحه بندی شوند. شما که نیخواهید در صفحه اول سایتت تان یکدفعه ۲۰۰ تا پست به کاربر نشان دهید. همچنین کاربر باید آزاد باشد براحتی پست های قدیمی شما را نیز ببیند.
ارسال ایمیل (https://www.dropbox.com/s/92dl03h6eypy6b5/codeigniter_25.mkv?dl=0)
در این جلسه به نحوه طراحی یک contact form میپردازد.
جزوه آموزشی codeigniter منطبق با فیلمهای آموزشی(نوشته امیر فتحی) (https://www.dropbox.com/s/076n3xulunsp1ga/codeigniter.pdf?dl=0)


همچنین این مجموعه آموزشی در سایت مکتب‌خونه قرار گرفت. با تشکر از دوستان سایت مکتب‌خونه.
دانلود مستقیم از مکتب‌خونه
(http://maktabkhooneh.org/course?course=seifzadeh207)
با تشکر از سایت p30download.com. میتوانید از p30download هم دانلود کنید
دانلود آموزشی کدایگنایتر به زبان فارسی (http://p30download.com/fa/entry/57072/)

فایلهای همراه:
۱- کلاس pdo ویرایش شده (https://www.dropbox.com/s/154vo9a677v4ggf/pdo_driver.zip?dl=0)
۲- کلاس Template (https://www.dropbox.com/s/s7derfvks6dhx08/Template.php?dl=0)
۳- تمپلیت نمونه (https://www.dropbox.com/s/wx4w5lakha6lmq0/ci_them.zip?dl=0)

دوستانی که با دانلود از dropbox مشکل دارن میتونند از یکی از سرویسهای زیر دانلود کنن

mediafire (https://www.mediafire.com/folder/s42331ssrf33u/codeigniter)
box.com (https://app.box.com/s/f431ywquikay6kunwtd2)
copy.com (https://copy.com/SXdZL7zwyHrx77xu)
google drive (https://drive.google.com/folderview?id=0B5b7mkTopjmRbmxORmVCRERfZWc&usp=sharing)
onedrive (https://onedrive.live.com/redir?resid=AE6D001447E1A72%21163)
yandex.com (https://yadi.sk/d/k3o1fZh0bwgiC)

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

pary_daryayi
پنج شنبه 10 مهر 1393, 20:04 عصر
خسته نباشید ، مواردی که میخواید بگید خیلی خوبه ،
مخصوصا ساخت my_controller .

ساخت my_model هم اگه بزارید کامل میشه ، به این شکل که یک my_model میسازیم و تمام مدل های دیگه از اون ارث میبرند ،
اینطور نیازی نیست دیگه برای هر تیبل crud جدا بنویسیم .
شماره ی 6 هم برام جالبه باید ببینم .
ولی من یک متد _out در همون my_controller میسازم و در کنترلرها فراخوانی میکنم که یه جورایی کار master page رو برام انجام میده .

مهرداد سیف زاده
شنبه 12 مهر 1393, 07:44 صبح
ممنون از نظرتون
البته ارث بری کردن my_model هم مانند همون my_controller هست. دوستانی که قسمت My_controller رو یاد بگیرن میتونند همین کار رو برای model هم انجام بدن.
برای master page روش شما هم خوبه اگر امکان داشت و وقتش رو داشتید بصورت فیلم یا در حد توضیحات کوتاه دوستان دیگر رو هم راهنمایی کنید.

همچنین تمام فایلهای آپلود شد و میتونید دانلود کنید.

خسته نباشید ، مواردی که میخواید بگید خیلی خوبه ،
مخصوصا ساخت my_controller .

ساخت my_model هم اگه بزارید کامل میشه ، به این شکل که یک my_model میسازیم و تمام مدل های دیگه از اون ارث میبرند ،
اینطور نیازی نیست دیگه برای هر تیبل crud جدا بنویسیم .
شماره ی 6 هم برام جالبه باید ببینم .
ولی من یک متد _out در همون my_controller میسازم و در کنترلرها فراخوانی میکنم که یه جورایی کار master page رو برام انجام میده .

meysam1366
شنبه 12 مهر 1393, 12:16 عصر
سلام آقا مهرداد

ممنون از زحمتی که کشیدید لطفا جای دیگه ای آپلود که که قابلیت resume رو داشته باشه

یه سوال هم دارم و اون اینکه شی گرایی رو خیلی خوب از کجا میشه یاد گرفت البته من شی گرایی بلدم ولی میخوام بیشتر مسلط بشم؟

erfannorouzi
یک شنبه 13 مهر 1393, 13:17 عصر
خیلی ممنو از زحماتتون ولی اگه امکانش هست فیلم هارو در جای دیگری آپلود کنین تا راحت قابل دانلود باشد تشکر

z_b624
دوشنبه 14 مهر 1393, 21:45 عصر
سلام، ميخواستم بابت آموزش خوبتون تشكر كنم ،
فقط اگه ميشه فالبي كه استفاده كرديد رو هم واسه دانلود بزاريد تا ما بتونيم با آموزش شما پيش بريم.
ممنون

مهرداد سیف زاده
سه شنبه 15 مهر 1393, 07:56 صبح
ممنون از نظرات دوستان
فایل تمپلیت قرار گرفت

سلام، ميخواستم بابت آموزش خوبتون تشكر كنم ،
فقط اگه ميشه فالبي كه استفاده كرديد رو هم واسه دانلود بزاريد تا ما بتونيم با آموزش شما پيش بريم.
ممنون

amiragha2
جمعه 18 مهر 1393, 00:39 صبح
ممنون از شما ، فقط اینکه باید سوالاتمون رو در این زمینه ، داخل همین تاپیک بپرسیم؟
بعنوان مثال من دیتابیس کالکشن رو روی utf8_persian_ci و تویه کانفیگ هم همین رو مشخص کردم و بصورت pdo وصل شدم اما بازم اطلاعات فارسی بصورت علامت سوال میاد

مهرداد سیف زاده
جمعه 18 مهر 1393, 08:05 صبح
ممنون از شما ،
ممنون از نظر شما
در مورد دیتابیس در زمان ساخت نوع cllation رو روی utf-8 که حالا میتونه bin یا persian_ci هم باشه. این کار باعث میشه داده ها بصورت encoding در دیتابیس ذخیره بشه. یعنی اگر مستقیما توسط mysql یا نر افزار phpmyadmin داده insert کنید بصورت encoding ذخیره و نشون داده میشه(یعنی حروف فارسی بصورت علامت ? در نمیاد)
در زمان اتصال به دیتابیس درایور مورد نظر حالا چه pdo یا mysqli یا هر درایور دیگری از شما نوع داده در حال رد و بدل شدن رو میگیره. درسته که دیتابیس شما utf-8 بوده ولی اگر درایور روی utf-8 تنظیم نشه داده های رد و بدل شده با دیتابیس دچار تغییرات میشه و امکان داره که بصورت ? نشون داده بشه.
پس با این حساب در زمان اتصال هم باید درایور مورد نظر رو روی utf-8 تنظیم کنیم. که در codeigniter درون فایل کانفیگ دیتابیس(پوشه config فایل database.php) بصورت پیشفرض بر روی utf-8 گذاشته شده.


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

amiragha2
جمعه 18 مهر 1393, 09:01 صبح
ممنون از نظر شما
در مورد دیتابیس در زمان ساخت نوع cllation رو روی utf-8 که حالا میتونه bin یا persian_ci هم باشه. این کار باعث میشه داده ها بصورت encoding در دیتابیس ذخیره بشه. یعنی اگر مستقیما توسط mysql یا نر افزار phpmyadmin داده insert کنید بصورت encoding ذخیره و نشون داده میشه(یعنی حروف فارسی بصورت علامت ? در نمیاد)
در زمان اتصال به دیتابیس درایور مورد نظر حالا چه pdo یا mysqli یا هر درایور دیگری از شما نوع داده در حال رد و بدل شدن رو میگیره. درسته که دیتابیس شما utf-8 بوده ولی اگر درایور روی utf-8 تنظیم نشه داده های رد و بدل شده با دیتابیس دچار تغییرات میشه و امکان داره که بصورت ? نشون داده بشه.
پس با این حساب در زمان اتصال هم باید درایور مورد نظر رو روی utf-8 تنظیم کنیم. که در codeigniter درون فایل کانفیگ دیتابیس(پوشه config فایل database.php) بصورت پیشفرض بر روی utf-8 گذاشته شده.
.
بسیار بسیار ممنون
من الان دقیقا همین کار رو کردم.
کالکشن دیتابیس رو موقع ساختن
utf8_persian_ci مشخص کردم و تویه
database.php
کانفیگ هم مشخص کردم که utf8_persian_ci باشه و باز هم اطلاعات بصورت علامت سوال نشون داده می شه. حتی اومدم و یه بار دیگه یه دیتابیس utf8_general_ci ساختم باز هم همین مشکل بود. الان با utf8_bin هم این کارو کردم بازم همون نتیجه بود.

احیانا تنظیمات دیگه ای نباید انمجام بشه؟ مثلا تویه فایل config زبان فارسی مشخص بشه ؟
حتی من در Php.ini هم default_charset =UTF-8 کردم (اما باز هم نشد)
روی هاست هم بردم باز هم همین مشکل وجود داره.
پروژه ام رو هم آپلود کردم : http://www.uploadscenter.com/uhwbs5k9vj2k

صفحه ای که در اون مشکل دارم:
http://localhost/index.php/post

meysam1366
جمعه 18 مهر 1393, 11:03 صبح
بسیار بسیار ممنون
من الان دقیقا همین کار رو کردم.
کالکشن دیتابیس رو موقع ساختن
utf8_persian_ci مشخص کردم و تویه
database.php
کانفیگ هم مشخص کردم که utf8_persian_ci باشه و باز هم اطلاعات بصورت علامت سوال نشون داده می شه. حتی اومدم و یه بار دیگه یه دیتابیس utf8_general_ci ساختم باز هم همین مشکل بود. الان با utf8_bin هم این کارو کردم بازم همون نتیجه بود.

احیانا تنظیمات دیگه ای نباید انمجام بشه؟ مثلا تویه فایل config زبان فارسی مشخص بشه ؟
حتی من در Php.ini هم default_charset =UTF-8 کردم (اما باز هم نشد)
روی هاست هم بردم باز هم همین مشکل وجود داره.
پروژه ام رو هم آپلود کردم : http://www.uploadscenter.com/uhwbs5k9vj2k

صفحه ای که در اون مشکل دارم:
http://localhost/index.php/post

سلام دوست عزیز

شما توی اتصال PDO هم utf-8 رو ست می کنید یا نه؟

چون باید ست کنید تا مشکل برطرف بشه

z_b624
جمعه 18 مهر 1393, 11:39 صبح
سلام منم توي پروژه هاي قبليم اين مشكل رو داشتم
اين كد ها رو نوشتم درست شد.
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");

mysql_query('SET CHARACTER SET utf8');
mysql_query('SET NAMES utf8');

z_b624
جمعه 18 مهر 1393, 12:02 عصر
ببخشيد اين آموزش jquery كه تو فيلم ها ازش صحبت كرديد رو از كجا بايد دانلود كنيم؟

amiragha2
جمعه 18 مهر 1393, 12:14 عصر
سلام دوست عزیز

شما توی اتصال PDO هم utf-8 رو ست می کنید یا نه؟

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



function getAllPost(){
return $this->db->get('post');
}

تویه model دیتابیسم رو فراخونی کردم و با این دستور تویه ویوو دارم آرایه رو می خونم:


$this->load->model('postmodel');
$posts=$this->postmodel->getAllPost()ک
print_r($posts);

meysam1366
جمعه 18 مهر 1393, 12:38 عصر
من دارم طبق آموزش ایشون جلو می رم و پارت ۶ هستم.
جایی گفته نشده چطور این کار رو انجام بدم فقط د اخل کانفیگ اعمال کردم، الان من فقط با این دستور :



function getAllPost(){
return $this->db->get('post');
}

تویه model دیتابیسم رو فراخونی کردم و با این دستور تویه ویوو دارم آرایه رو می خونم:


$this->load->model('postmodel');
$posts=$this->postmodel->getAllPost()ک
print_r($posts);


سلام

از این استفاده کن توی مدل توی اتصالت


$dsn = 'mysql:dbname=learning;host=localhost';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'utf8\'',
);
try {
$pdo = new PDO($dsn, 'root', '', $options);
}
catch(Exception $e) {
echo 'Connection failed: ' . $e->getMessage();
}

مهرداد سیف زاده
جمعه 18 مهر 1393, 12:52 عصر
ببخشيد اين آموزش jquery كه تو فيلم ها ازش صحبت كرديد رو از كجا بايد دانلود كنيم؟

برای دانلود میتونید به لینک زیر توی آپارات برید یا از dropbox دانلود کنید

http://www.aparat.com/v/nBJIo

https://www.dropbox.com/s/5tq2vklusf7ze77/1.AJAX.mkv?dl=0
https://www.dropbox.com/s/qyqjznhh4xy63gb/2.AJAX.mkv?dl=0
https://www.dropbox.com/s/w85ltwmhzv8r5it/3.AJAX.mkv?dl=0
https://www.dropbox.com/s/39arrmbfgdbperq/4.AJAX.mkv?dl=0
https://www.dropbox.com/s/n0idbeiorzlacef/5.AJAX.mkv?dl=0
https://www.dropbox.com/s/tpduarc4yxat9y0/6.AJAX.mkv?dl=0
https://www.dropbox.com/s/g2byv6q9xah9ish/code.zip?dl=0

مهرداد سیف زاده
جمعه 18 مهر 1393, 12:53 عصر
بسیار بسیار ممنون
من الان دقیقا همین کار رو کردم.


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

amiragha2
جمعه 18 مهر 1393, 12:55 عصر
سلام

از این استفاده کن توی مدل توی اتصالت


$dsn = 'mysql:dbname=learning;host=localhost';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'utf8\'',
);
try {
$pdo = new PDO($dsn, 'root', '', $options);
}
catch(Exception $e) {
echo 'Connection failed: ' . $e->getMessage();
}



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

amiragha2
جمعه 18 مهر 1393, 12:56 عصر
با توجه بر راهنمایی دوستان. مشکل هنوز پا بر جاست یا برطرف شد؟
خیر هنوز پا برجاست . من حتی پروژه رو هم آپلود کردم که مشاهده کنید. واقعا جاییش رو اشتباه انجام ندادم ولی باز هم مشکل هست. رویه php5.4 , ۵.۲ هم تست کردم.

مهرداد سیف زاده
جمعه 18 مهر 1393, 15:01 عصر
خیر هنوز پا برجاست.

دوستان مشکل دوستمون حل شد
راه حلش در لینک زیر هست که تیم توسعه ci اومدن و جواب دادن
https://ellislab.com/forums/viewthread/212311/

شما هم برای حل مشکل برید به مسیر زیرپ
systrem/database/pdo
و فایل
pdo_driver.php رو باز کنید و در خط 163 تکه کد زیر رو وارد کنید


$this->query( "SET NAMES ? COLLATE ?",array($charset, $collation));


یعنی متد db_set_charset باید بصورت زیر در بیاد


function db_set_charset($charset, $collation)
{
$this->query( "SET NAMES ? COLLATE ?",array($charset, $collation));
return TRUE;
}

meysam1366
جمعه 18 مهر 1393, 18:12 عصر
سلام آقا مهرداد

نمیشه لینکها رو جای دیگه آپلود کنید بشه استفاده کرد؟

مهرداد سیف زاده
جمعه 18 مهر 1393, 19:03 عصر
سلام آقا مهرداد

نمیشه لینکها رو جای دیگه آپلود کنید بشه استفاده کرد؟

واقعا با دانلود مشکل دارید؟
با این حساب باید سعی کنم امشب جای دیگه هم آپلودش کنم.
شما جای خوبی میشناسید من فکر میکنم mediafire هم خوب باشه

meysam1366
جمعه 18 مهر 1393, 21:46 عصر
واقعا با دانلود مشکل دارید؟
با این حساب باید سعی کنم امشب جای دیگه هم آپلودش کنم.
شما جای خوبی میشناسید من فکر میکنم mediafire هم خوب باشه

ممنون آقا مهرداد

مشکل من اینه که قابلیت resume رو نداره و سرعتش هم پایینه

مدیا فایر خوبه آپلود بوی هم هست

ببخشیدا

meysam1366
جمعه 18 مهر 1393, 22:45 عصر
راستی آقا مهرداد شما از ابونتو استفاده می کنید؟

اون استارت منو رو چه جوری نصب کردید اونی که استارت منوش شبیه ویندوز 7 هستش

اسمش چی بود؟

مهرداد سیف زاده
شنبه 19 مهر 1393, 08:03 صبح
راستی آقا مهرداد شما از ابونتو استفاده می کنید؟

اون استارت منو رو چه جوری نصب کردید اونی که استارت منوش شبیه ویندوز 7 هستش

اسمش چی بود؟

من xfce رو روی ubuntu نصب کردم. در واقع میشه همون xubuntu برای این که این رابط کاربری رو داشته باشید میتونید xubuntu رو دانلود و نصب کنید و یا بر روی ubuntu بیاید از طریق apt رابط xfce رو نصب کنید برای این کار هر کدوم از دو تا دستور زیر رو استفاده کنید درسته


sudo apt-get install xubuntu-desktop


sudo apt-get install xfce

meysam1366
شنبه 19 مهر 1393, 10:46 صبح
من xfce رو روی ubuntu نصب کردم. در واقع میشه همون xubuntu برای این که این رابط کاربری رو داشته باشید میتونید xubuntu رو دانلود و نصب کنید و یا بر روی ubuntu بیاید از طریق apt رابط xfce رو نصب کنید برای این کار هر کدوم از دو تا دستور زیر رو استفاده کنید درسته


sudo apt-get install xubuntu-desktop


sudo apt-get install xfce


سلام

ممنون آقا مهرداد

شما ویندوز هم نصب کردید یا فقط از لینوکس استفاده می کنید؟

آموزشی برای یادگیری خوب لینوکس سراغ دارید؟

مهرداد سیف زاده
شنبه 19 مهر 1393, 13:05 عصر
سلام

ممنون آقا مهرداد

شما ویندوز هم نصب کردید یا فقط از لینوکس استفاده می کنید؟

آموزشی برای یادگیری خوب لینوکس سراغ دارید؟

سیستم اصلی لینوکس هست ولی در کنارش یه ویندوز هم دارم البته توی ویندوز هم یک vm لینوکس دارم. یعنی بعضی کارها هست که توی لینوکس با vm ویندوزی نمیشه انجام داد که حتما باید برم و سیستم رو از طریق ویندوز بوت کنم(امان از نرم افزارها و سخت افزارهایی که همیشه ضعف وابستگی به os‌دارن). ولی در کل با سیستم لینوکسی راحت ترم و الان ۳سالی هست که تمام کارهام با لینوکس انجام میشه. البته بعضی اوقات هم دردسر میشه مثلا میخواستم مودم gprs برای لپ تاپم بخرم برده بودم تست کرده بودم که درایور برای لینوکس داره یا نه.
برای آموزش هم نصب کن و بعد دستورات پایه رو یاد بگیر و برو جلو. لینوکس ۹۹ درصد کاراش با shell و command انجام میشه. البته کتاب lpic-1 (http://www.amazon.com/LPIC-1-Linux-Professional-Institute-Certification/dp/1118495632)رو برای دوستانی که میخوان لینوکس رو شروع کنن به شدت توصیه میکنم.

meysam1366
شنبه 19 مهر 1393, 13:34 عصر
ممنون

ببخشید کار آپلود ویدئوها به کجا کشید؟

bagherok
شنبه 19 مهر 1393, 21:30 عصر
ممنون آقا مهرداد

مشکل من اینه که قابلیت resume رو نداره و سرعتش هم پایینه

مدیا فایر خوبه آپلود بوی هم هست

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

meysam1366
شنبه 19 مهر 1393, 21:52 عصر
ببخشیدا
یعنی الان شما منتظرید که جایی دیگه آپلود کنند
معلومه که با دانلود میونه خوبی ندارید
این آموزش با این لینک طلاست
پس زودتر دانلودش کنید و شروع کنید به دیدن
وقت طلاست

سلام دوست عزیز

به شما توصیه می کنم هیچ وقت زود قضاوت نکنید

من میونم با دانلود عالیه

و الان هم قسمت 10 رو دیدم و قسمت 11 رو هم دانلود کردم ولی هنوز ندیدم

قسمت 12 رو 2 بار گذاشتم دانلود و ارور داده و دارم برای بار سوم دانلود می کنم

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

موفق باشید

مهرداد سیف زاده
شنبه 19 مهر 1393, 23:01 عصر
دوستان بخاطر این که نتونستم بریم و جای مناسب دیگری آپلود کنم عذر میخوام.
الان بر روی mediafile-box.com-onedrive-copy.com و همچنین تا فردا بر روی سرورهای yandex هم قرار خواهد گرفت که دیگر دوستان محدودیت سرور و مشکل دانلود نداشته باشن.

meysam1366
شنبه 19 مهر 1393, 23:25 عصر
دوستان بخاطر این که نتونستم بریم و جای مناسب دیگری آپلود کنم عذر میخوام.
الان بر روی mediafile-box.com-onedrive-copy.com و همچنین تا فردا بر روی سرورهای yandex هم قرار خواهد گرفت که دیگر دوستان محدودیت سرور و مشکل دانلود نداشته باشن.

سلام آقا مهرداد عزیز

واقعا خیلی خوب آموزش میدید ازتون کمال تشکر رو دارم

دوست عزیز خواهشا خودتون رو اینهمه زحمت ندید فکر کنم همون آپلود بوی کافی باشه

خواهشا آموزش رو ادامه بدید ما که داریم لذت می بریم

ممنون

meysam1366
یک شنبه 20 مهر 1393, 12:54 عصر
سلام

ممنون آقا مهرداد

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

به دوستان دیگه توصیه می کنم حتما و حتما این فیلمهای آموزشی رو که خیلی عالی توضیح داده شده رو دانلود کنن

من که دارم لذت می برم آقا مهرداد خدا خیرت بده

z_b624
دوشنبه 21 مهر 1393, 11:29 صبح
سلام آموزش هاتون واقعا عاليه خواهش ميكنم ادامه بديد
و اگه ميشه مواردي مثل cache,htaccessو امنيت و استفاده از سطوح دسترسي رو هم توضيح بديد

dddd10
دوشنبه 21 مهر 1393, 12:44 عصر
سلام. میشه گزینه فراموشی پسورد هم اضافه کنید؟

مهرداد سیف زاده
دوشنبه 21 مهر 1393, 12:51 عصر
سلام. میشه گزینه فراموشی پسورد هم اضافه کنید؟
یادآوری رمز عبور میتونه به کمک جلسه آموزش ایمیل درست بشه. به این صورت که کاربر درخواست یادآوری میده و شما در یک فرمی ازش آدرس ایمیل می گیرید و اگر اون ایمیل در سایت موجود بود یک کلمه عبور جدید برای ایمیلش ارسال می کنید. البته حالت پیشرفته هم این که یک رشته hash می سازید و توی یکی از فیلدها ذخیره میکنید و رشته hash شده رو بصورت یک لینک برای کاربر ایمیل می کنید و کاربر در ایمیل خودش بر روی لینک کلیک میکنه و شما هم یک controller می سازید که رشته های hash شده رو بگیره و در دیتابیس جستجو میکنید که آیا با این ایمیل چنین رشته hash ذخیره شده بود پس در این صورت یک فرم در اختیار کاربر میزارید تا رمز عبور جدید رو به دلخواه خودش وارد کنه.

مهرداد سیف زاده
دوشنبه 21 مهر 1393, 19:18 عصر
سلام آموزش هاتون واقعا عاليه خواهش ميكنم ادامه بديد
و اگه ميشه مواردي مثل cache,htaccessو امنيت و استفاده از سطوح دسترسي رو هم توضيح بديد

ممنون
مواردی که گفتید واقعا عالی هستند. البته منم تو فکرش بودم
البته htaccess کمی دردسر داره مخصوصا راه اندازیش روی local. کش کردن آنچنانی ندارد ولی مفیده. سطوح دسترسی کمی شاید پیچیده باشه و طولانی چون بحث اختصاص یک role به یک کاربر هست که بهش RBAC هم میگن.
قولش رو نمیدم ولی تا چند روز آینده این موارد هم تهیه میشه.

z_b624
دوشنبه 21 مهر 1393, 19:53 عصر
ممنون
مواردی که گفتید واقعا عالی هستند. البته منم تو فکرش بودم
البته htaccess کمی دردسر داره مخصوصا راه اندازیش روی local. کش کردن آنچنانی ندارد ولی مفیده. سطوح دسترسی کمی شاید پیچیده باشه و طولانی چون بحث اختصاص یک role به یک کاربر هست که بهش RBAC هم میگن.
قولش رو نمیدم ولی تا چند روز آینده این موارد هم تهیه میشه.

بازم ممنون كه به نظرات كاربران توجه ميكنيد ولي به نظر من هر چه قدر هم كه طولاني بشه ولي ارزشش رو داره، از اون جايي كه آموزش خيلي خوبي داريد اگه اين موارد رو هم درست كنيد عالي ميشه

amiragha2
دوشنبه 21 مهر 1393, 21:15 عصر
اول از همه باید یه تشکر ویژه بکنم ، آقای سیف زاده با حوصله و صبر تمام ، حدود یک ساعت با تیم ویوور به سیستم من متصل شدند تا مشکل من رو حل کنند ، دستشون درد نکنه.
من الان دچار یه مشکل دیگه شدم.
الان من خیلی جاها نیاز با url فارسی دارم و این بهم ارور Disallowed Key Characters. می گیره. چطور به این codeigniter بفهمونم که کاراکتر های فارسی رو هم ساپورت کنه؟

مهرداد سیف زاده
دوشنبه 21 مهر 1393, 22:19 عصر
.
الان من خیلی جاها نیاز با url فارسی دارم و این بهم ارور Disallowed Key Characters. می گیره. چطور به این codeigniter بفهمونم که کاراکتر های فارسی رو هم ساپورت کنه؟4
ممنون
برای حل این مشکل باید فایل زیر رو تفییر بدید

system/core/Input.php
خط 728 رو بصورت زیر تغییر بدید


preg_match("/^[a-z0-9:_\/-]+$/i", $str)

dddd10
سه شنبه 22 مهر 1393, 00:18 صبح
سلام
آقا مهرداد یک مشکلی برای ایجاد کوکی داره لطفا راهنماییم کنید.

این کد را داخل مودل نوشتم:

if($remember == 1){ $cookie = array( 'name' => 'userblog', 'value' => 'islogin', 'expire' => time()+3600 ); $this->input->set_cookie($cookie); }

تنظیمات کانفیگ:

$config['cookie_prefix'] = "";$config['cookie_domain'] = "localhost";$config['cookie_path'] = "/";$config['cookie_secure'] = True;

autoload را تنظیم کردم اما کوکی نمیسازه! درصورتی که setcookie بدون مشکله! آدرس path هم نوشتم مشکل رفع نشد

مهرداد سیف زاده
سه شنبه 22 مهر 1393, 09:59 صبح
سلام
آقا مهرداد یک مشکلی برای ایجاد کوکی داره لطفا راهنماییم کنید.

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

masiha68
سه شنبه 22 مهر 1393, 21:35 عصر
ممنون بخاطر زحمتتون و اینکه واقعا زکات علمتون رو دادین .... امیدوارم خدا هم پاداشتون رو بده .
توی توضیحات یه پروژه ی ساده رو برداشتین و خیلی ساده و روان توضیح دادین (کاش بعضی ها بیان از شما یاد بگیرن )
واقعیتش اینه که دنبال یه فریم ورک ساده بودم که هم یادگیریش چن روز وقت بیشتر نخواد و هم اینکه اگه خواستم توسعه اش بدم زیاد مشکلی نداشته باشم
ولی به نظرم این فریم ورک زیاد از حد ساده است و اینکه همین نداشتن مستر پیج و اینکه بخواییم مثل یی واسه هر کنترلر یه لایوت درست کنم یه ایراد حساب میشه .... و انگاری باگ هم داره که بعضی هاش پیدا شده و داره رفع میشه ...
به نظر شما در اینده این فریم ورک بهتر میشه ؟
یه سوال دیگه اینه که از نظر مصرف منابع سرور چطوره ؟ خودتون باهاش سایت نوشتین ؟ سرعتش روی هاست چطوره ؟
و یه سوال اساسی : چرا بین فریم ورک ها این و مثلا چرا لارا نه یا زند و .... یی ؟

مهرداد سیف زاده
سه شنبه 22 مهر 1393, 21:43 عصر
ممنون بخاطر زحمتتون و اینکه واقعا زکات علمتون رو دادین .... امیدوارم خدا هم پاداشتون رو بده .

ممنون از نظراتتون
من در توضیحات گفتم که بهترین فریم ورک برای یادگیری و همچنین در ادامه هم توضیح دادم برای دوستانی که میخوان از php خالص به سمت استفاده از فریم ورک ها برن
ولی همون طور که خودتون هم توضیح دادین برای راه اندازی یک پروژه اصلا مناسب نیست از این فریم ورک استفاده بشه.
نه این که بگیم اطلا به درد نوشتن پروژه نمیخوره بلکه این که بدلیل نبود نبود ابزار توسعه سریع(چیزی مثل gii‌در yii) و همچنین روند طولانی برای اجرای هر قسمت از پروژه(مثلا برای پستها اگر در yii بود در زیر ۵ دقیقه براحتی طراحی میشد ولی در codeigniter زیر یک یا دو ساعت امکان نداره).
من برای پروژه ها از yii استفاده میکنم. به دوستان هم توصیه میکنم برای یادگیری و راه افتادن در فریم ورکهای php‌از codeigniter‌استفاده کنن ولی برای ادامه بعد از یادگیری و خبره شدن برن سمت laravel یا yii. البته من خودم yii رو بیشتر دوست دارم و اگر دوستان تمایل داشته باشن همین مجموعه رو شاید برای yii هم درست کردم.

masiha68
سه شنبه 22 مهر 1393, 21:54 عصر
ممنون از نظراتتون
من در توضیحات گفتم که بهترین فریم ورک برای یادگیری و همچنین در ادامه هم توضیح دادم برای دوستانی که میخوان از php خالص به سمت استفاده از فریم ورک ها برن
ولی همون طور که خودتون هم توضیح دادین برای راه اندازی یک پروژه اصلا مناسب نیست از این فریم ورک استفاده بشه.
نه این که بگیم اطلا به درد نوشتن پروژه نمیخوره بلکه این که بدلیل نبود نبود ابزار توسعه سریع(چیزی مثل gii‌در yii) و همچنین روند طولانی برای اجرای هر قسمت از پروژه(مثلا برای پستها اگر در yii بود در زیر ۵ دقیقه براحتی طراحی میشد ولی در codeigniter زیر یک یا دو ساعت امکان نداره).
من برای پروژه ها از yii استفاده میکنم. به دوستان هم توصیه میکنم برای یادگیری و راه افتادن در فریم ورکهای php‌از codeigniter‌استفاده کنن ولی برای ادامه بعد از یادگیری و خبره شدن برن سمت laravel یا yii. البته من خودم yii رو بیشتر دوست دارم و اگر دوستان تمایل داشته باشن همین مجموعه رو شاید برای yii هم درست کردم.
من چند ماهیه دارم یا یی سرو کله می زنم و ازش زده شدم .... به قول خودتون واسه کاربرای سطح پایین همین فریم ورک خوبه ... در کل بزرگترین مشکل یی همین نداشتن یه منبع و اموزش مفیده که بیاد سیستم رو با یه مثال ساده توضیح بده .... اگه تمایلی به ساخت یه اموزش برای فریم ورک یی داشته باشین من از همین حالا پیش خرید می کنم .
در مورد لاراول هم فک کنم اکتیو رکورد نداره و باید با همون اس کیو ال خالی کد بزنی . و در مورد یی هم که گفتم زیاد از حد پیچیده است .

مهرداد سیف زاده
سه شنبه 22 مهر 1393, 22:30 عصر
من چند ماهیه دارم یا یی سرو کله می زنم و ازش زده شدم .... .
نه yii بلکه شما اگر برید طرف کیک و سیمفونی و خلاصه هر فریم ورکی به غیر از codeigniter آخرش به این نتیجه میرسید که همشون گنگ هستن.
ولی چرا همون yii برای خیلی از برنامه نویسا خوب و کارار هستن و اصلا هم گنگ نیست ولی برای شما گنگ هست؟
راستش تا ۲ سال پیش هم منم همین مشکل رو داشتم. یعنی تمام فریم ورکها رو نشستم یکی یکی یاد گرفتم. تمام هر چی فیلم توی وب بود چه تجاری و رایگان و چه خارجی و ایرانی همه رو دانلود و یکی یکی نگاه کردم ولی آخرش هیچی دستگیرم نشد خلاصه داشتم از php‌زده میشدم. تا این که برگشتم و نشستم codeigniter رو یاد گرفتم.
درسته ساده هست ولی واقعا ذهن آدمو درباره فریم ورک روشن میکنه. مثلا همین validation در codeigniter (که توی ویدیوها هم بهش پرداختم) چقدر جالب هست و چقدر هم راحت دقیقا شما رو راه میندازه که چطور بر روی یک فرم باید validation گذاشت. بعد شما با همین دیدگاه میرید سمت yii اونجا درسته validation بصورت خودکار توسط gii به کدها اضافه میشه ولی باز هم جای تغییرات داره حتی میتونید براش سناریو بنویسید و خلاصه هزار تا کار دیگه.
هدف من اینه که دیدگاه دوستان رو نسبت به روند کار در فریم ورک آشنا کنم و این ذهنیت رو ایجاد کنم که شما بجای اینکه خودتون رو درگیر کارهایی جزیی مثل ورود و خروج کاربر کنید میتونید برید و بر روی قسمتهای اصلی پروژه تون وقت بزارید. مثلا در codeigniter کنترل session‌و cookie برای ورود و خروج توسط برنامه نویس انجام میشه ولی در yii‌توسط خود فریم ورک انجام میشه.
البته مستنداتش خیلی هم خوبه ولی باید قبول کرد برای برنامه نویسان خیلی خبره نوشته شده و برای دوستانی که تازه دارن یاد میگیرن کمی مشکل هست. البته در yii2 مستندات هم جور دیگه نوشته شدن که دوستانی که تازه برنامه نویسی شروع کردن هم بتونن با مطالعه اون کدها و مثالها طرز کار با فریم ورک yii رو یاد بگیرن.
در مورد فیلم آموزشی yii‌هم باید ببینم چه تعداد از دوستان روند آموزش بنده رو میپسندن و بعدش شروع کنم.
فیلمها هم مثل همیشه رایگان خواهد بود چون با دعای خیر دوستان خداوند چند برابرش رو بهم میده.

masiha68
سه شنبه 22 مهر 1393, 22:42 عصر
شاید بیان کردن این موضوع اینجا درست نباشه چون هم شخص اقای شهرکی ادم زحمت کشی هستن و اینکه فک نکنم کسی به تاثییر ایشون توی پی اچ پی ایران شک داشته باشه ولی توی پکیجشون یه کم سنگین توضیح دادن و به قولی سطح بالا توضیح دادن .... حالا اگه شما بیان یه نظرسنجی توی تالار یی بزارین که چند نفر میخوان یه همچین اموزشی ساخته باشه قعلا خیلی ها هستن که خواهان این اموزش هستن و اعلام تمایل می کنن ... و اینکه رایگان هم باشه که دیگه فک نکنم کسی این وسط حداقل از نظر مالی بگه نه .... شاید بیشترین مشکلی که پیش میاد همون بحث چرخ رو دوباره اختراع کردن باشه که با توجه به پکیج اقای شهرکی شاید درست نباشه یه همچین اموزشی قرار داده بشه ولی اگه توی اموزشتون فقط سطح مقدماتی و یه پروژه ی ساده با یی رو توضیح بدین خیلی ها استفاده می کنن و با توجه با شناختی که از اقای شهرکی دارم فک نکنم خود اقای شهرکی هم مخالفتی داشته باشن

ali.motevali67
سه شنبه 22 مهر 1393, 23:05 عصر
اگه میشه آموزش یی هم بسازید

dddd10
چهارشنبه 23 مهر 1393, 01:53 صبح
مشکل کوکی عموما وجود داره شما با مرورگر firefox هم یه تست کنید. همچنین توی ست کردن کوکی یه سری نکات هم گفته بودم

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

مهرداد سیف زاده
چهارشنبه 23 مهر 1393, 07:49 صبح
با فایرفاکس مشکل حل شد. چرا مشکل عموما وجود داره؟ setcookie این ایرادو نداشت. راه حل این مشکل چیه تا برای اپرا و دیگر مرورگرها اجرا بده؟
این مشکل به دلیل درست کانفیگ نشدن path و domain هست. شما در فایرفاکس کوکی رو که ذخیره کرده نگاه کنید ببینید چه چیزی رو به عنوان path‌و domain‌داده، همون رو در codeigniter به عنوان path , domain وارد کنید.

مهرداد سیف زاده
چهارشنبه 23 مهر 1393, 07:59 صبح
شاید بیان کردن این موضوع اینجا درست نباشه چون هم شخص اقای شهرکی ادم زحمت کشی هستن و ...
بله آقای شهرکی شخصیت بسیار بالا و خوبی هستن. ایشون همونطور که فرمودید زحمات بسیار مفیدی کشیدن. البته مجموعه yii‌ایشون هم خیلی خوبه و دوستانی که علاقه یادگیری داشته باشن میتونن با این مجموعه از مبتدی تا پیشرفته رو یاد بگیرن.
در مورد آموزش yii هم روش و متد آموزش آدمها متفاوت هست. دوستانی هستن که روش آقای شهرکی رو دوست دارن و دوستانی هم هستند که این روش رو میپسندن.
ولی من توی آموزشها سعی دارم صرفا دوستان رو به سمت یادگیری به روش خوداموزی ببرم و یه سری سرمشق براش ایجاد کنم و بقیه کارها رو به خودشون بسپرم. مثلا توی همین codeigniter دوستان گفتن چرا برای model روش my_model رو توضیح نمدید و من هم گفتم شما همون روش my_controller‌ رو یاد بگیرید خودتون میتونید my_controller بسازید. و خیلی چیزهای دیگر.
به هر حال باید شرایط فراهم بشه و همچنین دوستان مشتاقی هم باشن(که تا به اینجا دوستان نشون دادن علاقه زیادی به یادگیری دارن و به بنده هم خیلی لطف داشتن×ممنونم×) مجموعه آموزش yii2 هم کلید خواهد خرد.

z_b624
چهارشنبه 23 مهر 1393, 10:21 صبح
سلام منم بي صبرانه منتظر آموزش يي هستم ولي همين طور كه خودتون گفتيد قبلش اگه كدايگنايتر رو تكميل تر ياد بگيريم بهتره

dddd10
چهارشنبه 23 مهر 1393, 12:42 عصر
این مشکل به دلیل درست کانفیگ نشدن path و domain هست. شما در فایرفاکس کوکی رو که ذخیره کرده نگاه کنید ببینید چه چیزی رو به عنوان path‌و domain‌داده، همون رو در codeigniter به عنوان path , domain وارد کنید.

domain همون Localhost بود که وارد کردم
path رو یکبار بصورت / نوشتم و بار دیگه طبق setcookie نوشتم :

/ci_blog/admin

و آدرس کامل این بود :

/ci_blog/admin/index.php/login/

dddd10
چهارشنبه 23 مهر 1393, 14:40 عصر
مشکل دیگری که دارم با سشن هست. این کد منه :

وقتی دستور سشن و if را حذف میکنم صفحه پست نمایش داده میشه.

function index(){
$login = $this->session->userdata('login'); if(!empty($login)) { $this->template->load('post/index'); }
}

کد کامل صفحه مودل :


<?php
class Login_model extends CI_Model{
function __construct(){ parent::__construct(); }
function check(){
$username = $this->input->post('username'); $password = $this->input->post('password'); $remember = $this->input->post('remember');


$this->db->select('username','password'); $this->db->where('username',"$username"); $this->db->where('password',md5($password)); $this->db->from('user'); $this->db->limit(1); $is = $this->db->count_all_results();
if($is > 0){ $data_session = array( 'username' => $username, 'login' => true );
$this->session->set_userdata($data_session);
//cookie if($remember == 1){ $cookie = array( 'name' => 'userblog', 'value' => "{$username}_islogin", 'expire' => time()+3600 ); $this->input->set_cookie($cookie); } redirect('post/index'); }else{ redirect('login/index'); } }}

amiragha2
چهارشنبه 23 مهر 1393, 16:19 عصر
ممنون از نظراتتون
من در توضیحات گفتم که بهترین فریم ورک برای یادگیری و همچنین در ادامه هم توضیح دادم برای دوستانی که میخوان از php خالص به سمت استفاده از فریم ورک ها برن
ولی همون طور که خودتون هم توضیح دادین برای راه اندازی یک پروژه اصلا مناسب نیست از این فریم ورک استفاده بشه.
نه این که بگیم اطلا به درد نوشتن پروژه نمیخوره بلکه این که بدلیل نبود نبود ابزار توسعه سریع(چیزی مثل gii‌در yii) و همچنین روند طولانی برای اجرای هر قسمت از پروژه(مثلا برای پستها اگر در yii بود در زیر ۵ دقیقه براحتی طراحی میشد ولی در codeigniter زیر یک یا دو ساعت امکان نداره).
من برای پروژه ها از yii استفاده میکنم. به دوستان هم توصیه میکنم برای یادگیری و راه افتادن در فریم ورکهای php‌از codeigniter‌استفاده کنن ولی برای ادامه بعد از یادگیری و خبره شدن برن سمت laravel یا yii. البته من خودم yii رو بیشتر دوست دارم و اگر دوستان تمایل داشته باشن همین مجموعه رو شاید برای yii هم درست کردم.

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

مهرداد سیف زاده
چهارشنبه 23 مهر 1393, 18:03 عصر
ممنون از شما بابت این پاسخگوییتون ،‌فقط الان یه سوال برای من پیش اومده ما اگه الان بخوایم یه پروژه ی تجاری بنویسیم از این استفاده نکنیم؟
خب پروژه تجاری نیازمندیهای بیشتری داره و همچنین ابزارهای قویتری هم نیاز داره. میتونید استفاده کنید و مشکلی هم نداره ولی اگر وقتشو دارید که فریم ورکی مثل yii یا لاراول رو یاد بگیرید بهتر هستن. در غیر اینصورت اگر وقتشو ندارید یا اون فریم ورک ها برای شما سنگین هستن فعلا با هیمن codeigniter پروژه های خودتونو جلو ببرین تا در آینده که تجربیات و دانش شما بالاتر رفت بتونید از فریم ورکهای دیگر هم استفاده کنید.
البته انتخاب یک فریم ورک به ماهیت پروژه هم ربط داره. مثلا اگر پروژه طوری هست که نیاز به سبکی و فهم کد داره مثلا شما دارید توی یک شرکت ابزاری درست میکنید که امکان داره در آینده برنامه نویسان دیگری هم وارد شرکت بشن و ابزار شما رو توسعه بدن پس باید راحت باشه و در هر سطحی بتونن نیرو استخدام کنن یا برای مشتری که قراره بعدا بده کس دیگری براش توسعه بده. برای حل اسن مشکل فریم ورکی انتخاب میشه که یادگیری راحت داشته و امکانات هم کافی باشه. از این لحاظ codeigniter‌بسیار مفید هست.

dddd10
چهارشنبه 23 مهر 1393, 21:18 عصر
دوستان لطفا دو سوال بالا که پرسیدم رو پاسخ بدین. از دیشب درگیر این موضوع هستم

مهرداد سیف زاده
چهارشنبه 23 مهر 1393, 22:01 عصر
دوستان لطفا دو سوال بالا که پرسیدم رو پاسخ بدین. از دیشب درگیر این موضوع هستم
اگر مشکلتون حل نشد فردا با من تماس بگیرید و team viewer بدید تا وصل بشم و مشکل رو برطرف کنم

n0o0b_sina
پنج شنبه 24 مهر 1393, 01:58 صبح
سلام ممنون از آموزش مفیدتون
توی قسمت 7 (جدا کردن بخش admin‌و web و اتصال آنها به یک system مرکزی (https://www.dropbox.com/s/bcu2rsry2ae9q8t/codeigniter_7.mkv?dl=0)) وقتی کارایی رو که گفتید انجام میدیم طبیعتا همونطور که تو فیلم هم اشاره شد 2 تا تگ جدید به آدرس سایت بعنی web و admin اضافه میشه، و صفحه اصلی سایت هم به صورت test.test/web بالا میاد و این زیاد جالب نیست، اگه ممکنه توضیح بدید که چطور میشه بدون حذف پوشه web این تگ رو از آدرس سایت برداشت به گونه ای که به بقیه لینک ها آسیبی وارد نشه و مثله قبل اجرا بشن

مهرداد سیف زاده
پنج شنبه 24 مهر 1393, 07:35 صبح
سلام ممنون از آموزش مفیدتون
توی قسمت 7 (جدا کردن بخش admin‌و web و اتصال آنها به یک system مرکزی (https://www.dropbox.com/s/bcu2rsry2ae9q8t/codeigniter_7.mkv?dl=0)) وقتی کار
ممنون از نظرتون
همونطور که توی فیلم هم دیدید شما میتونید پوشه سیستم رو هر کجای سایتتون بزارید و از داخل application بهش آدرس بدید. حالا برای شما هم همینطور بر روی هاست شما روی اینترنت پوشه system رو بزارید بیرون از پوشه www یعنی در کنار پوشه های اصلی هاست و در پوشه www تمام فایلهای application اصلی (که همون web) هست رو بریزید و آدرس بدید به یک پوشه بالاتر برای پوشه system و همچنین برای قسمت admin هم یک پوشه میتونید در همین پوشه www درست کنید که باز زدن آدرس میرید توی قسمت admin
امیدوارم مطلب رو رسونده باشم یکم روش تلاش کنید به نتیجه دلخواه میرسید

n0o0b_sina
پنج شنبه 24 مهر 1393, 11:59 صبح
ممنون از راهنماییتون ولی من نمیخوام پوشه وب حذف بشه، چون اینطوری نظم سایت بیشتره

z_b624
شنبه 26 مهر 1393, 17:59 عصر
سلام
میشه یه کم راجع به منطق cms بهم توضیح بدید؟
هر بخشی که بخوایم ایجاد کنیم باید کنترلر و مدل جداگونه داشته باشه؟
مثلا اگه بعد از نوشتن برنامه مون دوباره بخوایم یه بخش دیگه بهش اضافه کنیم مثل مقاله دوباره باید براش کنترلر و مدل جدا بنویسیم؟چه جوری میتونیم یه سری کدا که توی همه ی بخش ها تکراری ان دو دوباره نویسی نکنیم؟مثلا یه بار insert , delete , update رو بنویسیم و توی بخش ها مختلف از همون استفاده کنیم و دوباره از اول ننویسیمش؟

مهرداد سیف زاده
شنبه 26 مهر 1393, 18:12 عصر
سلام
میشه یه کم راجع به منطق cms بهم توضیح بدید؟

شاید منظورتون منطق mvc هست. چون cms یک ابزاره نه یک روش و منطق.
همونطور که خودتون هم گفتید در معماری mvc سه قسمت اساسی یک app از یکدیگر جدا مشن. مثلا شما برای قسمت اضافه کردن یک پست به درون دیتابیس سه قسمت اصلی دارید:
1- فرمها - همون کدهای html
2- پردازش - گرفتن داده و اعتبار سنجی(validation)
3- ذخیره در دیتابیس - ارتباط با دیتابیس و زدن query
خب قسمت اول میشه view که کار ساخت و تولید فرم رو داره. حالا در زمان تولید فرم شاید فرم ویرایش(edit) باشه یا insert که اگر edit باشه باید داده های قبلی رو لود کنه و value فرمها جا گذازی کنه و اگر برای insert باشه فرم جدید خالی میسازه. این میشه view
قسمت دوم داده های پر شده فرم رو میگیره و میاد اعتبار سنجی انجام میده که آیا درست پر شده و همچنین آماده سازی برای ذخیره در دیتابیس و یا اگر قراره یک پستی ویرایش بشه وقتی درخواست ویرایش یک پست داده میشه داده های قبلی توسط این قسمت و model استخراج میشه و در فرم جا گذازی میشه. این میشه controller
قسمت سوم کار با دیتابیس و انتقال داده ها به دیتابیس هست. اینم میشه model

z_b624
شنبه 26 مهر 1393, 18:25 عصر
ممنون ،نه دقیقا منظورم cms بود،اگه بخوایم یه cms با codeigniter بنویسیم چه جوری باید بخش های مختلف رو مدیریت کنیم تا از نوشتن کد های تکراری جلوگیری بشه ،همونطور که قبلا هم گفتم میخوام طوری باشه که اگه یه بخش جدید به پروژه مون اضافه کردیم نخوایم دوباره کد های تکراری براش بنویسیم

مهرداد سیف زاده
شنبه 26 مهر 1393, 18:54 عصر
ممنون ،نه دقیقا منظورم cms بود،اگه بخوایم یه cms با codeigniter بنویسیم چه جوری باید بخش های
یه سری تکنیکها رو در فیلم آموزشی گفتم. بقیش دیگه تکنیکهایی هست که خودتون باید بکار ببرید. حالا این تکنیکها یا از تجارب خودتون هست یا از توی وب یاد گرفتید.
همچنین چگونگی طراحی و نگهداری یک ابزار به رفتارهای شخصی هم بستگی داره. مثلا من اگه کد یکم زیاد بشه مشکلی ندارم ولی در عوض میخوام راحت و روالش ساده باشه در صورتی که مس دیگری کوچک بودن کد براش مهمه.

joker
یک شنبه 27 مهر 1393, 13:38 عصر
مجموعه بسیار خوبی تهیه کردید _ بعضی وقتها کلید تشکر کافی نیست برای زحمتهایی اینچنینی.
نکات جالبی توش بود که برای من هم جالب بود بعضی تجربیات شما و روشهای استفاده از این فریمورک خوش دست کدایگنایتر. :بوس:

پیوست : یه موردی در درس 14 به بعد (اللخصوص 17) صدا بسیار کم ضبط شده

مهرداد سیف زاده
یک شنبه 27 مهر 1393, 15:08 عصر
پیوست : یه موردی در درس 14 به بعد (اللخصوص 17) صدا بسیار کم ضبط شده
بله هم بعضی قسمتها صدا ضعیفه یا صوت داره یا یهو صدای خش میاد
متاسفانه در بعضی از ساعات شبانه روز تهیه میکردم که اصلا هواسم نبود کانفیگ های صدا رو چی ست کردم و به همین دلیل بعضی ها خیلی خراب شده.
باید ببخشید.

amiragha2
جمعه 02 آبان 1393, 17:07 عصر
باز هم سلام
من باز هم به مشکل برخوردم.
من می خوام ۴ تا فایل عکس در یک فرم آپلود کنم و تهش آدرس هاشو بگیرمو تو دیتابیس ذخیره کنم اما انگار امکان پذیر نیست.
اصلا انگار زمانی که name یه input رو به جز userfile می زاریم ، این کدایگنایتر، هیچی حسابش نمی کنه.اگر هم بصورت ارایه userfile[] بزاریم اررور می ده. خیلی هم تو اینترنت سرچ کردم اما به نتیجه ای نرسیدم.



<input type="file" name="userfile"/>
<input type="file" name="userfile2"/>
<input type="file" name="userfile3"/>


ممنون

مهرداد سیف زاده
جمعه 02 آبان 1393, 22:11 عصر
باز هم سلام
من باز هم به مشکل برخوردم.
من می خوام ۴ تا فایل عکس در یک فرم آپلود کنم و تهش آدرس هاشو بگیرمو تو دیتابیس ذخیره کنم اما انگار امکان پذیر نیست.
اصلا انگار زمانی که name یه input رو به جز userfile می زاریم ، این کدایگنایتر، هیچی حسابش نمی کنه.اگر هم بصورت ارایه userfile[] بزاریم اررور می ده. خیلی هم تو اینترنت سرچ کردم اما به نتیجه ای نرسیدم.



<input type="file" name="userfile"/>
<input type="file" name="userfile2"/>
<input type="file" name="userfile3"/>


ممنون

متاسفانه چند روزه بدجور سرم شلوغه و شرمنده دوستان شدم.
توی اینترنت راهنماها و کدهای زیادی برای آپلود همزمان چندین فایل در ci وجود داره. من لینکهاشو میزارم و لینک اول روشش بهتر هست.
https://github.com/stvnthomas/CodeIgniter-Multi-Upload
http://stackoverflow.com/a/20138535
http://stackoverflow.com/a/11539061
http://www.webtuts.in/codeigniter-multiple-files-upload/
http://www.codinglikeasir.com/upload-multiple-files-with-codeigniter/

z_b624
شنبه 03 آبان 1393, 15:36 عصر
سلام آقای سیف زاده آیا آموزش هاتون ادامه دارن؟میشه آموزش smarty template رو هم بسازین
ممنون

shahabi68
یک شنبه 04 آبان 1393, 19:55 عصر
سلام ممنون از شما که تدریس کردین.شیوه ی بسیار خوبی هست لفطا آموزش Yii را هم قرار دهید.ممنون

z_b624
پنج شنبه 08 آبان 1393, 10:53 صبح
سلام من 2 تا سوال داشتم اول اینکه اگه بخوایم از تو پوشه ی admin به یکی از فایل های پوشه web ریدایرکت (redirect ) کنیم چه جوری باید آدرس دهی کنیم؟
من این جوری نوشتم ولی جواب نداد
redirect('web/user/index');


دوم اینکه اگه نخوایم از 2 تا پوشه جدای web , admin استفاده کنیم و بخوایم همه فایل ها مون توی یه پوشه باشن ولی توی همون یه پوشه از 2 تا template جدا استفاده کنیم یکی برای admin و یکی برای user چه کار باید بکنیم؟از 2 تا layout_ باید استفاده کنیم؟ و بعد بعد چه جوری باید بگیم که کدوم فایل از کدوم template استفاده کنه؟ نام گذاریمون به چه صورت باید باشه ؟

dddd10
سه شنبه 13 آبان 1393, 23:36 عصر
سلام.
میشه راهنمایی کنید ایراد کد زیر داخل درس 15 چیه؟ صفحه سفید باز میشه. وقتی Public $username را حذف میکنم درست میشه.



<?php

class MY_Controller extends CI_Controller{

function __construct()
{
parent::__construct();
public $username;

$slogin = $this->input->cookie('userblog');
if(!empty($slogin))
{
$login_info = explode('_',$slogin);

$this->username = $login_info[0];
$is_login = $login_info[1];
if($is_login != 'islogin')
{
redirect('login/index');
}
}else{
$login = $this->session->userdata('login');

if(!empty($login))
{
if($login != true)
{
redirect('login/index');
}
}else{
redirect('login/index');
}
}
}
}

z_b624
چهارشنبه 14 آبان 1393, 09:07 صبح
سلام
public $username;
این رو ببر بالای خط function __construct()
بنویس ببین درست میشه؟

dddd10
چهارشنبه 14 آبان 1393, 14:26 عصر
سلام
public $username;
این رو ببر بالای خط function __construct()
بنویس ببین درست میشه؟


سلام. درست شد :قلب:
توضیح میدین دلیل این کار چی بود؟ توی فیلم بصورت دیگه ای عمل کرده بودن

z_b624
چهارشنبه 14 آبان 1393, 14:53 عصر
سلام در فیلم 17 یه مشکلی وجود داشت که آقای سیف زاده گفتن از مرورگره الان من این مشکل رو دارم ،توی مرور گر وقتی اجرا میگیرم این ارور رو میده کسی میدونه چه جوری باید برطرفش کنم؟؟؟؟؟؟؟؟؟؟؟؟خیلی کلافه شدم.
Disallowed Key Characters.

enhyvb
چهارشنبه 14 آبان 1393, 19:04 عصر
سلام

مجموعه خیلی خوبی هست ، واقعا دستتون درد نکنه .

مهرداد سیف زاده
چهارشنبه 14 آبان 1393, 20:49 عصر
سلام در فیلم 17 یه مشکلی وجود داشت که آقای سیف زاده گفتن از مرورگره الان من این مشکل رو دارم ،توی مرور گر وقتی اجرا میگیرم این ارور رو میده کسی میدونه چه جوری باید برطرفش کنم؟؟؟؟؟؟؟؟؟؟؟؟خیلی کلافه شدم.
Disallowed Key Characters.
برای حل این مشکا در فایل config.php خط زیر رو پیدا کنید و بصورت زیر ویرایشش کنید


$config['permitted_uri_chars'] = '\#';


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

z_b624
جمعه 16 آبان 1393, 12:56 عصر
سلام من برای ارسال ایمیل دقیقا مطابق فیلم عمل کردم ولی هیچ ایمیلی برام ارسال نمیشه،آیا تنظیمات خاصی داره که باید انجام بدیم؟

مهرداد سیف زاده
جمعه 16 آبان 1393, 18:10 عصر
سلام
بله تنظیمات خاصی داره. کامپیوتر شما باید توانایی ارسال ایمیل رو داشته باشه. مثلا در حالت عادی نمیتونید از طریق php و تابع mail‌ایمیل ارسال کنید و باید ببرید بر روی هاست یا تنظیمات و ابزارهی مورد نظر رو نصب کنید. برای نصب در لینوکس اوبونتو میتونید از راهنمای زیر استفاده کنید:
http://seifzadeh.blog.ir/post/%D8%A7%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D9%85%D9%84-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D8%AA%D9%88%D8%B3%D8%B7-php-%D8%AF%D8%B1-localhost


سلام من برای ارسال ایمیل دقیقا مطابق فیلم عمل کردم ولی هیچ ایمیلی برام ارسال نمیشه،آیا تنظیمات خاصی داره که باید انجام بدیم؟

dddd10
پنج شنبه 22 آبان 1393, 00:41 صبح
مجددا سلام
من یه مشکل بزرگ داخل پارت 17 دارم که هرچی چک کردم با فیلم متوجه نشدم! وقتی میخوام کتگوری را بعد از ارسال فرم print_r کنم انگار از طریق متد post اصلا Input نداره این قسمت!

کدها:
view

<?php
foreach($category as $key => $value){
echo '<label style="display:block;">';
echo $value['name'];
echo form_checkbox($value['name'],$value['id']);
echo '</label>';
}
?>

controller

function create(){

$category = $this->input->post('category');
$this->load->model('post_model');

$data = array();
$data['title'] = $this->input->post('title');
$data['content'] = $this->input->post('content');
$data['create_time'] = time();
$data['author_id'] = $this->user_id;

if(!empty($category)){
$insert_post = $this->post_model->insert($data);
if ($insert_post)
{
print_r($category);
}
}
}

z_b624
پنج شنبه 22 آبان 1393, 09:13 صبح
سلام
به خاطر اینه که شما باید name رو category بزارید و value رو $value['id'] بزارید
یعنی باید این طوری بنویسید
;((['echo form_checkbox(array('name'=>'category['.$value['name'].']','value'=>$value['id

dddd10
پنج شنبه 22 آبان 1393, 11:30 صبح
سلام
به خاطر اینه که شما باید name رو category بزارید و value رو $value['id'] بزارید
یعنی باید این طوری بنویسید
;((['echo form_checkbox(array('name'=>'category['.$value['name'].']','value'=>$value['id

سلام
مشکل رفع نشد

z_b624
پنج شنبه 22 آبان 1393, 12:37 عصر
شاید شرط if تون درست نیست که پرینت نمیگیره
print_r($category);
اینو چند خط بالا تر بنویس ببین چی میشه

dddd10
پنج شنبه 22 آبان 1393, 13:19 عصر
شاید شرط if تون درست نیست که پرینت نمیگیره
print_r($category);
اینو چند خط بالا تر بنویس ببین چی میشه

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

dddd10
پنج شنبه 22 آبان 1393, 13:24 عصر
مشکل رفع شد کدو داخل فرم نزاشته بودم :بامزه:

داخل کد زیر form_open را چه قسمتی قرار بدم تا div مخصوص به کتگوری هم فعال بشه؟ مورد ندازه از اول تگ form_open قرار بگیره؟؟؟



<!-- Box -->
<div class="box">
<!-- Box Head -->
<div class="box-head">
<h2>Category</h2>
</div>

<?php
foreach($category as $key => $value){
echo '<label style="display:block;">';
echo $value['name'];
echo form_checkbox(array('name'=> 'category['.$value['name'].']','value'=> $value['id']));
echo '</label>';
}
?>

</div>
</div>
<!-- End Box -->
</div>
<!-- End Sidebar -->

<div id="content">
<!-- Box -->

<div class="box">
<!-- Box Head -->
<div class="box-head">
<h2>Add New Article</h2>
</div>
<!-- End Box Head -->

<?php echo form_open('post/create'); ?>
<!-- Form -->
<div class="form">

<label>
Title
</label>
<?php echo form_input('title'); ?>

<label>
Content
</label>
<?php echo form_textarea(array('name'=> 'content', 'cols'=>'80')); ?>

</div>
<!-- End Form -->
<!-- Form Buttons -->
<div class="buttons">
<input type="submit" class="button" value="submit" />
</div>
<!-- End Form Buttons -->
<?php echo form_close(); ?>
</div>
<!-- End Box -->
</div>

z_b624
پنج شنبه 22 آبان 1393, 15:33 عصر
فرقی نداره فقط باید بالای foreach باشه،برای اینکه مطمئن باشی اصلا بالای صفحه بزار،فقط یادت نره فرم رو ببندی:لبخند:

hamedifar
جمعه 23 آبان 1393, 00:27 صبح
با سلام خدمت دوستان عزیز

جناب آقای سیف زاده زحمت کشیدن و آموزش هارو روی چند آپلود سنتر آپلود کردن
دوستانی که با این آپلود سنتر ها مشکل دارن میتونن به سایت http://plusp30.com برن و آموزش هارو با لینک مستقیم و دائمی از سرور های همین سایت دانلود بکنن.
هر روز هم چند قسمت آپلود و قرار داده میشه
باتشکر

dddd10
چهارشنبه 28 آبان 1393, 22:09 عصر
سلام. دوستان کد درس 18 رو نوشتم، خروجی تمامی مطالبی که دارای category باشند و یا نباشند را نمایش میده! چرا؟؟ داخل دیتابیس اینجوری نیست ( join , view )


function allPost(){

$all = $this->db->get('tbl_posts')->result_array();

$data_send = array();

foreach($all as $key => $value){
$data = array();
$category = $this->db->get_where('tbl_catpost',array('post_id'=>$value['id']))->result_array();

$data['title'] = $value['title'];
$data['content'] = $value['content'];
$data['create_time'] = $value['create_time'];
$data['username'] = $value['username'];

$data['category'] = $category;

$data_send[] = $data;
}
return $data_send;
}

arash691
یک شنبه 02 آذر 1393, 19:47 عصر
این کلاس برای Master Page ... کسایی که با Yii کار کردن متدهای render و renderPartial رو یادشونه اولی با layout دومی بدون layout عمل میکنه :


<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
* Author : Arash Aryani
* Time : 2014/11/23
*/
class Template{
private $fields;
public function __construct(){
$this->fields = array(
'CI' => null,
'layout'=>null,
'title' => null
);
$this->fields['CI'] =& get_instance();
}
public function __set($key , $value){
if(array_key_exists($key,$this->fields)){
$this->fields[$key] = $value;
}
}
private function loadView($view , $params = array() , $useLayout = false){
$content = $this->fields['CI']->load->view($view,$params,true);
if($useLayout){
$this->fields['CI']->load->view('layouts/'.$this->fields['layout'] , array('content'=>$content,'title'=> $this->fields['title']));
}else{
echo $content;
}
}
public function render($view , $params = array()){
$this->loadView($view,$params,true);
}
public function renderPartial($view , $params = array()){
$this->loadView($view,$params);
}
}



طزر استفاده :

در پوشه view یک پوشه بنام layouts بسازید و layout های خودتون رو درونش قرار بدین ، مثلا" فرض کنید layout من home باشه و میخوام view مربوط به Controller همون welcome رو نمایش بدم :


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{

$this->template->layout = 'home';
$this->template->render('welcome/site');
}
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

حالا اگه فقط میخواین خود view رو نمایش بدین بدون layout کافیه فقط بنویسید :

$this->template->renderPatial('welcome/site');
برای قرار دادن title :

$this->template->title = 'test';

mikrob
سه شنبه 11 آذر 1393, 17:10 عصر
سلام
یه مشکلی برخوردم
اونم اینکه وقتی محتویات دیتابیس رو میخوام نشون بدم یه کوئری بیستر میگیره و مقدارش هم � میزاره.
تو پیوست هم می تونید ببنید.
واسه حل این مشکل چکار کنم؟؟

مهرداد سیف زاده
سه شنبه 11 آذر 1393, 17:38 عصر
کوئری یا کدی که داره این کار رو انجام میده رو هم بزارید تا من یا دوستان دیگه راهنمایی کنیم

سلام
یه مشکلی برخوردم
اونم اینکه وقتی محتویات دیتابیس رو میخوام نشون بدم یه کوئری بیستر میگیره و مقدارش هم � میزاره.
تو پیوست هم می تونید ببنید.
واسه حل این مشکل چکار کنم؟؟

mikrob
چهارشنبه 12 آذر 1393, 00:04 صبح
این تو قسمت view

<?php foreach ($production as $key => $value): ?>
<tr>
<td class="chb_col"><input type="checkbox" name="row_sel" /></td>
<td>
<a class="fancyImg" href="<?php echo base_url(); ?>uploads/<?php echo $value['id']; ?>_.jpg" title="Lorem ipsum dolor sit">
<img alt="" src="<?php echo base_url(); ?>uploads/<?php echo $value['id']; ?>_.jpg" style="height:50px;width:50px">
</a>
</td>
<td><?php echo $value['name']; ?><br/><small class="s_color"></small></td>
<td><?php echo $value['category']; ?></td>
<td><?php echo $value['hprices']; ?></td>
<td>
<a href="#" class="sepV_a" title="Edit"><img src="<?php echo base_url(); ?>include/img/ico/pencil_gray.png" alt="" /></a>
<a href="#" title="Delete"><img src="<?php echo base_url(); ?>include/img/ico/trashcan_gray.png" alt="" /></a>
</td>
</tr>
<?php endforeach ?>
اینم در قسمت model

function all_cate()
{
$all = $this->db->get('product') -> result_array();
$data_send = array();
foreach ($all as $key => $value) {
$data = array();
$ids = $value['id'];
$data['id'] = $value['id'];
$data['name'] = $value['name'];
$data['hprices'] = $value['hprices'];
$data['deals'] = $value['deals'];
$data['dprices'] = $value['dprices'];
$ids = $value['category'];
$sql = "SELECT * FROM wa_categories WHERE id = $ids";
$query=$this->db->query($sql);
foreach ($query->result_array() as $row)
{
$data['category']=$row['name'];
}
$data_send[] = $data;
}
return $data_send;
}
و اینم در قسمت controllers

public function index()
{
$this->load->model('production_model');
$data = $this->production_model->all_cate();
$this->template->load('production' ,array('production'=>$data));
}

dddd10
جمعه 14 آذر 1393, 09:33 صبح
سلام
روز آدینه همگی بخیر. اگر بخوام گزینه آپدیت را بوسیله یک صفحه جدید انجام بدم کمی راهنمایی میکنید؟؟ فیلم بروش تشخیص ادد یا ویرایش بود. واسه همین کلا گیج شدم و تا آخر فیلمو بارها دیدم ولی باز درک نکردم

مهرداد سیف زاده
جمعه 14 آذر 1393, 21:44 عصر
فرقس نداره چه در حالت تشخیص آپدیت و ادد باشه و چه بصورت استاتیک طراحی کنید.
ولی توی فیلم هم توضیح دادم که علت داشتن یک فرم چی بوده.
اگر فیلم رو دنبال کنید و یک نمونه اجرا بگیرید روش کار دستتون میاد و یمتونید استاتیکش رو که فرم edit و add از هم جدا باشن رو بنویسید.
اگر باز هم مشکلی بود بفرمایید.


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

مهرداد سیف زاده
جمعه 14 آذر 1393, 21:47 عصر
روش گرفتن category برای یک محصول شما خیلی به سایت فشار میادره در واقع شما دارید برای for زدن برای تمام محصولات یک query برای جدول دیگه و از اونجا مقدار category ها رو میگیرد که اصلا بهینه نیست. برای روش درست به فیلمها مراجعه کنید و روش بهسنه رو یاد بگیرید.

این تو قسمت view

<?php foreach ($production as $key => $value): ?>
<tr>
<td class="chb_col"><input type="checkbox" name="row_sel" /></td>
<td>
<a class="fancyImg" href="<?php echo base_url(); ?>uploads/<?php echo $value['id']; ?>_.jpg" title="Lorem ipsum dolor sit">
<img alt="" src="<?php echo base_url(); ?>uploads/<?php echo $value['id']; ?>_.jpg" style="height:50px;width:50px">
</a>
</td>
<td><?php echo $value['name']; ?><br/><small class="s_color"></small></td>
<td><?php echo $value['category']; ?></td>
<td><?php echo $value['hprices']; ?></td>
<td>
<a href="#" class="sepV_a" title="Edit"><img src="<?php echo base_url(); ?>include/img/ico/pencil_gray.png" alt="" /></a>
<a href="#" title="Delete"><img src="<?php echo base_url(); ?>include/img/ico/trashcan_gray.png" alt="" /></a>
</td>
</tr>
<?php endforeach ?>
اینم در قسمت model

function all_cate()
{
$all = $this->db->get('product') -> result_array();
$data_send = array();
foreach ($all as $key => $value) {
$data = array();
$ids = $value['id'];
$data['id'] = $value['id'];
$data['name'] = $value['name'];
$data['hprices'] = $value['hprices'];
$data['deals'] = $value['deals'];
$data['dprices'] = $value['dprices'];
$ids = $value['category'];
$sql = "SELECT * FROM wa_categories WHERE id = $ids";
$query=$this->db->query($sql);
foreach ($query->result_array() as $row)
{
$data['category']=$row['name'];
}
$data_send[] = $data;
}
return $data_send;
}
و اینم در قسمت controllers

public function index()
{
$this->load->model('production_model');
$data = $this->production_model->all_cate();
$this->template->load('production' ,array('production'=>$data));
}

dddd10
شنبه 15 آذر 1393, 21:25 عصر
سلام
دوستان چه روشی بجز کپی navigation ( منوی بالایی ) از فایل _layout.php را در دیگر فایل های قالب پیشنهاد میکنید تا بتونم اگر وارد تب article شدم گزینه new article را بجای article نمایش بدم ؟ ( با لینک جدید )

dddd10
چهارشنبه 19 آذر 1393, 19:50 عصر
دوستان سوال قبلیو راهنمایی میکنید؟

مهرداد سیف زاده
پنج شنبه 20 آذر 1393, 22:26 عصر
navigation‌نباید در تمام صفحات تکرار بشه. یعنی جزوی از master page هست.
خلاصه هر کاری که باید بکنید باید در همون master page قرار بگیره.


سلام
دوستان چه روشی بجز کپی navigation ( منوی بالایی ) از فایل _layout.php را در دیگر فایل های قالب پیشنهاد میکنید تا بتونم اگر وارد تب article شدم گزینه new article را بجای article نمایش بدم ؟ ( با لینک جدید )

مهرداد سیف زاده
جمعه 12 دی 1393, 20:30 عصر
مجموعه آموزشی بر روی سایت مکتب‌خونه قرار رفت. دوستانی که با دانلود مشکل داشتن الان میتونن با لینک مشتقیم و سرعت‌بالا از مکتب‌خونه دانلود کنن
با تشکر از سایت مکتب‌خونه - لین‌دانلود (http://maktabkhooneh.org/course?course=seifzadeh207)

محسن فراهانی
شنبه 13 دی 1393, 10:10 صبح
سلام و عرض تشکر فراون از مجموعه بسیار عالی که در اختیار عموم قرار دادین، خیلی ممنون میشم اگه این آموزش رو ادامه بدین تا بتونیم بیشتر از آموزش های خوب شما استفاده کنیم.
من سه تا سوال داشتم در مورد این آموزش:
1- برای insert یا update یک مطلب در مدیریت اگر تیک remember زده نشده باشه در هنگام لاگین ، مطلبی که در دیتابیس قرار می گیرید aoutr_id رو برابر NULL قرار میده.این مشکل می خواستم بدونم از کجا برطرف میشه

2- هنگامی که من در سایت می خوام مطالبم رو نمایش بدم order_by اصلا کار نمیکنه من در model هرچقدر تغییر در order_by ایجاد می کنم تغییر نمیکنه

3- چطور میشه یک ویرایشگر مثله TinyMCE به قسمت مطالب اضافه کرد بطوری که امکان قرار دادن تصویر هم وجود داشته باشه ؟ اگر این مورد رو توضیح بدین ممنون می شم

dddd10
یک شنبه 21 دی 1393, 14:13 عصر
آقا مهرداد سلام، خسته نباشید

میخواستم بپرسم آموزش ACL برای CI مد نظرتون هست؟ کلا بحث سختیه و گیج کننده هست. اگر بشه در ابتدا با اسکریپت هایی که مخصوص CI ساختن این اموزش را قرار بدین خیلی بهتره چون درکش زیاد سخت نمیشه

احسان!
یک شنبه 21 دی 1393, 17:16 عصر
سلام
یکی دو تا از ویدیو ها رو دیدم. خوب بودن. به نظرم تاپیک باید سنجاق بشه.قبلا گزارش دادم برای سنجاق کردن ولی مدیر ها کاری نکردن.

مهرداد سیف زاده
یک شنبه 21 دی 1393, 20:09 عصر
سلام و عرض تشکر فراون از مجموعه بسیار عالی که در اختیار عموم قرار دادین، خیلی ممنون میشم اگه این آموزش رو ادامه بدین تا بتونیم بیشتر از آموزش های خوب شما استفاده کنیم.
من سه تا سوال داشتم در مورد این آموزش:
1- برای insert یا update یک مطلب در مدیریت اگر تیک remember زده نشده باشه در هنگام لاگین ، مطلبی که در دیتابیس قرار می گیرید aoutr_id رو برابر NULL قرار میده.این مشکل می خواستم بدونم از کجا برطرف میشه

2- هنگامی که من در سایت می خوام مطالبم رو نمایش بدم order_by اصلا کار نمیکنه من در model هرچقدر تغییر در order_by ایجاد می کنم تغییر نمیکنه

3- چطور میشه یک ویرایشگر مثله TinyMCE به قسمت مطالب اضافه کرد بطوری که امکان قرار دادن تصویر هم وجود داشته باشه ؟ اگر این مورد رو توضیح بدین ممنون می شم

ممنون از نظرتون:
۱- این مورد رو تا بحال کسی نداشته منم توی ویدیوها اگر دقت کرده باشین تیک رو گذاشتم ولی ازش استفاده نکردم.
۲- بحث order by چون join داره انجام میشه باید براش تعیین کنید که بر حسب چه چیزی order بشه. حال با این حساب برگردید و برحسب شماره id‌ مطالب اون رو order کنید
۳- این کار راحته البته من ckeditor را پیشنهاد میکنم که پلاگین آپلود فایل هم داره. برای نصبش هم نمونه کدهای خود ckeditor همه چیز ر کامل برای php آموزش داده و صرفا باید نصب و استفاده ازش رو یاد بگیرید.

مهرداد سیف زاده
یک شنبه 21 دی 1393, 20:14 عصر
آقا مهرداد سلام، خسته نباشید

میخواستم بپرسم آموزش ACL برای CI مد نظرتون هست؟ کلا بحث سختیه و گیج کننده هست. اگر بشه در ابتدا با اسکریپت هایی که مخصوص CI ساختن این اموزش را قرار بدین خیلی بهتره چون درکش زیاد سخت نمیشه

پیاده سازی acl با ci‌کمی کار رو سخت میکنه. اگر هدف قطعی شما استفاده از ci هست بهتره از پکیجهای نوشته شده و آماده برای ci استفاده کنید. مثلا یکی از اونها cibonfire هست که سایتش http://cibonfire.com/ هست. بیشتر کارها رو راحت کرده و همچنین ساختار ci رو حفظ کرده و شما صرفا باید داکیومنتش رو بخونید.

مهرداد سیف زاده
یک شنبه 21 دی 1393, 20:15 عصر
سلام
یکی دو تا از ویدیو ها رو دیدم. خوب بودن. به نظرم تاپیک باید سنجاق بشه.قبلا گزارش دادم برای سنجاق کردن ولی مدیر ها کاری نکردن.

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

dddd10
یک شنبه 21 دی 1393, 21:47 عصر
پیاده سازی acl با ci‌کمی کار رو سخت میکنه. اگر هدف قطعی شما استفاده از ci هست بهتره از پکیجهای نوشته شده و آماده برای ci استفاده کنید. مثلا یکی از اونها cibonfire هست که سایتش http://cibonfire.com/ هست. بیشتر کارها رو راحت کرده و همچنین ساختار ci رو حفظ کرده و شما صرفا باید داکیومنتش رو بخونید.

امکانش هست اموزش مختصرى از bonfire بسازين؟ويديو درستى براى اين پکيج نديدم اقا مهرداد

A.ardalan far
پنج شنبه 16 بهمن 1393, 13:04 عصر
سلام و تشکر بابت اموزش و راهنمایی خوبت

این لایبراری ک تو اموزش برای template گفته بودین یکم ساده هست امکاناتش کمه .
اگر یه کتابخونه بهتر برای این کار سراغ داری معرفی کنی ممنونت میشم
مرسی

مهرداد سیف زاده
پنج شنبه 16 بهمن 1393, 18:05 عصر
سلام و تشکر بابت اموزش و راهنمایی خوبت

این لایبراری ک تو اموزش برای template گفته بودین یکم ساده هست امکاناتش کمه .
اگر یه کتابخونه بهتر برای این کار سراغ داری معرفی کنی ممنونت میشم
مرسی

ممنون از نظر شما
توی وب باید ببینید چه کلاسهایی نوشتن. من بهترین کلاس رو برای آموزش انتخاب کردم که دوستان در استفاده از اون به مشکل برخورد نکنن. ولی کلاسهای دیگری هم هستن برای این کار.
https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=codeigniter%20template%20class

abbasfisal
شنبه 18 بهمن 1393, 20:40 عصر
سلام
داداش این فایل Template.php داخل فایل زیپ مربوط به theme نبود

مهرداد سیف زاده
یک شنبه 19 بهمن 1393, 08:16 صبح
سلام
داداش این فایل Template.php داخل فایل زیپ مربوط به theme نبود

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

A.ardalan far
یک شنبه 19 بهمن 1393, 14:07 عصر
سلامی دوباره
چرا کتابخانه ای کوکی و سشن در کدایگناتر روی مرورگر گوگل کروم لود نمیشه؟
تو اموزشتون این موضوع رو با کوکی دیدیم
الان خودم این مشکل رو با سشن دارم هر جور کانفیگش کردم اجرا نمیشه سشنه کدایگنایتر روی گوگل کروم
مشکل کجاست؟

مهرداد سیف زاده
یک شنبه 19 بهمن 1393, 15:15 عصر
مشکل روی کانفیگ path و site بر روی سشن و کوکی هست. البته ci‌سشن روی بصورت کوکی بر روی مرورگر ذخیره میکنه.
باید یکم با کانفیگ‌هاش ور برید. لینک زیر کمکتون میکنه
http://stackoverflow.com/questions/10131824/codeigniter-session-does-not-work-in-google-chrome

A.ardalan far
یک شنبه 19 بهمن 1393, 20:37 عصر
من چک کردم تو stackoverflow داستان اینه که سرور کروم با زمان ایران اختلاف زمانی داره و باید تایم sess_expiration رو یک روز گذاشتو این داستانا
من هرکار کردم نشد این کانفیگ منه:


$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 84200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;


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

pary_daryayi
سه شنبه 05 اسفند 1393, 14:26 عصر
سلام . یادمه با توجه به استقبال دوستان , گفته بودید آموزش yii رو هم شروع میکنید , خواستم بدونم منتظر این آموزش باشیم یا خیر ؟

مهرداد سیف زاده
سه شنبه 05 اسفند 1393, 17:04 عصر
انشاءالله اردیبهشت ۹۴ آماده میشه.

سلام . یادمه با توجه به استقبال دوستان , گفته بودید آموزش yii رو هم شروع میکنید , خواستم بدونم منتظر این آموزش باشیم یا خیر ؟

captain_hamid
چهارشنبه 06 اسفند 1393, 13:21 عصر
yii ورژن چند و می خوان آموزش بدین؟ نمیشه هر جلسه که آماده میشه کم کم هر قسمت رو بگذارید؟
تشکر

behnamy01
دوشنبه 25 اسفند 1393, 18:55 عصر
شما در جریان هستید نسخه 3 چه تغییراتی کرده؟ و آیا با یاد گرفتن این آموزش با نسخه 3 به مشکل برمیخوریم یعنی خیلی با هم تفاوت دارن؟

مهرداد سیف زاده
سه شنبه 26 اسفند 1393, 08:38 صبح
شما در جریان هستید نسخه 3 چه تغییراتی کرده؟ و آیا با یاد گرفتن این آموزش با نسخه 3 به مشکل برمیخوریم یعنی خیلی با هم تفاوت دارن؟

من یه نگاه جزئی به ci3 انداختم ولی تغییرات بسیار زیاد نبودن که بشه گفت دستورات تغییر کرده یا اگر کسی منبع آموزشی ci2 رو دارهدیگه برای ci3 نمیتونه استفاده کنه.
به عنوان تمرین بیشتر میتونید دانلود کنید و فیلمهای آموزشی رو طبق اون پیش برید اگر هم به مشکلی برخورد کردید من و دوستان دیگر هستیم و راهنمایی میکنیم. و این برای دوستان جدید خیلی مفید خواهد بود.

mahan206
سه شنبه 26 اسفند 1393, 10:35 صبح
با سلام و تشکر من تازه شروع کردم و ورژن 3 رو دانلود کردم و طبق روش پیش رفتم تا فیلم اموزشی 5 و وقتی میخوام نشون بدم محتویات جدول post رو اینجور نشون میده؟
CI_DB_pdo_result Object
(
[conn_id] => PDO Object
(
)

[result_id] => PDOStatement Object
(
[queryString] => SELECT *
FROM `tbl_post`
)

[result_array] => Array
(
)

[result_object] => Array
(
)

[custom_result_object] => Array
(
)

[current_row] => 0
[num_rows] =>
[row_data] =>
)
طبق دستورتون نوشتم کدها رو به نظرتون دلیل چیه؟

مهرداد سیف زاده
سه شنبه 26 اسفند 1393, 12:47 عصر
خب این که درسته و شاید رکوردی درون جدول post‌ نبوده که برگردونه. در هر صورت خطا نداده بلکه داره کارشو انجام میده

با سلام و تشکر من تازه شروع کردم و ورژن 3 رو دانلود کردم و طبق روش پیش رفتم تا فیلم اموزشی 5 و وقتی میخوام نشون بدم محتویات جدول post رو اینجور نشون میده؟
CI_DB_pdo_result Object
(
[conn_id] => PDO Object
(
)

[result_id] => PDOStatement Object
(
[queryString] => SELECT *
FROM `tbl_post`
)

[result_array] => Array
(
)

[result_object] => Array
(
)

[custom_result_object] => Array
(
)

[current_row] => 0
[num_rows] =>
[row_data] =>
)
طبق دستورتون نوشتم کدها رو به نظرتون دلیل چیه؟

mahan206
سه شنبه 26 اسفند 1393, 13:12 عصر
یه دونه رکورد داخلش هست ولی چرا نشون نداد نمیدونم.

مهرداد سیف زاده
سه شنبه 26 اسفند 1393, 14:24 عصر
شما کدهای ci رو بزارید یه نگاه بندازم
همچنین شاید دیتابیس رو اشتباه ست کردید
مثلا یدونه دیتابیس ساختید به این cms بعد یکی دیگه cms2 و موقع ست کردن به ci اونی رو ست کردید که توش دیتا نیست

mahan206
سه شنبه 26 اسفند 1393, 17:13 عصر
تشکر بابت پاسختون

$db['default'] = array(
'dsn' => '',
'hostname' => 'mysql:host=localhost;dbname=news20p',
'username' => 'root',
'password' => '',
'database' => 'news20p',
'dbdriver' => 'pdo',
'dbprefix' => 'tbl_',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE

class Post extends CI_Controller
{

function index()
{
$this->load->model('postmodel');
$posts=$this->postmodel->getAllPost();
echo "<pre>";
print_r($posts);
}

}

class Postmodel extends CI_Model
{

function __construct()
{
parent::__construct();
}

function getAllPost()
{
return $this->db->get('post');
}
}


روی ومپ سرور در ویندوز8.1 دارم تست میکنم.

dddd10
یک شنبه 02 فروردین 1394, 22:43 عصر
سلام. چرا کد زیر برای pagination کار نمیده؟ اشکال کارمو توضیح بدین لطفا

کنترلر

public function index(){ $this->load->library('pagination'); $this->load->model('user_model');
$config['base_url'] = base_url().'/index.php/user/page'; $config['total_rows'] = $this->user_model->get_users_count(); $config['per_page'] = 1; $config['uri_segment'] = 4; $page = ($this->uri->segment(4))?$this->uri->segment(4):0; $config['first_link'] = 'First'; $config['last_link'] = 'Last'; $this->pagination->initialize($config);
$data['result'] = $this->user_model->get_all($config['per_page'],$page]); $data['link'] = $this->pagination->create_links();
$this->template->load('users/index', array('users'=> $data)); }

مودل


public function get_all($limit,$start){ return $this->db->get('users', $limit, $start)->result_array(); }
public function get_users_count(){ return $this->db->count_all('users'); }

dddd10
دوشنبه 03 فروردین 1394, 18:19 عصر
سلام
ببخشین دوستان میشه پاسخ بدین بهم؟ میدونم بد موقع است و مشغول عید دیدنی اید.

mahan206
شنبه 15 فروردین 1394, 18:17 عصر
منم نسخه 2.2.1 رو هم دانلو کردم و با اون کار کردم اما بازم مشکل دارم و رکورد نشون نمیده مینوسه 4 تا رکورد داخلشه اما خب نشونشون نمیده که
CI_DB_pdo_result Object
(
[num_rows] => 4
[conn_id] => PDO Object
(
)

[result_id] => PDOStatement Object
(
[queryString] => SELECT *
FROM tbl_post
)

[result_array] => Array
(
)

[result_object] => Array
(
)

[custom_result_object] => Array
(
)

[current_row] => 0
[row_data] =>
)

Saroman22
دوشنبه 17 فروردین 1394, 20:42 عصر
با سلام خدمت اساتید محترم ...
میخواستم توسط ایجکس فایلی رو در کدایگنایتر آپلود کنم ...
اما هیچکدوم از روش ها جواب نداد ...
نمونه کد های زیادی رو هم امتحان کردم هیچکدوم پاسخگو نبودند ...
اگه کسی میتونه کمک کنه ...
یه هفتست درگیرشم ...
با تشکر ...

jfaroughi
چهارشنبه 26 فروردین 1394, 01:23 صبح
در لینک زیر روش ساختن یک فایل منیجر برای کدایگنایتر رو توضیح دادم + لینک دانلود کدها هم آپلود اجکس هست و هم فایل تری و ...
http://www.webolar.com/blog/blog/item/file-manager-codeigniter-elfinder







طراحی سایت (http://www.webolar.com)

reza_alie
چهارشنبه 26 فروردین 1394, 11:48 صبح
سلام خدمت دوستان
من می خواستم چنین دسته بندی با CIپیاده سازی کنم اگه امکان داره راهنمایی کنید
دیتا بیسش رو می دونم چطوریه ولی طرز پیاده سازی رو نمی دونم!!
خیلی ممنون
130351

jfaroughi
چهارشنبه 26 فروردین 1394, 15:00 عصر
متوجه منظورتون نمی شم ، منظور از طرز پیاده سازی چی هست ؟ ، برای دیتابیش از پرنت استفاده می کنی ؟









طراحی سایت (http://www.webolar.com)

reza_alie
چهارشنبه 26 فروردین 1394, 16:36 عصر
بله یعنی نمی دونم چطوری برنامه رو بنویسم والد ها رو میتونم بنویسم ولی فرزند ها رو نمی تونم

jfaroughi
چهارشنبه 26 فروردین 1394, 17:32 عصر
تابع recursive (بازگشتی) باید استفاده کنی، یعنی ابتدا والد رو چاپ می کنه، بعد دنبال فرزند می گرده، فرزند مجددا اگر والد باشه دوباره وارد تابع می شه، این تا ان بار تکرار می شه... اگه حلش کردی که خوب، اگه نه ساختار دیتابیست رو بده امشب کدش رو برات می نویسم







طراحی سایت (http://www.webolar.com)

reza_alie
چهارشنبه 26 فروردین 1394, 21:37 عصر
title

parentid

id



آموزشی

0

1



آموزش فتوشاپ

1

2



آموزش برنامه نویسی

1

3



دانلود

0

4



مقاله

4

5



فیلم

4

5



....

...

..



0یعنی والده
خیلی ممنون

jfaroughi
چهارشنبه 26 فروردین 1394, 22:39 عصر
خوب من به جای ساخت دیتابیس از یک آرایه استفاده می کنم و به اجای لیست از عدد استفاده می کنم... تابع buildTree يک آرایه می سازه که والد و فرزند رو به شکل منظمی تبدیل می کنه یعنی هر والد فرزندهای خودش رو در المان children داره و ... و تابع printTree آرایه ساخته شده توسط تابع buildTree را چاپ می کنه ، که شما اگر می خواین برای منو به کار ببرین این تابع رو دستکاری کنید و به جای $w و‌ $q از <ul> و <li> استفاده کنید.


$datas=array(
array(
'id' => 1,
'title'=>'book1',
'parentid'=>0
),
array(
'id' => 2,
'title'=>'book2',
'parentid'=> 1
),
array(
'id' => 3,
'title'=>'book3',
'parentid'=> 2
),


);


function buildTree($data,$prID=0,$q=NULL){
$branch = array();
foreach ($data as $key => $element) {
$bool=!array_key_exists($element['parentid'], $data) && !$q;
if($element['parentid']==$prID || $bool){
$children = buildTree($data, $element['id'],TRUE);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}


function printTree($branch,$space=-1,$w=''){
$q=0;
if($w != ''){
$w=$w.'-';
}
foreach ($branch as $value) {
//$i=$space;

$q++;
echo $w.$q.'-'.$value['title']."<br>";
if(isset($value['children']) && is_array($value['children'])){
$i=$i++;
printTree($value['children'],$i,$w.$q);
}
}
}


$ndata=buildTree($datas);


printTree($ndata);



از اینجا می تونین هم کد رو دانلود کنید و هم خروجی رو ببینین http://ideone.com/D3VrZG

طراحی سایت (http://www.webolar.com)

jfaroughi
پنج شنبه 27 فروردین 1394, 15:14 عصر
برنامه نویس حرفه ای Php ، مسلط به MVC و HMVC نیاز هست، برای یک کار عاالاللی با مزایای عالللی، لطفا اگر کسی علاقه داشت به ایمیل من پیام بده، ممنون
jfaroughi@gmail.com

طراحی سایت (http://www.webolar.com)

NasimRohani
دوشنبه 07 اردیبهشت 1394, 16:36 عصر
سلام دوستان روز خوش من طبق فیلم ها برای ساخت لاگین با استفاده از session جلو رفتم منتها با این ارور مواجه میشم The Encrypt library requires the Mcrypt extention ممنون میشم راهنمایی کنید

jfaroughi
سه شنبه 08 اردیبهشت 1394, 03:38 صبح
برای php باید mcrypt رو فعال کنی در لینوکس این طور فعال می شه،
sudo apt-get install php5-mcrypt
sudo a2enmod php5-mcrypt
از ویندوز هم اطلاعی ندارم، یه ماژول پی اچ پی هست که باید نصب کنی و فعال

jfaroughi
پنج شنبه 24 اردیبهشت 1394, 19:52 عصر
دوستان اگر پرسش و یا سوالی در زمینه Php‌ و فریم ورک هاش داشتن می تونن در سایت نت یار قرار بدن ، سریعا پاسخ می دم ... موفق باشید
http://www.netiar.ir

Restlesa
دوشنبه 28 اردیبهشت 1394, 20:32 عصر
سلام آقا مهرداد
لینک دانلود فیلم ها تو پست یک کار نمی کنن از سایتمکتب خونه هم نمی خوام دانلود کنم چون کیفیت خیلی پایینی دارن
لطفا لینک ها رو تصحیح کن
ممنون

مهرداد سیف زاده
سه شنبه 29 اردیبهشت 1394, 06:43 صبح
از لینک دانلود p30download.com استفاده کنید.هم سرعت بالا هست و هم کامل و با کیفیت


سلام آقا مهرداد
لینک دانلود فیلم ها تو پست یک کار نمی کنن از سایتمکتب خونه هم نمی خوام دانلود کنم چون کیفیت خیلی پایینی دارن
لطفا لینک ها رو تصحیح کن
ممنون

Restlesa
سه شنبه 29 اردیبهشت 1394, 19:45 عصر
این کار رو کردم اما اونا هم دقیقا با همون کیفیت موجود در سایت مکتب خونه اس

dddd10
جمعه 08 خرداد 1394, 23:03 عصر
سلام,
در قسمت مدیریت کاربران یک فیلد برای photo اضافه کردم و کد آپلود و ذخیره تصویر را نوشتم. میخوام شرط بنویسم که اگه کاربر عکس آپلود کرده بود از دیتابیس فراخوانی بشه و نمایش بده. در غیر اینصورت یک عکس پیش فرض که مد نظرم هست بنمایش در بیاد

میشه کمک کنید قسمت اولشو بنویسم؟ ( از دیتابیس عکس همان کاربر نمایش داده بشه )

مهرداد سیف زاده
شنبه 09 خرداد 1394, 04:55 صبح
شما یک پوشه برای ذخیره عکس کاربران داشته باشین و یک فیلد در دیتابیس که اسم فایل پروفایل کاربر هست
هر کاربری که عکس رو آپلود میکنه ابتدا توی مسیر مخشص ذخیره میکنید و بعد اون فیلد رو با نام فایل پر میکنید
در موقع نشان دادن پروفایل اگر فیلد عکس پروفایل پر باشه اون عکس رو نمایش میدید در غیر این صورت عکس پیشفرض نمایش پیدا میکنه.


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

میشه کمک کنید قسمت اولشو بنویسم؟ ( از دیتابیس عکس همان کاربر نمایش داده بشه )

amiralifk@yahoo.com
سه شنبه 12 خرداد 1394, 23:14 عصر
با سلام

آقا مهرداد عزیز , میخواستم بخاطر زحمتی که کشیدید و ویدئوی آموزشی کدایکنایتر رو آماده کردید از شما تشکر کنم واقعا ممنونم.

با تشکر

علی

amiralifk@yahoo.com
چهارشنبه 13 خرداد 1394, 16:31 عصر
نه yii بلکه شما اگر برید طرف کیک و سیمفونی و خلاصه هر فریم ورکی به غیر از codeigniter آخرش به این نتیجه میرسید که همشون گنگ هستن.
ولی چرا همون yii برای خیلی از برنامه نویسا خوب و کارار هستن و اصلا هم گنگ نیست ولی برای شما گنگ هست؟
راستش تا ۲ سال پیش هم منم همین مشکل رو داشتم. یعنی تمام فریم ورکها رو نشستم یکی یکی یاد گرفتم. تمام هر چی فیلم توی وب بود چه تجاری و رایگان و چه خارجی و ایرانی همه رو دانلود و یکی یکی نگاه کردم ولی آخرش هیچی دستگیرم نشد خلاصه داشتم از php‌زده میشدم. تا این که برگشتم و نشستم codeigniter رو یاد گرفتم.
درسته ساده هست ولی واقعا ذهن آدمو درباره فریم ورک روشن میکنه. مثلا همین validation در codeigniter (که توی ویدیوها هم بهش پرداختم) چقدر جالب هست و چقدر هم راحت دقیقا شما رو راه میندازه که چطور بر روی یک فرم باید validation گذاشت. بعد شما با همین دیدگاه میرید سمت yii اونجا درسته validation بصورت خودکار توسط gii به کدها اضافه میشه ولی باز هم جای تغییرات داره حتی میتونید براش سناریو بنویسید و خلاصه هزار تا کار دیگه.
هدف من اینه که دیدگاه دوستان رو نسبت به روند کار در فریم ورک آشنا کنم و این ذهنیت رو ایجاد کنم که شما بجای اینکه خودتون رو درگیر کارهایی جزیی مثل ورود و خروج کاربر کنید میتونید برید و بر روی قسمتهای اصلی پروژه تون وقت بزارید. مثلا در codeigniter کنترل session‌و cookie برای ورود و خروج توسط برنامه نویس انجام میشه ولی در yii‌توسط خود فریم ورک انجام میشه.
البته مستنداتش خیلی هم خوبه ولی باید قبول کرد برای برنامه نویسان خیلی خبره نوشته شده و برای دوستانی که تازه دارن یاد میگیرن کمی مشکل هست. البته در yii2 مستندات هم جور دیگه نوشته شدن که دوستانی که تازه برنامه نویسی شروع کردن هم بتونن با مطالعه اون کدها و مثالها طرز کار با فریم ورک yii رو یاد بگیرن.
در مورد فیلم آموزشی yii‌هم باید ببینم چه تعداد از دوستان روند آموزش بنده رو میپسندن و بعدش شروع کنم.
فیلمها هم مثل همیشه رایگان خواهد بود چون با دعای خیر دوستان خداوند چند برابرش رو بهم میده.

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

lakset
جمعه 15 خرداد 1394, 13:40 عصر
سلام من با قسمت 21 جایی که قرار هست پست ویرایش بشه و بخشی که باید کتگوری حذف شه مشکل دارم ارور:

Error Number: 42S22/1054
Unknown column 'psot_id' in 'where clause'
DELETE FROM `tbl_post_category` WHERE `psot_id` = '4'
Filename: G:/xampp2/htdocs/CodeIgniter3/admin/application/models/postcategory_model.php
Line Number: 19



درضمن پست ای دی شماره 4 هم داخل جدول وجود داره و از کدایگنایتر نسخه 3 استفاده میکنم
------
حل شد باید کمی بیشتر دقت میکردم اشتباه تایپی در قسمت psot_id

pary_daryayi
یک شنبه 24 خرداد 1394, 08:13 صبح
با سلام . من چند وقته تاپیک رو دنبال نکردم . در مورد آموزش yii ، میخواستم بدونم آماده شد ؟ اگر بله لینکش رو لطفا میزارید

masiha68
یک شنبه 24 خرداد 1394, 08:16 صبح
با سلام . من چند وقته تاپیک رو دنبال نکردم . در مورد آموزش yii ، میخواستم بدونم آماده شد ؟ اگر بله لینکش رو لطفا میزارید
فک کنم خبر خاصی نشده ... فعلا تنها پکیج پکیج اقای شهرکی بود که ...

مهرداد سیف زاده
یک شنبه 24 خرداد 1394, 12:04 عصر
سلام
فیلمها در حال آماده سازی هست
فصلها بصورت زیر هستن

آماده سازی محیط توسعه
شروعی سریع در yii2
مفاهیم پایه و کانفیگهای yii2
دیتابیس و مدل
فرمها و view
امنیت
کش
وب سرویس با yii2
تست و باگ


تا فصل ۴ فیلمها آماده شده. یعنی بیشتر کار یا ۵۰درصدش آماده هست
انشاءالله تا آخر ماه مبارک رمضان آپلود میشه.

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

masiha68
یک شنبه 24 خرداد 1394, 12:37 عصر
سلام
فیلمها در حال آماده سازی هست
فصلها بصورت زیر هستن

آماده سازی محیط توسعه
شروعی سریع در yii2
مفاهیم پایه و کانفیگهای yii2
دیتابیس و مدل
فرمها و view
امنیت
کش
وب سرویس با yii2
تست و باگ


تا فصل ۴ فیلمها آماده شده. یعنی بیشتر کار یا ۵۰درصدش آماده هست
انشاءالله تا آخر ماه مبارک رمضان آپلود میشه.
:D
این مجموعه رایگانه یا پولی و اینکه هزینه اش چقدره ؟

مهرداد سیف زاده
یک شنبه 24 خرداد 1394, 13:42 عصر
کاملا رایگان هست
فقط یکم دیر شده برای این که میخوام کیفیت مطلوب رو داشته باشه.
البته بسته به شرایط شاید تا ۱۵روز دیگه هم آماده بشه و انتشارش بدم.

:D
این مجموعه رایگانه یا پولی و اینکه هزینه اش چقدره ؟

masiha68
یک شنبه 24 خرداد 1394, 14:43 عصر
اماده که شد ما رو بی خبر نزار ... گرچه یه کم دیر شد ولی خالی از لطف نیست ادم نگاه کنه و ممنون بخاطر زحماتت ...

amiralifk@yahoo.com
دوشنبه 25 خرداد 1394, 12:14 عصر
سلام
خیلی ممنون بخاطر زحمتی که میکشید برای تهیه ویدئوی آموزشی yii و حتما این سری از ویدئوهای شما با کیفیت تر و بهتر ارائه میشه.

pary_daryayi
سه شنبه 26 خرداد 1394, 10:25 صبح
دستتون درد نکنه ... مجموعه کدایگنایتر که خیلی روان و خوب توضیح داده شده بود . برای دیدن مجموعه ی yii هم مشتاقیم ...

reza_alie
سه شنبه 26 خرداد 1394, 18:42 عصر
بی صبرانه منتظر yiiشما هستیم

mikrob
جمعه 29 خرداد 1394, 23:15 عصر
سلام
من طبق ویدیو آموزشی آپلودم رو درست کردم اما حالا می خوام تو فرمم 2 تا آپلود داشته باشم که یکی عکس و دیگری یه فایل pdf رو آپلود کنه.
می خواستم راهنماییم کنید.

مهرداد سیف زاده
شنبه 30 خرداد 1394, 07:17 صبح
از راهنمای زیر استفاده کنید
http://stackoverflow.com/questions/11524356/multiple-files-upload-array-with-codeigniter-2-0


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

mikrob
چهارشنبه 03 تیر 1394, 23:07 عصر
سلام
بازم یه سول دیگه
من دسته بندی مطالبم رو تو دیتابیس به صورت : ID NAME PARENT درست کردم
حالا می خوام دسته بندیم رو توی یک لیست باکس نشون بده به طوری که اول شاخه اصلی یا همونی که parent صفره بعد زیرش فرزنداش و زیر هر فرزند هم فرزند هر فرزند. (نمیدونم تونستم درست بگم یا نه ولی چیزی شبیه انتخاب مجموعه در جوملا ).
لطفا راهنمایی :لبخندساده:

mohammadfm7
یک شنبه 07 تیر 1394, 14:29 عصر
سلام دوستان کسی اینجا مسلط به کدایگنایتر هست که بتونه یه پروژه ای برام انجام بده ؟
ممنون میشم شماره تماس بدید

h_qorbani
سه شنبه 09 تیر 1394, 10:20 صبح
4
ممنون
برای حل این مشکل باید فایل زیر رو تفییر بدید

system/core/Input.php
خط 728 رو بصورت زیر تغییر بدید


preg_match("/^[a-z0-9:_\/-]+$/i", $str)


سلام دوست من
من از ورژن 2.2.1 استفاده میکنم
نکته ای هست اینه که در نسخه ای که بنده استفاده میکنم خطی که فرمودین دقیقا بهمین شکل هست. تنها اینکه در شماره خط 746 قرار داره.
و من نیز حیت ذخیره سازی با مساله
DisallowedKeyCharacters روبرو هستم.

z_b624
یک شنبه 14 تیر 1394, 15:38 عصر
سلام آقای سیف زاده،در صورت امکان موارد پیشرفته مثل استفاده از template engin مثل smarty یا استفاده از git و همچنین استفاده از htaccess رو هم در آموزش yii قرار دهید
ممنون

مهرداد سیف زاده
یک شنبه 14 تیر 1394, 18:51 عصر
بجر مورد template engine بقیه موارد در فیلمها هست.
لیست فصل ها


help.docx
1.install vagrant and yii2
2.getting starting yii2
3.basec concepts
4.database
5.form
6.display data
7.workshop1 create sample cms
8.security
9.caching
10.web service
11.workshop2 optimize cms
12.module and extensions
13.test and debug
14.workshop3 publish

الان در حال آماده سازی فصل ۷ هستم. با توجه به زمانبندی و تعطیلات در پیش شاید ۲۸ تیر زمان انتشار باشه.
هر کدوم از کارگاه شامل موارد پیشرفته ای هستن. مثلا کارگاه بعد از وب سرویس یک نرم افزار android ساخته میشه که با کمک وب سرویس، نرم افزار میتونه عمل ثبت نام، لاگین و گذاشتن مطلب رو انجام بده.





سلام آقای سیف زاده،در صورت امکان موارد پیشرفته مثل استفاده از template engin مثل smarty یا استفاده از git و همچنین استفاده از htaccess رو هم در آموزش yii قرار دهید
ممنون

goli_s
دوشنبه 15 تیر 1394, 15:02 عصر
سلام
با تشکر از آموزش هاتون
ببخشید من تازه شروع به یادگیری کردم
رسیدم به اونجا که درایورهای pdo رو باید جایگزین کنیم !
نسخه 3 از کدایگنایتر رو دانلود کردم باز هم در مورد درایور ارور میده و وقتی درایورهایی که شما هم گذاشتید جایگزین میکنم کلی ارور دیگه میده
برای نسخه 3 راه حل جدیدی هست؟

goli_s
دوشنبه 15 تیر 1394, 15:07 عصر
ببخشید مشکل بالا حل شد ( هرچی گشتم حذف نظر نیافتم فقط ویرایش میشد )
چرا خروجی جدول پست من صفر میشه؟ (آرایه خروجی 0 ریزالت داره) جدولم هم دارای داده هستش :(

132960

680100
سه شنبه 16 تیر 1394, 18:20 عصر
دوستان عزیز
کسی تخصص تو درگاه بانک ملت داره من رو یاری کنه
http://barnamenevis.org/showthread.php?501012-%D9%85%D8%B4%DA%A9%D9%84-%D8%B9%D8%AC%DB%8C%D8%A8-%D8%A8%D8%A7-%DA%A9%D9%84%D8%A7%D8%B3-MellatBank-%D8%AF%D8%B1%DA%AF%D8%A7%D9%87-%D8%A8%D8%A7%D9%86%DA%A9-%D9%85%D9%84%D8%AA

reza_alie
چهارشنبه 17 تیر 1394, 00:59 صبح
سلام خدمت دوستان
بنده می خواستم در سایتم یک بخشی رو ایجاد کنم وقتی که کاربر بروی گزینه غیرفعال کردن سایت کلیک کرد سایت غیر فعال بشه (بنویسه سایت درحال بروز رسانی می باشد).
اگه امکان داره راهنمایی کنید->مثل تصویر زیر
خیلی ممنون
133005

mikrob
چهارشنبه 17 تیر 1394, 13:01 عصر
سلام خدمت دوستان
بنده می خواستم در سایتم یک بخشی رو ایجاد کنم وقتی که کاربر بروی گزینه غیرفعال کردن سایت کلیک کرد سایت غیر فعال بشه (بنویسه سایت درحال بروز رسانی می باشد).
اگه امکان داره راهنمایی کنید->مثل تصویر زیر
خیلی ممنون


سلام
داخل دیتابیس یه تیبل به نام setting درست کن و یکی از فیلدهاش active باشه و تو پوشه core یه فایلی درست کن مثلا MY_Controller و تو اون چک بشه که اگه active صفر بود یه صفحه خاص مثل صفحه 'سایت در حال بروز رسانی ' رو نشون بده و تمام کنترل ها به جای CI_controller از MY_Controller استفاده کن (تو فایل های آموزشی هم بود.)

amiralifk@yahoo.com
چهارشنبه 31 تیر 1394, 22:27 عصر
با سلام

از فریم ورک yii 2 چه خبر ؟ ممنون میشم اطلاع رسانی بفرمایید.

با تشکر

مهرداد سیف زاده
پنج شنبه 01 مرداد 1394, 20:42 عصر
هنوز سه فصل از فیلمها مونده
بیشتر بخشهایی که کار داره فصل‌های کارگاه هست.
اگر شنبه کاملا آماده نشد. دیگه نمیتونم دوستان رو بیشتر از ایم منتظر بزارم. قسمتهایی رو منتشر میکنم و تا یکماه آینده کاملش میکنم.


با سلام

از فریم ورک yii 2 چه خبر ؟ ممنون میشم اطلاع رسانی بفرمایید.

با تشکر

reza_alie
جمعه 02 مرداد 1394, 10:32 صبح
من میخواستم یک dropdownمثل زیر ایجاد کنم ولی مشکل دارم اگه امکان داره راهنمایی کنید خیلی ممنون
133506
ساختار دیتابیس من:
id parent_id name




تشکر ازهمه دوستان

meysam1366
یک شنبه 04 مرداد 1394, 21:19 عصر
سلام

ببخشید آقا مهرداد پکیج کی آماده میشه؟

ما مشتاقیم

مهرداد سیف زاده
سه شنبه 06 مرداد 1394, 06:23 صبح
قرار بود مجموعه آموزشی رو در همین هفته انتشار بدم ولی بدلایل زیر این کار انجام نشد:
۱. تمام فصل ها تموم شد. از سه کارگاه درون مجموعه، کارگاه اول که بزرگترین مطالب رو داشت تموم شده و ۲ کارگاه دیگه یکی بحث لاگین و دیگری rbac هست. که خیلی زود تموم میشه
۲. انتشار ناقص مجموعه آموزشی دردسرهای بیشتری داره و برای بعضی از دوستان مشکلات زیادی ایجاد میکنه. مثلا در مورد مجموعه ci خیلی‌ها به من ایمیل میزنن میگن شما درون مجموعه گفتید که فایل‌های تمپیلت و pdo رو برای دانلود قرار میدید. این فایلها کجاست؟. در واقع اون‌ها حتی نمیدونن که این پست برای مجموعه باز هست و میتونن مشکلات رو برطرف کنن. برای همین این بار درون خود مجموعه میخوام کار رو تا انتها و دقیق پیش ببرم.
۳. تغییر شاختار. در مجموعه ci کلا ۲۶ تا فیلم بود برای انتشار ولی در مجموعه yii2 کلا ساختار عوض شده. مجموعه yii2 در ۱۴فصل هست و هر فصل فایلهای تیکه‌تیه شده که هر کدوم یه مبحثی رو آموزش میدن(مثل فیلمهای lynda.com) لذا تنظیم و آپلود این فایلها زمان بسیار زیادی میبره(حتی به اندازه تهیه خود مجموعه)
۴. عدم کم کردن بخشها از ساختاری که ۶ ماه پیش استارت زده بودم. دقیقا ۶ ماه پیش شروع کردم به تهیه مجموعه اموزشی. در همون موقع ۳ الی ۴ روز هی فیلم تهیه کردم و هی پاک کردم چون احساس میکردم ساختار مناسب رو نداره و نمیخواستم بر طبق فیلمهای معمولی دیگه انجام بشه. مثلا خیلی مجموعه آموزشی که مباحثش خیلی کند پیش میره یا بدلیل نداشتن ساختار مناسب مخاطب زده میشه و تا پایان نمیره. ولی تمام تلاشم در تهیه ساختار بود. که بعد از یک هفته یک ساختار ۱۴ فصلی که ۳ فصل از اون کارگاه عملی هست و در انتها cms اماده میشه که حتی کابران قبل از شروع مجموعه اون رو دانلود و نصب کنن و ببینن با یادگیری این مجموعه چه کارهایی میتونن انجام بدن(هدفی که در مجموعه ci بود ولی عملی نشد). لذا تا الان تلاشم و مقاوتم برای حفظ اون ساختار هست.
از تمام دوستان تقاضا دارم کمی صبر کنن. بنده هم جز خدمت کار دیگری دارم نمیکنم. نه هدف تبلیغاتی دارم، نه وقت انجام پروژه دارم، نه هدف فروشش رو دارم و فقط به عقاید و قولی که به همه دادم پایبند هستم. که حمایت و دعاهای شما عزیزان از هزاران هدف مادی بالاتر هست.
تمام تلاشم این هست که شنبه هفته آینده کار رو جمع کنم.



سلام

ببخشید آقا مهرداد پکیج کی آماده میشه؟

ما مشتاقیم

pary_daryayi
سه شنبه 06 مرداد 1394, 08:32 صبح
بابت زحمتی که برای پکیج yii میکشید ممنون .
--------------------------------
یه سوال :
در کدایگنایتر برای استفاده از pdo آیا همین که این قسمت رو تنظیم کنیم کافیه ؟


$db['default']['dbdriver'] = 'pdo';


مابقی کدهای اکتیو رکورد مثل قبل هستند ؟
من وقتی pdo رو ست میکنم یه خطای طولانی دارم که قسمتی اش اینه :
Uncaught exception 'PDOException' with message 'invalid data source name' in

captain_hamid
سه شنبه 06 مرداد 1394, 13:33 عصر
ضمن تشکر از شما. اگه ممکن هست هر قسمتی که آماده شده رو آپلود کنید تا اینجوری ما هم واسه دانلود مشکل نداشته باشیم. چون قاعدتا حجمش زیاده.
یک لینک هم بگذارید هر کسی هر چقدر می خواد پول واریز کنه. یه چیزی مثل donat.
ممنون

meysam1366
چهارشنبه 07 مرداد 1394, 22:21 عصر
قرار بود مجموعه آموزشی رو در همین هفته انتشار بدم ولی بدلایل زیر این کار انجام نشد:
۱. تمام فصل ها تموم شد. از سه کارگاه درون مجموعه، کارگاه اول که بزرگترین مطالب رو داشت تموم شده و ۲ کارگاه دیگه یکی بحث لاگین و دیگری rbac هست. که خیلی زود تموم میشه
۲. انتشار ناقص مجموعه آموزشی دردسرهای بیشتری داره و برای بعضی از دوستان مشکلات زیادی ایجاد میکنه. مثلا در مورد مجموعه ci خیلی‌ها به من ایمیل میزنن میگن شما درون مجموعه گفتید که فایل‌های تمپیلت و pdo رو برای دانلود قرار میدید. این فایلها کجاست؟. در واقع اون‌ها حتی نمیدونن که این پست برای مجموعه باز هست و میتونن مشکلات رو برطرف کنن. برای همین این بار درون خود مجموعه میخوام کار رو تا انتها و دقیق پیش ببرم.
۳. تغییر شاختار. در مجموعه ci کلا ۲۶ تا فیلم بود برای انتشار ولی در مجموعه yii2 کلا ساختار عوض شده. مجموعه yii2 در ۱۴فصل هست و هر فصل فایلهای تیکه‌تیه شده که هر کدوم یه مبحثی رو آموزش میدن(مثل فیلمهای lynda.com) لذا تنظیم و آپلود این فایلها زمان بسیار زیادی میبره(حتی به اندازه تهیه خود مجموعه)
۴. عدم کم کردن بخشها از ساختاری که ۶ ماه پیش استارت زده بودم. دقیقا ۶ ماه پیش شروع کردم به تهیه مجموعه اموزشی. در همون موقع ۳ الی ۴ روز هی فیلم تهیه کردم و هی پاک کردم چون احساس میکردم ساختار مناسب رو نداره و نمیخواستم بر طبق فیلمهای معمولی دیگه انجام بشه. مثلا خیلی مجموعه آموزشی که مباحثش خیلی کند پیش میره یا بدلیل نداشتن ساختار مناسب مخاطب زده میشه و تا پایان نمیره. ولی تمام تلاشم در تهیه ساختار بود. که بعد از یک هفته یک ساختار ۱۴ فصلی که ۳ فصل از اون کارگاه عملی هست و در انتها cms اماده میشه که حتی کابران قبل از شروع مجموعه اون رو دانلود و نصب کنن و ببینن با یادگیری این مجموعه چه کارهایی میتونن انجام بدن(هدفی که در مجموعه ci بود ولی عملی نشد). لذا تا الان تلاشم و مقاوتم برای حفظ اون ساختار هست.
از تمام دوستان تقاضا دارم کمی صبر کنن. بنده هم جز خدمت کار دیگری دارم نمیکنم. نه هدف تبلیغاتی دارم، نه وقت انجام پروژه دارم، نه هدف فروشش رو دارم و فقط به عقاید و قولی که به همه دادم پایبند هستم. که حمایت و دعاهای شما عزیزان از هزاران هدف مادی بالاتر هست.
تمام تلاشم این هست که شنبه هفته آینده کار رو جمع کنم.

سلام آقا مهرداد

شبتون بخیر

ممنون از لطفتون که این همه زحمت می کشید

این پکیج برای کسانی که کم با این فریموک کار کردن هم مناسبه یا باید حتما ورژن ۱ش رو قبلش یاد گرفت؟

مهرداد سیف زاده
پنج شنبه 08 مرداد 1394, 05:30 صبح
سلام آقا مهرداد

شبتون بخیر

ممنون از لطفتون که این همه زحمت می کشید

این پکیج برای کسانی که کم با این فریموک کار کردن هم مناسبه یا باید حتما ورژن ۱ش رو قبلش یاد گرفت؟

برای استفاده از این مجموعه هیچ نیازی به yii1 نیست. در صورتی نیاز به آموزش yii1 بود که من بعضی موارد مثل تعریف و استفاده از model رو آموزش ندم. ولی همه چیز پایه آموزش داده و در کارگاه به موارد بیشتری هم پرداخته میشه. تا اون جا که سعی کردم کاملا کاربردی و عملی باشه. مثلا ۶ روز پیش قسمت ماژولها و extensions تموم شد. برای بخش extensions یک ابزار برای rss ساخته میشه که از پایه نحوه نوشتن extensions تا گرفتن کلاس از phpclasses و تبدیل اون به کلاس yii2 و بعد از قرار دادن در git و ثبت در packagist و گرفتن اون از packagist و تست کردن خروجی کار. در واقع بیشتر سعی شده موارد پایه با کاربردهای عملی آموزش داده بشه و بعد برای مطالعه بیشتر رجوع کنید به مستندات اصلی. برای آموزش فصلها از اسلاید انگلیسی استفاده شده که همون مستندات yii2 هست. البته کل أموزش روی اسلاید نیست بلکه مثلا همین قسمت extensions دو دقیقه از روی اسلاید هست و موارد پایه رو آموزش دادم و بعدش دست به کد شدم و یک نمونه ساختم(https://github.com/seifzadeh/persianyii-rss و https://packagist.org/packages/persianyii/yii2-rss)

meysam1366
پنج شنبه 08 مرداد 1394, 15:06 عصر
ممنون آقا مهرداد

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

موفق باشید

mahdi.prg
جمعه 09 مرداد 1394, 13:31 عصر
در پاسخ به مشکل کاربر : goli_s (http://barnamenevis.org/member.php?298029-goli_s)
;()return $this->db->get('post')->result_array

mahdi.prg
جمعه 09 مرداد 1394, 14:14 عصر
سلام، من در قسمت pagination مشکل دارم از دوستان و استاد صیف زاده تقاضای کمک دارم.
کد pagination من به صورت زیر است و پست های من تحت تاثیر متغیر per_pages قرار می گیرند ولی متاسفانه دکمه های صفحه بندی در view نمایش داده نمی شوند !!!- home_modelو pagination رو هم در سازنده load کرده ام.
133767

vahiddddd
شنبه 10 مرداد 1394, 20:37 عصر
تشکر از مطالب عالیتان

reza_alie
دوشنبه 12 مرداد 1394, 11:14 صبح
سلام
چطوری میتونم از دیتابیس پشتیبان بگیرم ؟
از کد های خود زیر استفاده کردم ولی جواب نداد:

// Load the DB utility class
$this->load->dbutil();

// Backup your entire database and assign it to a variable
$backup =& $this->dbutil->backup();

// Load the file helper and write the file to your server
$this->load->helper('file');
write_file('/path/to/mybackup.gz', $backup);

// Load the download helper and send the file to your desktop
$this->load->helper('download');
force_download('mybackup.gz', $backup);
اگه امکان داره راهنماییی کنید
خیلی مممنون

ali65509
پنج شنبه 15 مرداد 1394, 18:42 عصر
استاد خیلی خیلی ممنون از شما.فقط پکیج تون کی آماده میشه خیلی منتظریم.

z_b624
دوشنبه 19 مرداد 1394, 12:48 عصر
آقای سیف زاده میخواستم خواهش کنم اگه امکان داره قسمت هایی رو که آماده کردید رو بزارید توی سایت تا ما این قسمت ها رو مشاهده کنیم ان شاء الله قسمت های پایانی هم تکمیل میشه.ممنون

majiiid
سه شنبه 20 مرداد 1394, 12:02 عصر
با عرض سلام و خسته نباشید خدمت استاد گرامی
استاد من توی آموزش
codeigniter
شما تا فیلم شماره 5 پیش رفتم.مشکلی که در پایان این جلسه دارم اینه که طبق آموزش شما باید خروجی بصورت
134146

باشه که الحاق کردم ولی برای من بصورت
134147

در میاد میشه بفرمایین مشکل کار از کجاست و چطور میتونم مشکلم رو برطرف کنم؟
اینم کد هایی که نوشتم:
134156
134149
در ضمن توی دیتابیسم هم در جدول post من همون چیزایی که شما نوشتید رو دقیق نوشتم یعنی 4 چیز داخلشه
پیشاپیش از زحماتتون کمال تشکر و قدر دانی رو دارم.

mikrob
سه شنبه 20 مرداد 1394, 21:34 عصر
134156
134149
.
سلام
باید در function getallpost اینجوری بنویسی:


return $this->db->get('post')->result_array();

majiiid
چهارشنبه 21 مرداد 1394, 08:40 صبح
با سلام ممنون از راهنماییتون مشکلم برطرف شد.

Mr.Z70
چهارشنبه 21 مرداد 1394, 08:56 صبح
با سلام و خسته نباشید.استاد این آموزش yii کی به پایان میرسه و برای دانلود میذاریدش؟
واینکه توی همین تایپیک لینکشو میذارید یا یکی دیگه میسازید؟

aynaz96
شنبه 24 مرداد 1394, 11:38 صبح
سلام چرا فیلم 15 نصفس؟ مگه نگفتین تو فیلم میخاین بالای صفحه admin نمایش داده بشه ولی ادامه ندادین بقیشو و تیک remember هم بعد آخرین کدها کار خاصی انجام نمیده درصورتی که چون کوکی ساخته شده باید در ورود های بعدی autologin بشه میشه راهنماییم کنین خیلی نیاز دارم به ادامه این فیلم


این کد MY_Controller که کار خاصی انجام نمی ده


<?php
class MY_Controller extends CI_Controller
{ public $username;

function __construct()
{
parent::__construct();



$slogin=$this->input->cookie('userpage');

if(!empty($slogin))
{
$this->load->library('encrypt');
$login_text=$this->encrypt->decode($slogin,ENCRYPT_KEY);
$login_info=explode('_',$login_text);
$this->username=$login_info[0];
$is_login=$login_info[1];
if($is_login!='islogin')
{
redirect('login/index');
}

else
{
$login=$this->session->userdata('login');
if(!empty($login))
{
if($login!=true)
{
redirect('login/index');
}
}
else
{
redirect('login/index');}
}
$this->username=$this->session->userdata('username');

//end if
}


//end function
}


//end class
}
?>

مهرداد سیف زاده
شنبه 24 مرداد 1394, 14:16 عصر
تقاضای کمک از تمامی دوستانی که ساکن تهران هستن
مجموعه آموزشی yii2‌ آماده برای انتشار هست. و حدود ۷۰۰ مگابایت باید آپلود بشه. متاسفانه دسترسی به اینترنت ندارم و به دلایلی نمیتونم برم کافی نت
دوستان اگر کسی ساکن تهران هست هر چه سریعتر با من تماس بگیره و این ۷۰۰ مگابایت رو در دراپ باکس آپلود کنه
بازم ممنون.
شماره تماس ۰۹۳۷۴۶۹۳۴۹۳

aynaz96
شنبه 24 مرداد 1394, 15:55 عصر
سلام این کد صفحه login model منه
<?php
class Login_model extends CI_Model
{
function __construct()
{
// Call the CI_Model constructor
parent::__construct();
}
function check()
{

$username=$this->input->post('username',true);
$password=$this->input->post('password',true);
$remember=$this->input->post('remember',true);

//$this->db->select('username','password');
//$this->db->where('username',$username);
//$this->db->where('password',md5($password));
//$this->db->from('user');
//$this->db->limit(1);
//$is=$this->db->count_all_results();
$user=$this->db->get_where('user',array('username'=>$username,'password'=>md5($password)));

$is=$user->num_rows();
if($is>0)
{$id=$user->row(0)->id;

$data_session=array(
'username'=>$username,
'login'=>true,
'id'=>$id);
$this->session->set_userdata($data_session);

//cookie
if($remember==1)
{
$login_text=$username.'_islogin_'.$id;
$this->load->library('encrypt');
$cookie_value=$this->encrypt->encode($login_text,ENCRYPT_KEY);



$data_cookie=array(
'name'=>'userpage',
'value'=>$cookie_value,
'expire'=>time()+60*60*24*365,);

$this->input->set_cookie($data_cookie);

}


redirect('dashboard/index');

}
else{
redirect('login/index');}






}






}
نمیدونم چرا id مقدار دهی نمیشه و وقتی که میخام به متغیر $user_id به وسیله این فیلد مقدار بدم مقدار داده نمیشه و در جدولم null قرار میگیره
خواهش میکنم کمک کنین

aynaz96
شنبه 24 مرداد 1394, 16:21 عصر
آقای سیف زاده چرا جواب سوالای مربوط به codeigniter و نمی دید تو رو خدا کمک کنین خیلی مهمه
این سوال مربوط به فیلم 16 میشه و وقتی در جدول داده ها درج میشه author_id برابر با null می شود
اینم کد ها:
صفحه login_model


<?php
class Login_model extends CI_Model
{
function __construct()
{
// Call the CI_Model constructor
parent::__construct();
}
function check()
{

$username=$this->input->post('username',true);
$password=$this->input->post('password',true);
$remember=$this->input->post('remember',true);

//$this->db->select('username','password');
//$this->db->where('username',$username);
//$this->db->where('password',md5($password));
//$this->db->from('user');
//$this->db->limit(1);
//$is=$this->db->count_all_results();
$user=$this->db->get_where('user',array('username'=>$username,'password'=>md5($password)));

$is=$user->num_rows();
if($is>0)
{$id=$user->row(0)->id;

$data_session=array(
'username'=>$username,
'login'=>true,
'id'=>$id);
$this->session->set_userdata($data_session);

//cookie
if($remember==1)
{
$login_text=$username.'_islogin_'.$id;
$this->load->library('encrypt');
$cookie_value=$this->encrypt->encode($login_text,ENCRYPT_KEY);



$data_cookie=array(
'name'=>'userpage',
'value'=>$cookie_value,
'expire'=>time()+60*60*24*365,);

$this->input->set_cookie($data_cookie);

}


redirect('dashboard/index');

}
else{
redirect('login/index');}






}

}


صفحه my_controller



<?php
class MY_Controller extends CI_Controller
{ public $username;
public $user_id;

function __construct()
{
parent::__construct();



$slogin=$this->input->cookie('userpage');

if(!empty($slogin))
{
$this->load->library('encrypt');
$login_text=$this->encrypt->decode($slogin,ENCRYPT_KEY);

$login_info=explode('_',$login_text);

$this->username=$login_info[0];
$this->user_id=$login_info[2];
$is_login=$login_info[1];
if($is_login!='islogin')
{
redirect('login/index');
}

else
{
$login=$this->session->userdata('login');
if(!empty($login))
{
if($login!=true)
{
redirect('login/index');
}
}
else
{
redirect('login/index');}
}
$this->username=$this->session->userdata('username');
$this->user_id=$this->session->userdata('id');


//end if
}


//end function
}


//end class
}
?>

صفحه post

<?php

class Post extends MY_Controller
{
function index()
{
$this->template->load('post/index');


}
function create()
{

$this->load->model('post_model');
$data=$_POST;
$data['create_time']=time();
$data['author_id']=$this->user_id;


$this->post_model->insert($data);


}
}

aynaz96
شنبه 24 مرداد 1394, 16:35 عصر
سلام خواهشا کل cms بزارین بری دانلود بعضی قسمتا رو نصفه گفتین کاملش کنیم حداقل خواهش میکنم. تو یکی از فیلم ها هم گفته بودین میزارین ولی وجود نداره هیچ جایی

aynaz96
شنبه 24 مرداد 1394, 19:55 عصر
مشکلم حل شد

aynaz96
شنبه 24 مرداد 1394, 23:24 عصر
باز هم سلام در فیلم 16 گفتین میتونیم validation ها رو درست کنیم من این کار رو کردم و درست هم کار کرد ولی میشه بگین چجوری میتونم وقتی view لود میکنم همراه با css و layout لود بشه؟ چون برای من بدون اون ها لود میشه ولی وقتی redirect میکنم درست انجام میشه ولی ارور فرم و نمایش نمیده.

aynaz96
یک شنبه 25 مرداد 1394, 12:48 عصر
این مشکلم خودم حل کردم :)

majiiid
جمعه 30 مرداد 1394, 04:45 صبح
با سلام خدمت استاد.فیلم ها رو آپلود کردم در dropbox

ali65509
جمعه 30 مرداد 1394, 18:06 عصر
با سلام خدمت استاد.فیلم ها رو آپلود کردم در dropbox

ممنون.بزار لینکشو عزیز

mojtaba.sln
دوشنبه 02 شهریور 1394, 00:30 صبح
با سلام خدمت استاد.فیلم ها رو آپلود کردم در dropbox

سلام...
کاش لینکشو می ذاشتید...
ممنون می شم بذارید...
خدا خیرت بده

mortal2007
دوشنبه 02 شهریور 1394, 01:37 صبح
سلام
ببخشید هیچ کدوم از دوستان سورس این مجموعه رو نداره...من بعضی جاها از روی فیلم جلو می رم اما بازم ارور می گیره... ممنون میشم سورس کامل رو بزارید

raha001
شنبه 14 شهریور 1394, 08:22 صبح
سلام و تشکر بابت آموزش مفیدتان

یک سوالی داشتم که ممنون می شم پاسخ آن را بدهید
1- اینکه نحوه کد نویسی و کار با ورژن 3و 2.4 این فریمورک به همین طریق می باشد یا اینکه باید تغییراتی در آن لحاظ گردد؟ چون من ورژن 3 این فریمورک را نصب کردم اما هر کار کردم نتونستم اطلاعات رو از دیتابیس بخونم ولی به دیتا بیس متصل می شم اما ورژن 2.4 را که دانلود کردم و فایل ووایرایش شده pdo شما را که جایگذین کردم با همان کدها اطلاعات را از دیتابیس تونستم فراخوانی کنم!! ضمنا از روش pdo هم استفاده می کنم نمیدونم مشکل از کجاست!؟
2- اینکه هر کار می کنم اطلاعات فارسی رو به صورت علامت سوال نمایش می دهد تمام تنظیماتی رو هم که دوستان گفتن اعمال کردم ولی نتیجه ای نگرفتم نمی دونم باید چکار کنم
واقعا ممنون میشم یکی راهنمایی کنه.

majiiid
یک شنبه 15 شهریور 1394, 16:04 عصر
سلام و تشکر بابت آموزش مفیدتان

یک سوالی داشتم که ممنون می شم پاسخ آن را بدهید
1- اینکه نحوه کد نویسی و کار با ورژن 3و 2.4 این فریمورک به همین طریق می باشد یا اینکه باید تغییراتی در آن لحاظ گردد؟ چون من ورژن 3 این فریمورک را نصب کردم اما هر کار کردم نتونستم اطلاعات رو از دیتابیس بخونم ولی به دیتا بیس متصل می شم اما ورژن 2.4 را که دانلود کردم و فایل ووایرایش شده pdo شما را که جایگذین کردم با همان کدها اطلاعات را از دیتابیس تونستم فراخوانی کنم!! ضمنا از روش pdo هم استفاده می کنم نمیدونم مشکل از کجاست!؟
2- اینکه هر کار می کنم اطلاعات فارسی رو به صورت علامت سوال نمایش می دهد تمام تنظیماتی رو هم که دوستان گفتن اعمال کردم ولی نتیجه ای نگرفتم نمی دونم باید چکار کنم
واقعا ممنون میشم یکی راهنمایی کنه.
سلام وقتتون بخیر.من دارم با نسخه 3 کار میکنم وتا الان قسمت 16 ازین مجموعه هستم تا اینجا هرسوالی دارید میتونید از طریق ایمیل سوال هاتون رو بپرسید که مشکلتون رو برطرف کنم موفق باشید.
mr.zolfaghari90@gmail.com

majiiid
یک شنبه 15 شهریور 1394, 16:11 عصر
با سلام دوستانی که آموزش Yii2 رو میخواستند میتونن از طریق لینک زیر به اون تایپیک برن برای رفع اشکالات و همچنین دریافت لینک دانلود.
با تشکر
http://barnamenevis.org/showthread.php?505633-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-yii2-%D8%A7%D8%B2-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C-%D8%AA%D8%A7-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D8%A8%D8%A7-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B9%D9%85%D9%84%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-cms

raha001
پنج شنبه 19 شهریور 1394, 12:54 عصر
سلام ممنون که راهنمایی می کنید
بنده سوالم را برایتان ایمیل کردم منتظر پاسخ هستم
با سپاس

وب ترین ها
سه شنبه 28 مهر 1394, 17:13 عصر
سلام دوستان من یه مشکلی داشتم مربوط به جلسه 17 اموزش کدیگنایتر میشه
که طبق اموزشها پیش رفت اما متاسفانه فقط مقدار آخرین چک باکس checked شده رو پست میکنه به کنترلر و همه ی کتگوری های checked شده رو ارسال نمیکنه
،ممنون میشم بگید مشکل چیه؟؟
از نسخه ورژن 3 کدیگنایتر استفاده میکنم،
اینم کد صفحه view




<?php foreach($category as $key => $value)
{ $name='category['.$value['tname'].']';
echo '<label>'; echo $value['tname'];
echo form_checkbox(array('name'=>$name,'value'=>$value['type']));
echo '&nbsp&nbsp</label>'; } ?>


کد صفحه controller



$data['price']=$this->input->post('price',true);
//$data['image']=$this->upload->data('img',true);
//$data['image']=$data['upload_data']['filename'];
$data['number']=$this->input->post('number',true);
$data['detail']=$this->input->post('detail',true);
$data2 = array('upload_data' => $this->upload->data());
//print_r($data2); $data['image']=$data2['upload_data']['file_name'];
$category=$this->input->post('category');
if(!empty($category)) { $this->load->model('post_model');
$post_id=$this->post_model->insert($data);
if($post_id) { print_r($category);
$ins_array=array();
foreach($category as $key => $value)
{ $ins_array[]="('$post_id','$value')"; }
print_r($ins_array);
exit();
}}

وب ترین ها
چهارشنبه 29 مهر 1394, 11:04 صبح
سلام دوستان من یه مشکلی داشتم مربوط به جلسه 17 اموزش کدیگنایتر میشه
که طبق اموزشها پیش رفت اما متاسفانه فقط مقدار آخرین چک باکس checked شده رو پست میکنه به کنترلر و همه ی کتگوری های checked شده رو ارسال نمیکنه
،ممنون میشم بگید مشکل چیه؟؟
از نسخه ورژن 3 کدیگنایتر استفاده میکنم،
اینم کد صفحه view




<?php foreach($category as $key => $value)
{ $name='category['.$value['tname'].']';
echo '<label>'; echo $value['tname'];
echo form_checkbox(array('name'=>$name,'value'=>$value['type']));
echo '&nbsp&nbsp</label>'; } ?>


کد صفحه controller



$data['price']=$this->input->post('price',true);
//$data['image']=$this->upload->data('img',true);
//$data['image']=$data['upload_data']['filename'];
$data['number']=$this->input->post('number',true);
$data['detail']=$this->input->post('detail',true);
$data2 = array('upload_data' => $this->upload->data());
//print_r($data2); $data['image']=$data2['upload_data']['file_name'];
$category=$this->input->post('category');
if(!empty($category)) { $this->load->model('post_model');
$post_id=$this->post_model->insert($data);
if($post_id) { print_r($category);
$ins_array=array();
foreach($category as $key => $value)
{ $ins_array[]="('$post_id','$value')"; }
print_r($ins_array);
exit();
}}


مشکل حل شد با تغییر کد لاین 2 صفحه view


$name='category[]';

tooka123
جمعه 01 آبان 1394, 12:56 عصر
سلام ، در مورد صفحه اصلی سایت یه سوال دارم

فرض کنید با کنترلر home صفحه اصلی سایت را نشون بدهیم و در صفحه اصلی سایت یک سایدبار داریم و یک قسمت content ،و فقط اطلاعات قسمت content تغییر می کنه که اطلاعات content را با کنترلر مربوطه زمان آدرس دهی به دست میاریم تا اینجا من مشکلی ندارم

ولی اگه در قسمت ساید بار هم بخواهیم چندتا ماژول نمایش دهیم مثلا آخرین اخبار که این ماژول با یک کنترلر جدا نوشته شده مثلا last_news ، می خوام بدونم وقتی کنترلر home فراخونی میشه کنترلر last_news را چه طور همزمان با home صدا بزنیم .

البته من قبلا در قسمت ساید بار با ajax اطلاعات last_news رو می گیرم ولی می خوام بدونم راه دیگه بدون ajax نیست .

behzadamin12
جمعه 01 آبان 1394, 21:29 عصر
سلام
بچه ها من تو فیلم آموزشی قسمت 10 این مشکلو دارم وقتی میخام لاگین کنم
پیعامی که نمایش میده
A PHP Error was encountered
Severity: NoticeMessage: Trying to get property of non-objectFilename: database/DB_active_rec.phpLine Number: 997مشکل چیه و از کجا برطرف میشه؟
اینم کدهای مدل و ویو و کنترلر




<?php


class Login extends CI_Controller
{
function index()
{
$this->load->view('login');
}
function auth()
{
$this->load->helper('form');
$this->load->library('form_validation');

$rules=array(
array(
'field'=>'username',
'label'=>'username',
'rules'=>'required'
),
array(
'field'=>'password',
'label'=>'password',
'rules'=>'required'
),
array(
'field'=>'remember',
'label'=>'remember',
'rules'=>'numeric'
)
);

$this->form_validation->set_rules($rules);
if($this->form_validation->run()==FALSE)
{
$this->load->view('login');
}
else
{
$this->load->model('login_model');
$this->login_model->check();
}

/*$this->form_validation->set_rules('username','نام کاربری','required');
$this->form_validation->set_rules('password','password','required');
$this->form_validation->set_rules('email','email','required');

echo '<pre>';
print_r($_POST);*/
}
}


?>






<?php
class Login_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function check()
{
//print_r($_POST);
$this->db->select('username','password');
$this->db->where('username',$_POST['username']);
$this->db->where('password',md5($_POST['password']));
$this->db->from('user');
$this->db->limit(1);
$is=$this->db->count_all_results();
echo $is;
//echo '<br><br>'.$_POST['username'].$_POST['password'];
}
}
?>





<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>فرم ورود</title>
<link rel="stylesheet" href="<?php echo base_url() ?>assets/css/style_login.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<section class="container">
<div class="login">
<h1>ورود به پنل مدیریت</h1>
<?php
$this->load->helper('form');
//for all error
echo validation_errors();
echo form_open('login/auth');
$user_style=array('name'=>'username','placeholder'=>'نام کاربری','required'=>'required');
$username=form_input($user_style);
$pass_style=array('type'=>'password','name'=>'password','placeholder'=>'پسورد','required'=>'required');
$password=form_input($pass_style);
$chec_style=array('name'=>'remember','value'=>'1');
$remember=form_checkbox($chec_style);
$submit_style=array('name'=>'submit','value'=>'login');
$submit=form_submit($submit_style);
?>

<p style="text-align: right; direction: rtl;">
<?php echo $username;
//for one error
echo form_error('username','<b style="color:red;">','</b>'); ?></p>
<p style="text-align: right; direction: rtl;">
<?=$password; ?></p>
<p class="remember_me">
<label>
<?=$remember ?>
مرا به خاطر بسپار
</label>
<?php echo form_error('remember','<b style="color:red;">','</b>') ?>
</p>
<p class="submit"><?=$submit ?></p>
<?php echo form_close(); ?>
</div>


<div class="login-help">
<p>پسوردم را فراموش کرده ام &nbsp;&nbsp;&nbsp;<a href="index.html">بازیابی رمز عبور</a></p>
</div>
</section>


<!--
<section class="about">
<p class="about-links">
<a href="http://www.cssflow.com/snippets/login-form" target="_parent">View Article</a>
<a href="http://www.cssflow.com/snippets/login-form.zip" target="_parent">Download</a>
</p>
<p class="about-author">
&copy; 2012&ndash;2013 <a href="http://thibaut.me" target="_blank">Thibaut Courouble</a> -
<a href="http://www.cssflow.com/mit-license" target="_blank">MIT License</a><br>
Original PSD by <a href="http://www.premiumpixels.com/freebies/clean-simple-login-form-psd/" target="_blank">Orman Clark</a>
</section> -->
</body>
</html>

behzadamin12
شنبه 02 آبان 1394, 13:54 عصر
کسی نیست جواب مشکلو بده

majiiid
شنبه 23 آبان 1394, 22:50 عصر
سلام اگه مشکلتون حل نشده کل پروژتون رو برام ایمیل کنید تا رسیدگی کنم و بگم مشکل از کجاست با تشکر.
mr.zolfaghari90@gmail.com

ghaam91
جمعه 06 آذر 1394, 19:08 عصر
سلام به دوستان و همچنین آقای سیف زاده
من از طریق مکتب خونه آموزش های آقای سیف زاده رو دانلود کردم و تازه شروع کردم به دیدنشون
واقعن خسته نباشید
خیلی خوبن:تشویق:
پروژه پایانیه منم سایت پرتال اساتید هستش..
مبتدی هستم.....لطفن هرجا سوال داشتم کمکم کنین:افسرده:
ممنون

ghaam91
یک شنبه 08 آذر 1394, 23:04 عصر
سلام
وقت بخیر
من دارم فرم ثبت نام درست میکنم
میخوام تکس باکس مربوط به نامم فقط فارسی بگیره
فکرکنم باید توی پوشه language یه پوشه persian ایجاد کنم که داخلش ی فایل index.html دقیقن مثل پوشهenglish....
بعد از این کدا استفاده کنم
$this->form_validation->set_rules('first_name', 'lang:first_name', 'required');

$lang['first_name'] = 'First Name';

$this->lang->load('file_name');
ولی راستش من نمیدونم به جای first_name اسم پوشمو ؟؟اسم زبانمو؟؟بزارم یا....
میشه راهنماییم کنین لطفن؟؟؟

مهرداد سیف زاده
دوشنبه 09 آذر 1394, 20:06 عصر
سلام
وقت بخیر
من دارم فرم ثبت نام درست میکنم
میخوام تکس باکس مربوط به نامم فقط فارسی بگیره
فکرکنم باید توی پوشه language یه پوشه persian ایجاد کنم که داخلش ی فایل index.html دقیقن مثل پوشهenglish....
بعد از این کدا استفاده کنم
$this->form_validation->set_rules('first_name', 'lang:first_name', 'required');

$lang['first_name'] = 'First Name';

$this->lang->load('file_name');
ولی راستش من نمیدونم به جای first_name اسم پوشمو ؟؟اسم زبانمو؟؟بزارم یا....
میشه راهنماییم کنین لطفن؟؟؟

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

ehsan211
سه شنبه 10 آذر 1394, 18:25 عصر
سلام آقای سیف زاده
با تشکر از آموزش های مفیدتون
تو قسمت 11 آموزش کد ایگنایتر
اطلاعات userdate() به صفحه post منتقل نمیشه. یعنی حلقه if اجرا نمیشه. در حالی که تمامی مراحل درست است.

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



function check() {
$username = $this - > input - > post('username', true);
$password = $this - > input - > post('password', true);
$remember = $this - > input - > post('remember', true);
$this - > db - > select('username', 'password');
$this - > db - > where('username', "$username");
$this - > db - > where('password', md5($password));
$this - > db - > from('tbl_user');
$this - > db - > limit(1);
$is = $this - > db - > count_all_results();
if ($is > 0) {
//session//
$data_session = array(
'username' => $_POST['username'],
'login' => true
);
$this - > session - > set_userdata($data_session);
redirect('post/index');
} else {
redirect('login/index');
}
کد های مربوط به post.php:




function index() {
$login = $this - > session - > userdata('login');
if ($login == true) {
$this - > load - > model('Postmodel');
$posts = $this - > Postmodel - > getAllPost();
$this - > template - > load('post/index');
} else {
redirect('login/index');
}


وقتی userdata() رو تو همون صفحه اول مدل، echo میکنم چاپ میشه ولی تو هیچ صفحه دیگه ای از جملهpost.php چاپ نمیشه چون به هیچ صفحه دیگری ارسال نمیشه.

مهرداد سیف زاده
سه شنبه 10 آذر 1394, 21:59 عصر
سلام آقای سیف زاده

وقتی userdata() رو تو همون صفحه اول مدل، echo میکنم چاپ میشه ولی تو هیچ صفحه دیگه ای از جملهpost.php چاپ نمیشه چون به هیچ صفحه دیگری ارسال نمیشه.
از کدوم ورژن ci استفاده میکنید

ehsan211
سه شنبه 10 آذر 1394, 23:11 عصر
از کدوم ورژن ci استفاده میکنید

ورژن 2.2.6
تو اینترنت هم خیلی ها این مشکل رو دارن که من تا حالا جواب خوبی براش پیدا نکردم

ehsan211
سه شنبه 10 آذر 1394, 23:14 عصر
مشکل اینجاست که اطلاعات سشن از یک صفحه و یک درخواست به صفحه و درخواست دیگر ریست میشه. مثلا اگه session_id رو تو صفحه login و post اکو کنیم میبینیم که با همدیگه تفاوت دارن.

مهرداد سیف زاده
پنج شنبه 12 آذر 1394, 20:35 عصر
مشکل اینجاست که اطلاعات سشن از یک صفحه و یک درخواست به صفحه و درخواست دیگر ریست میشه. مثلا اگه session_id رو تو صفحه login و post اکو کنیم میبینیم که با همدیگه تفاوت دارن.

با این حساب session شما داره expire میشه. کوکی خودتون رو پاک کنید. بعد صفحه رو refresh کنید و لاگین کنید ببینید کوکی که ذخیره کرده expire رو چی ست کرده

ehsan211
پنج شنبه 12 آذر 1394, 23:52 عصر
با این حساب session شما داره expire میشه. کوکی خودتون رو پاک کنید. بعد صفحه رو refresh کنید و لاگین کنید ببینید کوکی که ذخیره کرده expire رو چی ست کرده

سلام آقای سیف زاده ممنون از راهنمایی تون ::
من مشکل رو حل کردم و راه حل رو میگم چون فکر میکنم به درد بعضی ها میخوره:

1- چون اختلاف زمانی ما با کشوری مثله آمریکا بیشتر 7200 ثانیه(2 ساعت) است بهتره طول عمر سشن رو خیلی بیشتر کنیم (مثلا 12 یا 24 ساعت) چون اختلاف زمان بین موقعیت مکانی سرور و ما ممکنه سشن رو expire کنه و این مشکل رو به وجود بیاره.

2- در قسمت وارد کردن اطلاعات path و host ، هاست رو به جای localhost باید 127.0.0.1 قرار بدین (این راه حل مشکل منو حل کرد)

scofield007
دوشنبه 19 بهمن 1394, 13:49 عصر
ممنونم از استاد سیف زاده بابت آموزش مفیدشون که انصافا زحمت کشیدن :قلب:

chaown
یک شنبه 26 اردیبهشت 1395, 01:14 صبح
واقعا ممنون از فیلمها
می خوام هر وقت توی مرورگر آدرس localhost/webfolder رو وارد کردم مستقیما وارد پوشه web و نه admin
چطور باید این کار رو کنم؟

ingenuous67
پنج شنبه 06 خرداد 1395, 17:55 عصر
اقای سیف زاده سلام
با تشکر از فایل آموزشی خوبی که از سی ای درست کردید.
بنده توی جلسه یازدهم هستم و مشکلی دارم.
زمانی که صفحه ادمین رو باز میکنم این خطا ظاهر میشه
The Encrypt library requires the Mcrypt extension.
این مشکل وقتی پیش میاد که خط زیر رو true میکنم:
$config['sess_encrypt_cookie'] = false;
من فایل php_mcrypt.dll رو دانلود کردم و به پوشه ext بردم.
توی فایل php.ini هم خط زیر رو اضافه کردم
extension=php_mcrypt.dll
اما هنوز خطا رو میده.
فقط یه نکته:
وقتی روی علامت ومپ کلیک میکنم و از گزینه php گزینه php_extension رو میزنم گزینه ای مربوط به mcrypt نداره که تیکش فعال باشه.
با تشکر

ingenuous67
پنج شنبه 06 خرداد 1395, 18:14 عصر
یه سوال دیگه
توی جلسه یازدهم واسه ساخت سشن این کد رو نوشتید
function index()
{
$login=$this->session->userdata('login');
if ($login==true) {
$login=$this->session->userdata('login');
if($login==true)
{
$data=array('name'=>'codeigniter');
$this->template->load('post/index',$data);
}
else
{
redirect('login/index');
}
}
else
{
redirect('login/index');
}

}
میخوام بپرسم این دو تا خط چرا دوبار نوشته شده
$login=$this->session->userdata('login');
redirect('login/index');
در واقع شرط رو دو بار چک کردید

dimont
جمعه 18 تیر 1395, 23:27 عصر
سلام من وقتی که داخل فرم amin و 123 رو وارد می کنم این ارور رو دارم میشه راهنمایی کنید
An uncaught Exception was encounteredType: Error
Message: Cannot access private property Login::$login_model
Filename: C:\xampp\htdocs\ci\system\core\Loader.php
Line Number: 353

farhadhp
سه شنبه 05 مرداد 1395, 20:52 عصر
دوستان چطوری relation view رو تو phpmyadmin فعال کنم ؟

darkface
شنبه 16 مرداد 1395, 21:18 عصر
سلام خسته نباشید
ممنون از اقای سیف زاده بخاطر آموزش خیلی خوبتون.
من یه مشکلی دارم با master page
من اومدم یه layout درست کردم.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Free CSS template by ChocoTemplates.com</title>
<link rel="stylesheet" href="<?php echo base_url();?>assest/css/style.css" type="text/css" media="all" />
</head>
<body>
<!-- Header -->
<div id="header">
<div class="shell">
<!-- Logo + Top Nav -->
<div id="top">
<h1><a href="#">SpringTime</a></h1>
<div id="top-navigation">
Welcome <a href="#"><strong>Administrator</strong></a>
<span>|</span>
<a href="#">Help</a>
<span>|</span>
<a href="#">Profile Settings</a>
<span>|</span>
<a href="#">Log out</a>
</div>
</div>
<!-- End Logo + Top Nav -->

<!-- Main Nav -->
<div id="navigation">
<ul>
<li><a href="#" class="active"><span>Add Part</span></a></li>
<li><a href="#"><span>New Articles</span></a></li>
<li><a href="#"><span>User Management</span></a></li>
<li><a href="#"><span>Photo Gallery</span></a></li>
<li><a href="#"><span>Products</span></a></li>
<li><a href="#"><span>Services Control</span></a></li>
</ul>
</div>
<!-- End Main Nav -->
</div>
</div>
<!-- End Header -->

<!-- Container -->
<div id="container">
<div class="shell">



<!-- Message OK -->
<!-- <div class="msg msg-ok">
<p><strong>Your file was uploaded succesifully!</strong></p>
<a href="#" class="close">close</a>
</div> -->
<!-- End Message OK -->

<!-- Message Error -->
<!-- <div class="msg msg-error">
<p><strong>You must select a file to upload first!</strong></p>
<a href="#" class="close">close</a>
</div> -->
<!-- End Message Error -->
<!-- <br /> -->
<!-- Main -->
<div id="main">
<div class="cl">&nbsp;</div>

<!-- Content -->
<div id="content">


<?php echo $contents; ?>


</div>
<!-- End Content -->

<!-- Sidebar -->
<div id="sidebar">

<!-- Box -->
<div class="box">

<!-- Box Head -->
<div class="box-head">
<h2>Management</h2>
</div>
<!-- End Box Head-->

<div class="box-content">
<a href="#" class="add-button"><span>Add new Article</span></a>
<div class="cl">&nbsp;</div>

<p class="select-all"><input type="checkbox" class="checkbox" /><label>select all</label></p>
<p><a href="#">Delete Selected</a></p>

<!-- Sort -->
<div class="sort">
<label>Sort by</label>
<select class="field">
<option value="">Title</option>
</select>
<select class="field">
<option value="">Date</option>
</select>
<select class="field">
<option value="">Author</option>
</select>
</div>
<!-- End Sort -->

</div>
</div>
<!-- End Box -->
</div>
<!-- End Sidebar -->

<div class="cl">&nbsp;</div>
</div>
<!-- Main -->
</div>
</div>
<!-- End Container -->

<!-- Footer -->
<div id="footer">
<div class="shell">
<span class="left">&copy; 2010 - CompanyName</span>
<span class="right">
Design by <a href="http://chocotemplates.com" target="_blank" title="The Sweetest CSS Templates WorldWide">Chocotemplates.com</a>
</span>
</div>
</div>
<!-- End Footer -->

</body>
</html>



بعد از اون یه فولدر درست کردم و مثلا یه فایل part گذاشتم و کنترلش هم اینطوری تعریف کردم.




<?php
class Part extends CI_Controller{
function index(){
$this->template->load('pages/part');
}

function add(){

echo '<pre>';
print_r($_POST);
}
}


و صفحه part هم به این صورت هستش



<!-- Box -->
<div class="box">
<!-- Box Head -->
<div class="box-head">
<h2><?php echo $name; ?></h2>
</div>
<!-- End Box Head -->
<?php form_open('part/add')?>

<!-- Form -->
<div class="form">
<p>
<?php form_input('title');?>
</p>
<p>
<label>Password</label>
<input type="text" class="field size1" name="password"/>
</p>


</div>
<!-- End Form -->

<!-- Form Buttons -->
<div class="buttons">
<input type="submit" class="button" value="submit" />
</div>
<!-- End Form Buttons -->
<?php form_close();?>
</div>
<!-- End Box -->


و بعد از اون هر چی من submit میزنم هیچ تاثیری نداره و اصلا هیچ عملی انجام نمیشه
Form را لود کردم.تمپلیت هم لود کردم ولی نمیدونم چرا هیچ عملی انجام نمیشه :ناراحت:

زهرا علیزاده
سه شنبه 12 بهمن 1395, 23:03 عصر
سلام مهندسان
خیلی اموزشهای خوبی هستن خیلی ممنووووووووووووون:قلب:

فقط فولدر پروژه ی این فیلم هارو هم ممکنه اگه دارین بزارین؟؟؟؟؟؟؟ تشکر

hojijon
پنج شنبه 14 بهمن 1395, 19:09 عصر
با سلام و خسته نباشید برای آموزش خوبتون

من تا قسمت ۶ مطالعه کردم و انجام دادم

یک هاست داشتم که برای تست به صورت واقعی سایت رو کامل روی هاست گذاشتم

همه چیز درست اجرا میشه به جز CSS ها

که با کلی آزمون خطاهای مختلف متوجه شدم که مشکل از base_url هست

این تابع وقتی درست کار می کنه که در دایرکتوری اصلی خود کدایگنایتر هست و در دایرکتوری های web و admin کار نمی کنه

برای این مشکل چکار باید بکنم ؟‌

ممنون

naghshzan
دوشنبه 11 اردیبهشت 1396, 21:18 عصر
من تونستم نسخه اولیه سایم را با mvc بیارم بالا .......
فقط چند مشکل دارم
کسی جواب میده ؟
http://neshanteam.ir/

maysam.m
دوشنبه 15 خرداد 1396, 13:12 عصر
با سلام
از آقای سیف زاده بابت این مجموعه آموزشی بسیار خوب تشکر میکنم. این مجموعه با ذکر منبع در سایت ما قرار گرفت:
http://code-igniter.ir/showthread.php?tid=36&pid=132#pid132

reza67asgari
سه شنبه 30 خرداد 1396, 09:56 صبح
سلام خدمت شما بزرگوار
می خواستم بدونم smarty را چگونه میشه با codeigniter ران کرد
میشه توضیح بدهید
ممنون

mahzad2
جمعه 02 تیر 1396, 07:41 صبح
سلام استاد ممنون از ویدیو های آموزشی خوبتون
من از ویدیو شماره 4 سوال دارم و مشکلم اینه که شما در database.php درایور رو pdo قرار دادین و به همین خاطر hostname رو عوض کردین.
بنده تمام طبق شما پیش رفتم اما موقع اجرا در مرورگر بهم ارور میده.
(البته پورت زمپ رو به 81 تغییر دادم و با هیچکدوم از هاست نیم های رو به رو جواب نگرفتم:ناراحت::ناراحت: "mysql:host=localhost;dbname=sample" و نه با "mysql:host=localhost:81;dbname=sample" )
ممنون میشم راهنماییم کنید.

zaligholi
چهارشنبه 14 تیر 1396, 18:02 عصر
[QUOTE=مهرداد سیف زاده;2112566]سلام بر تمام برنامه نویسان علاقه مند به یادگیری codeigniter
بعد از مدتها این فرصت برایم مهیا شد تا با آماده کردن یک مجموعه عملی codeigniter در خدمت شما باشم.
این مجموعه برای برنامه نویسانی تهیه شده که قصد دارند از برنامه نویسی با php بصورت خالص(pure php) به سمت استفاده از فریم ورک ها بروند. codeigniter یکی از بهترین فریم ورک های یادگیری سریع است. در واقع اگر فریم ورک های دیگر را تست کرده اید و راهنمای آنها برای شما گنگ و نا مفهوم بوده اند، codeigniter را بسیار زیبا و سریع و خوش دست خواهید یافت.
در این مجموعه ویدیویی سعی شده تا علاوه بر آموزش خود فریم ورک یک سری تکنیکها و توضیحات تکمیلی نیز ارائه شود. مثلا در جلسه سوم طرح طراحی دیتابیس یک cms ریخته میشود و بعد برای پیشرفته تر شدن آموزش relation database با توضیحات کامل و نمونه مثال آورده شده است. یا در قسمت captcha نحوه لود captcha بصورت ajax توضیح داده شده است.
البته این مجموعه شامل تمام ریز نکات codeigniter نمی شود(هر چند در ابتدا تلاشم بر آن بود لاکن زمان یاری نکرد) ولی در طی ۲۵ فیلم آموزشی که هر کدام بین ۱۰ تا ۲۵ دقیقه متغیر هستند به آموزش نکات اصلی مثل کار با دیتابیس، email، encryption، pagination و حتی در موارد پیشرفته تر نحوه استفاده از کلاس template جانبی برای ایجاد master page پرداخته شده است.
البته نمیتوان جلسه ۲۵ را پایان این مجموعه دانست چون در اولین فرصت میخواهم درباره grid view و نحوه نصب یک نمونه از بهترین های ان برای علاقه مندان بپردازم.
بیشترین دلیل و انگیزه برای ساخت این ویدیوی آموزشی تقاضای دوستانی بود که بصورت ایمیل یا تلفنی راهنمایی برای یاد گرفتن فریم ورک میکردند. لذا من هم به این دوستان پیشنهاد میدادم فقط به سمت codeigniter بروند و خوب یاد بگیرند. اما در همان روز یا چند روز دیگر مجددا با من تماس گرفته و تقاضای معرفی یک راهنمای سریع یا فیلم آموزشی را داشتند. لذا من هم مجموعه لینکی را برای این دوستان ارسال میکردم. همیشه یکی از دغدغه هایم بود چرا از دانسته های اندک خودم جهت تهیه یک فیلم آموزشی برای انتشار در سایت برنامه نویس بهره نبرم. تا هم کار خیری کرده باشیم(ذکات علم) و هم دوستان جدیدی که تمایل به یادگیری دارند از آن استفاده کنن. ولی این اول داستان بود و حتی تهیه این مجموعه به ۲ماه هم طول کشید(کاری که پیش خودم گفتم یک هفته ای جمعش میکنم).
بعد از انتشار این ویدوی آموزشی آقای امیر فتحی (http://barnamenevis.org/member.php?361161-amiralifk-yahoo-com) بر طبق فیلمهای آموزشی جزوه مفیدی تهیه کردند. چنانچه بعضی قسمتهای فیلم آموزشی برای شما نا مفهوم بود میتوانید به جزوه آموزشی مراجعه کنید و جزئیات را در آنجا مطالعه کنید(لینک دانلود فایل pdf در انتهای همین پست).
در کل خوشحالم که این فرصت را یافتم تا در خدمت شما دوستان باشم. سخن کوتاه میکنم تا به معرفی هر کدام از قسمتهای فیلم آموزشی بپردازم.




آموزش MVC و معرفی codeigniter (https://www.dropbox.com/s/risbdxg7jn8vug0/codeigniter_1.mkv?dl=0)
در اولین قسمت به توضیحات کوتاهی درباره MVC و codeigniter‌پرداخته شده است. همچنین در این قسمت ایده دوستانی که طرفدار استفاده از pure php و فریم ورک هستند با هم مقایسه شده و توضیحات و دلایلی برای استفاده از فریم ورک آورده شده است.
نصب و یک مثال کوچک از نحوه استفاده (https://www.dropbox.com/s/bab6j3ib53t9qsn/codeigniter_2.mkv?dl=0)
در این قسمت به دانلود و نصب codeigniter پرداخته شده است. و همچنین بعد از نصب توضیحات کوتاه درباره کانفیگ ها پرداخته شده. در آخر یک نمونه controller ساده ساخته شده تا با روش کار MVCدر codeigniter آشنا شوید.
طراحی دیتابیس و آموزش relation database (https://www.dropbox.com/s/rdtopy2ng2aj6qp/codeigniter_3.mkv?dl=0)
به آموزش طراحی یک cms ساده میپردازد و همچنین نحوه استفاده از relation و همچنین این که چطور با دیتابیس را طراحی کنید که در طول مدت طراحی سایت خود کمترین فشار به شما وارد آید و تغییرات را در کمترین زمان اعمال کنید
کانفیگ codeigniter برای اتصال به دیتابیس از طریق pdo (https://www.dropbox.com/s/r4ba9qi1e1oc3xg/codeigniter_4.mkv?dl=0)
توصیه من به تمام برنامه نویسانی که چه از طریق pure php‌کد مینویسند و چه از طریق فریم ورک ها استفاده از pdo است. لذا در این جلسه به کانفیگ و اتصال codeigniter به pdo پرداخته شده است.
کار با مدل و ساخت اولین نمونه از مدل برای جدول post (https://www.dropbox.com/s/xns95fw189wiyy2/codeigniter_5.mkv?dl=0)
در این جلسه یک نمونه ساده و نحوه active record در codeigniter پرداخته شده است.
ساخت master page به کمک نصب یک کلاس template‌و نحوه کانفیگ آن (https://www.dropbox.com/s/zla7ltrm7t15d7a/codeigniter_6.mkv?dl=0)
codeigniter بصورت پیشفرض master page‌ندارد. لذا عده ای با قرار دادن header , footer در تمام صفحات اقدام به ساخت master page‌میکنند. همچنین عده ای از برنامه نویسان برای codeigniter نمونه های مختلف از master page را نوشته اند که با تست بیشتر آنها بهترین نمونه را برای این مجموعه بکار گرفتم.
جدا کردن بخش admin‌و web و اتصال آنها به یک system مرکزی (https://www.dropbox.com/s/bcu2rsry2ae9q8t/codeigniter_7.mkv?dl=0)
در واقع با این تکنیک شما دو نمونه مختلف از پروژه خود خواهید داشت . در بیشتر پروژه ها نیاز به پنل admin و بخش عمومی که همان صفحات سایت است می باشد. لذا در این قسمت سعی شده تا این دو قسمت پروژه از هم جدا شده و به یک پوشه system مرکزی متصل شوند.
استفاده از فرم های codeigniter و ساخت یک فرم لاگین (https://www.dropbox.com/s/ee84ea0tywq5n5i/codeigniter_8.mkv?dl=0)
در این مجموعه به نحوه استفاده از helper فرم و همچنین طراحی یک نمونه صفحه لاگین برای ورود به سایت پرداخته شده است. همچنین نحوه گرفتن داده در قسمت controller‌نیز پرداخته شده است.
دریافت داده صحیح از فریم ها(validation) و نمایش خطای داده اشتباه بصورت خودکار (https://www.dropbox.com/s/7hhygfoodl8c15j/codeigniter_9.mkv?dl=0)
یکی از اصول امنیت گرفتن داده معتبر از کاربر است. مثلا کاربر در پر کردن ایمیل حتما باید یک ایمیل استاندارد پر کند. همچنین شما نباید خودتان را درگیر validation و نوشتن توابعی برای چک کردن ایمیل کنید. همچنین نمایش خطا در صورت اشتباه پر کردن یک مقدار را بگذارید به عهده codeigniter.
تکمیل بخش لاگین - چک کردن کاربر برای وجود در دیتابیس و اقدامات بعدی (https://www.dropbox.com/s/td7rk0gkqat66t3/codeigniter_10.mkv?dl=0)
برای وجود کاربر درون دیتابیس میتوان روشهای زیادی انجام داد مثلا count کرد یا بررسی کرد کاربری با این نام کاربری و رمز عبور درون دیتابیس وجود دارد یا نه. در این جلسه به بررسی وجود کاربر و نوشتن یک مدل لاگین میپردازد.
استفاده از session (https://www.dropbox.com/s/0c6epqw98tl5nyg/codeigniter_11.mkv?dl=0)
در این قسمت بعد از بررسی درست بودن نام کاربری و رمز عبور برای این که کاربر بتواند درون پنل ادمین گردش کند از session‌ بهره گرفته میشود.
استفاده از cookie و کانفیگ آن (https://www.dropbox.com/s/34mozws671obu2w/codeigniter_12.mkv?dl=0)
در کنار session به معرفی و نحوه تایین اعتبار از طریق کوکی پرداخته شده است.
استفاده از کلاس encryption (https://www.dropbox.com/s/y9mj7d2geukem1r/codeigniter_13.mkv?dl=0)
داده هایی را که در cookie‌و session قرار داده اید نیاز به امنیت بیشتر دارند. در این قسمت به کانفیگ و معرفی کلاس رمزنگاری codigniter پرداخته شده است.
ساخت My_Controller (https://www.dropbox.com/s/qynbdj2rnpxu5mz/codeigniter_14.mkv?dl=0)
بعضی کارهای قرار است بصورت خودکار در تمام صفحات تکرار شود. مثلا چک کردن وضعیت لاگین کاربر admin. با ساخت یک My_Controller که از کلاس CI_Controller مشتق شده میتوانید تمام این موارد خودکار را به codeigniter واگذار کنید.
سپردن موارد تکراری به My_Controller (https://www.dropbox.com/s/yorvjzmbgwajcn8/codeigniter_15.mkv?dl=0)
هدف My_Controller اجرای خودکار کارهای تکراری بود. لذا در این قسمت به نحوه سپردن وضعیت لاگین به My_Controller پرداخته میشود.
اضافه کردن یک پست جدید به درون جدول post - طراحی فرم و گرفتن مقدار (https://www.dropbox.com/s/g50mrxc27sy6a0f/codeigniter_16.mkv?dl=0)
البته هدف صرفا طراحی فرم و ریختن مقدارهای درون جدول post نبوده. بلکه اگر فیلم قسمت سوم را دیده باشید به ارتباط جدول post با کاربر و category پی برده اید. لذا این جلسه و جلسه بعدی به این آموزش این موارد میپردازد.
اضافه کردن یک پست جدید به درون جدول post - ارتباط ها (https://www.dropbox.com/s/xnx99m9x06hk780/codeigniter_17.mkv?dl=0)
برای اضافه کردن یک post جدید باید category آنرا انتخاب کنید و از لحاظ طراحی استاندارد یک cms یک post میتواند به چنیدن category تعلق داشته باشد.
کمی کنکاش و چالش (https://www.dropbox.com/s/vqe1s3y3393rhpx/codeigniter_18.mkv?dl=0)
در این جلسه به بررسی نحوه کوئیری در wordpress‌میپردازد و همچنین طرح اولیه نحوه گرفتن داده برای نشان داده پستها.
کوئیری بهینه تر (https://www.dropbox.com/s/vw45za7iuctlbae/codeigniter_19.mkv?dl=0)
اگر شما هم مثل من در طراحی یک مکانیسم و کوئری بهینه تر وسواس دارید حتما این قسمت را نیز ببینید. البته کلیاتش همان جلسه قبلی است ولی سعی در بهینه سازی برداشت داده از دیتابیس دارد.
نشان دادن داده های استخراج شده (https://www.dropbox.com/s/uh5vuufvd6sg433/codeigniter_20.mkv?dl=0)
داده های واکشی شده از دیتابیس در دو جلسه قبلی در این جلسه به کاربر نشان داده میشود.
ویرایش داده های ذخیره شده (https://www.dropbox.com/s/406zx4ssdxn8ner/codeigniter_21.mkv?dl=0)
چالش جلسه ۱۶ و ۱۷ این بود که باید category ها به کاربر نشان داده میشد و بسته به انتخاب کاربر(تیک زدن موارد) درون دیتابیس ارتباطی بین آن پست و category‌هایی که عضو آن بوده برقرار میشد. اما در این جلسه به غیر لود تمام موارد آن موارد باید بیابید که این پست جرو کدام category بوده(چک باکس از قبل تیک خرده) و حالا شاید کاربر بخواهد category آنرا عوض کند.
راه اندازی Captcha (https://www.dropbox.com/s/3ao3brtxxzrrrqo/codeigniter_22.mkv?dl=0)
codeigniter چنین امکانی دارد. البته کامل نیست و نیاز به کمی دستکاری شما دارد. البته در این جلسه به نحوه لود captcha از طریق ajax پرداخته شده است.
آپلود فایل (https://www.dropbox.com/s/vkut8h0wh7i1i7p/codeigniter_23.mkv?dl=0)
codeigniter امکانات خوب و سریعی برای آپلود فایل دارد.
pagination (https://www.dropbox.com/s/mpqvy2w2tkbkhc9/codeigniter_24.mkv?dl=0)
داده های زیاد باید صفحه بندی شوند. شما که نیخواهید در صفحه اول سایتت تان یکدفعه ۲۰۰ تا پست به کاربر نشان دهید. همچنین کاربر باید آزاد باشد براحتی پست های قدیمی شما را نیز ببیند.
ارسال ایمیل (https://www.dropbox.com/s/92dl03h6eypy6b5/codeigniter_25.mkv?dl=0)
در این جلسه به نحوه طراحی یک contact form میپردازد.
جزوه آموزشی codeigniter منطبق با فیلمهای آموزشی(نوشته امیر فتحی) (https://www.dropbox.com/s/076n3xulunsp1ga/codeigniter.pdf?dl=0)


همچنین این مجموعه آموزشی در سایت مکتب‌خونه قرار گرفت. با تشکر از دوستان سایت مکتب‌خونه.
دانلود مستقیم از مکتب‌خونه
(http://maktabkhooneh.org/course?course=seifzadeh207)
با تشکر از سایت p30download.com. میتوانید از p30download هم دانلود کنید
دانلود آموزشی کدایگنایتر به زبان فارسی (http://p30download.com/fa/entry/57072/)

فایلهای همراه:
۱- کلاس pdo ویرایش شده (https://www.dropbox.com/s/154vo9a677v4ggf/pdo_driver.zip?dl=0)
۲- کلاس Template (https://www.dropbox.com/s/s7derfvks6dhx08/Template.php?dl=0)
۳- تمپلیت نمونه (https://www.dropbox.com/s/wx4w5lakha6lmq0/ci_them.zip?dl=0)

دوستانی که با دانلود از dropbox مشکل دارن میتونند از یکی از سرویسهای زیر دانلود کنن

mediafire (https://www.mediafire.com/folder/s42331ssrf33u/codeigniter)
box.com (https://app.box.com/s/f431ywquikay6kunwtd2)
copy.com (https://copy.com/SXdZL7zwyHrx77xu)
google drive (https://drive.google.com/folderview?id=0B5b7mkTopjmRbmxORmVCRERfZWc&usp=sharing)
onedrive (https://onedrive.live.com/redir?resid=AE6D001447E1A72%21163)
yandex.com (https://yadi.sk/d/k3o1fZh0bwgiC)

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

zaligholi
چهارشنبه 14 تیر 1396, 18:04 عصر
سلام استاد.ویدیو عالی بود و من به مشکل بر نخوردم.خیلی واضح توضیح داده بودید . قدرت بیان هم عالی بود.لطفا اگه براتون امکان داره فریم ورک لاراول رو هم اموزش بدید . بسیار ممنونم

toytown
چهارشنبه 16 خرداد 1397, 04:27 صبح
سلام جناب سیف زاده ما از طریق تلگرام میتونیم با شما در ارتباط باشیم؟ای کاش در مورد acl در کد ایگنایتر هم یه جلسه میذاشتید

tarhisite
شنبه 16 تیر 1397, 15:31 عصر
سلام بچه ها
منم مشکل کاربر behzadadmin
یعنی
A PHP Error was encountered
را دارم
:گریه:

tarhisite
شنبه 16 تیر 1397, 15:34 عصر
سلام بچه ها
منم مشکل کاربر behzadadmin
یعنی
A PHP Error was encountered
را دارم

:گریه:

tarhisite
شنبه 16 تیر 1397, 15:35 عصر
سلام بچه ها
منم مشکل کاربر behzadadmin
یعنی
A PHP Error was encountered
را دارم

لطفا کمک کنید
http://tarahi-website.ir/
:گریه:

shadi.bah
یک شنبه 03 شهریور 1398, 16:27 عصر
آقای سیف زاده شما کلاس های آموزشی php - ci به صورت خصوصی یا آموزشگاه هم برگزار می کنید؟؟
ممنون میشم اگر جوابتون مثبت هست اطلاعاتتون رو از طریق پیغام خصوصی یا همین تاپیک برام ارسال کنید.

seositeisfahan1
یک شنبه 05 شهریور 1402, 13:35 عصر
خیلی خیلی ممنون بسیار قابل فهم و مفید بود مطالب ارسالی شما.