جلسه چهارم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
جلسه چهارم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
چون سرم شلوغ بود فعلا برای این بار هم این یک جلسه رو داشته باشید ایشالا از روزای بعد با سرعت خیلی بالاتری پیش میریم .
تا الان تقریبا پنل و تشخیص ورود کاربر و خروج کاربر و جلوگیری از دسترسی غیر مجاز رو ساختیم و با بعضی ریزه کاری ها آشنا شدید. توی این جلسه نحوه ساخت صحیح کانکشن برای دیتابیس و استفاده از اون برای ارسال پست و ذخیره پست آشنا میشید .
باز هم مثل جلسات قبل توی دیتابیس هم باید بخش هایی مثل اتصال و استفاده از دیتابیس رو از کد اصلی جدا کنیم . بهترین مزیت این کار اینه که لازم نیست کداتون رو چندبار تکرار کنید و رفع خطای اون ساده تر میشه و راحت تر قابل تغییره
فایل connection.php رو با utf-8 ایجاد کنید .
کد های زیر رو وارد کنید :
توضیح :
دیتابیس و استفاده از اون چند بخش دارد ؛ اول از همه ساختشه دوم ساخت اتصالات دیتابیس درست مثل متصل کردن یک کامپیوتر به برق و در آخر هم استفاده از دیتابیس .
پس توی مرحله دوم مقدمات استفاده از دیتابیس رو میچینیم و اتصالات و موارد مهم رو برای اتصال به دیتابیس درست می کنیم .
توجه داشته باشید که دیتابیس ها و مطالب پیرامون آن بسیار گسترده است و خودش در علم کامپیوتر یک تخصص حساب می شود ، ولی ما در این آموزش با دیتابیس مای اس کی ال کار می کنیم چرا که این دیتابیس برای وب کاربرد بسیار دارد و کار با آن ساده می باشد ، این دیتابیس یک واسط کاربری گرافیک برای مدیریت جدول ها و فیلد ها و تنظیمات و فرستادن کوئری و ... دارد که phpmyadmin نام دارد ، بنابر این از این دیتابیس استفاده می کنیم و جدول هامون رو داخل آن می سازیم ، همچنین ، در این دیتابیس امکان گرفتن بک آپ و وارد کردن فایل بک آپ و پشتیبان از تنظیمات آن بسیار ساده است . همچنین به نکته زیر هم توجه داشته باشید .
نکته :
توی کاری که ما داریم پیش میبریم فرضمون بر اینه که کارمون اونقدر بزرگ نیست که چند تا دیتابیس داشته باشیم و توی یک دیتابیس تمام جداول رو قرار دادیم .
حالا اگر دیتابیس های بیشتری داشتید خب چند تا کانکشن درست می کنید و باز هم اصل موضوع عوض نمیشه .
خب میریم سراغ توضیح کد بالا :
برای اتصال به دیتابیس لازمه نام کاربری و رمز عبور و نام سرور که دیتابیس روی اون قرار داره رو داشته باشیم ؛ کاربر پیش فرض که حق دسترسی به دیتابیس در لوکال هاست رو داره کاربر root بدون پسورد است ؛ و نام سرور ما هم localhost .
در ادامه دستور mysql_connect رو مینویسیم و حاصل عملیات رو که در $my_connection قرار میدیم و از این به بعد این متغیر مثل مجوز اتصال به دیتابیسه .
نکته خیلی مهم :
کاراکتر @ رو قبل دستور mysql_connect گذاشتیم تا اگر خطایی توی اتصال وجود داشت خطا رو نمایش نده این مورد از این نظر اهمیت داره که جلوی فهمیدن باگ سایت توسط کاربر رو میگیره و از لو رفتن باگ های حساس mysql جلوگیری می کنه .
توی تمام دستورات بعدی از مجوز $my_connection استفاده می کنیم دستورات بعدی نوع انکدینگ اتصال رو مشخص می کنه خیلی وقت ها در ذخیره کاراکتر های فارسی و تشخیص اونا یا کارکردن با اونا مشکل پیش میاد که ما پیش فرض از این دستورات استفاده می کنیم تا از خطاهای احتمالی جلوگیری کنیم .
نکته مهم :
فرض کنید شما برنامه ای نوشتید که جستجویی در یک متن انجام دهد وقتی شما ناخواسته با فرمت نادرست متن فارسی رو از کاربر گرفته باشید و ذخیره کرده باشید ؛ وقتی میخواید در این متن جست و جو انجام دهید عملیات دائم ناموفق میشه و علاوه بر اینکه زمان زیادی رو برای رفع این مشکل از شما میگیره تشخیص اونم سخت میکنه پس این کدینگ ها رو همیشه پیش فرض توی کارتون داشته باشید . البته بدون این کدینگ ها هم کد رو تست کنید تا با خطا های رایج اون آشنا بشید .
توی تک تک این دستورات باید عینا عبارت وارد شده رو وارد کنید در آرگومان بعدی تابع mysql_query هم کانکشن رو بهش میدین .
در خط آخر همیشه به خاطر داشته باشید که قبل از اینکه دیتابیس رو مشخص کنید قادر به اتصال به جدول ها و دریافت اطلاعات نیستید .
با دستور mysql_select_db دیتابیس مربوطه رو مشخص می کنید آرگومان اول نام دیتابیس و آرگومان بعدی هم کانکشنی که اول ساختیم .
تا اینجای کار connection.php رو ساختیم حالا مثل قبل برای استفاده از این فایل باید قبل از کار با جداول دیتابیس این فایل رو include کنیم .
پس دستور include "connection.php";
رو به فایل newpost.php اضافه می کنیم و با این کار از این به بعد حق دسترسی به جداول دیتابیس برامون فراهم میشه و در ادامه با دستوراتی که آشنا میشید راحت و بدون دغدغه اتصال و دیتابیس با جدول ها کار می کنیم .
توی فایل newpost مقدمات رو آماده می کنیم که مقادیر رو وارد دیتابیس کنیم . کد های زیر رو اضافه می کنیم :
توضیح :
پس فایل connection رو include کردیم ؛ وقتی که تمام موارد با مقدار فرستاده شده بودن با دستور mysql_query یک دستور در mysql اجرا می کنیم ؛ دستوری که نوشته میشه رو باید داخل دو سینگل کوتیشن یا دابل کوتیشن بذاریم و دستور رو داخلش بنویسیم .
در نهایت باید مقداری که این تابع برمی گرداند را در متغیری ذخیره کنیم تا بفهمیم حاصل عملیات موفق بوده یا ناموفق به همین خاطر ما در اینجا حاصل رو در متغیر $r ذخیره کردیم .
اما در مورد دستور یا همان query که به دیتابیس ارسال میشه باید برای درک راحت تر و دستوراتی که می نویسید مثل این باشه که به فارسی چند دستور دارید میدین که میتونید داخل یک کوئری چند تا دستور داشته باشید .
اینجا ما میگیم که ( داخل جدول post که با این فیلد ها معرفی شده مقادیر زیر را در قالب یک کوئری وارد کن )
می نویسیم :
INSERT INTO `post` با این دستور مشخص میشود که می خواهیم کوئری جدیدی در جدول post ذخیره کنیم ؛ از طرفی بعد از این باید مشخص کنیم که کدوم فیلد ها رو مقدار دهی می کنیم ؛ برای اینکه اشتباه نکنیم همه مقادیر رو وارد می کنیم .
نکته مهم :
توجه کنید که برای فیلد AI که در اینجا همان id ماست لازم نیست مقداری وارد کنیم و یا مقدار string بی مقدار یا خالی(NULL) وارد می کنیم و به صورت اتوماتیک عدد جدید و واحدی برای کوئری جدیدی که وارد دیتابیس می کنیم به id اختصاص می یاید .
مقادیر رو همانطور که توی کد می بینید بهش معرفی می کنید .
در قسمت بعدی باید مقادیر دریافت شده رو وارد کنیم این کار هم دقیقا مثل کد بالا انجام میدیم ولی نکته خیلی مهمی داره :
توجه کنید که اگر مقدار رشته رو بخواید به متغیر ها پیوند بزنید لازمه که از کاراکتر نقطه (.) استفاده کنید ؛ در اینجا ما برای این که رشته دستور رو با مقادیر ورودی کاربر به صورت ترکیبی وارد کنیم باید از این کاراکتر استفاده کنیم و این مقادیر رو پیوند بزنیم . برای اینکه بیشتر متوجه کاربرد این قضیه بشید در آموزش های بعدی که اطلاعات رو از دیتابیس استخراج می کنیم کاملا متوجه کاربرد این موضوع میشوید .
در مورد شرط !$r :
اگر به هر دلیلی مقدار $r ؛ false باشد یعنی جایی از کوئری ما یا مورد دیگه ای مشکل دارد و نمیتوانیم دستور وارد شده در query رو اجرا کنیم پس لازمه که این شرط رو قرار بدیم در واقع با این شرط متوجه میشیم که اطلاعات ارسالی ذخیره نشده است پس برای جلوگیری از ادامه برنامه و ادامه خطاها با یک دستور die همونطور که قبلا توضیح دادم برنامه رو خاتمه می دهیم .
اگر برنامه از دستور die عبور کرد یعنی مشکل خاصی در ذخیره اطلاعات به صورت خام وجود نداشته پس می توانیم به کاربر پیغام موفقیت آمیز بودن عملیات را نمایش دهیم .
توی جلسات بعدی دیتابیس کلمات کلیدی و ارتباط اون به پست رو طراحی می کنیم : کلمات کلیدی رو ذخیره می کنیم و روی قرار دادن تصویر برای پست مربوطه وقت میذاریم .
- توضیحات
- بازدید: 809
نظرات
- هیچ نظری یافت نشد.
نظر خود را اضافه نمایید
ارسال نظر به عنوان مهمان