دريافت Firefoxشما از نسخه ساده رايت کليک استفاده مي نماييد. براي ديدن نسخه پيشرفته رايت کليک، در صورت استفاده از يک مرورگر استاندارد، [ اينجا ]کليک نماييد.

آخرين عناوين ارسالي به انجمن ها
لينک هاي دوستان
به دليل حجم زياد فقط تعدادي به صورت تصادفي نمايش داده شده اند.
آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
بازديد ها: 1070, پاسخ ها: 12
آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 10 مرداد 1389 - 9:04 ، پست ها: 541
آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
و بالاخره قسمت دوم آموزش!ببخشيد دير شد ولي نخواستم با عجله و سريع باشه...
در بخش قبل پايگاه داده رو ايجاد كرديم،در اين قسمت آغاز به شروع كد نويسي مي كنيم.البته شخصا ترجيح ميدم براي ارتباط با پايگاه داده از كلاس هايي كه قبلا نوشتم يا نوشته شده استفاده كنم اما به دليل اهميت آموزش از دستورات و توابع پيش فرض استفاده مي كنم.
مزيت استفاده از كلاس هاي آماده و حرفه اي اين هست كه تا حدود زيادي كار كد نويسي رو آسون مي كنه و به علاوه در اكثر اين كلاس كوئري ها قبل ارسال چك ميشوند و از لحاظ امنيتي مشكلي براي سيستم پيش نمياد.
بذاريد كليت سيستم رو اينجوري خلاصه كنم.ابتدا ما سرور رو طوري تنظيم مي كنيم كه درخواست هاي ساب دومين به صورت زير تبديل بشند.(منظورم همون ساب دومين مجازي هست.)
blogname.domain.com = > domain.com/blog.php?user=blogname
نحوه انجام اين كار رو بعدا توضيح مي دم (هر چند قبلا در انجمن به دفعات ذكر شده!) ، و لزوما هم نياز به سرور اختصاصي نيست و با هاست اشتراكي هم ميشه اين كار رو كرد به خصوص اگه سي پنل نصب باشه كه ا ز همه آسون تر هست.
پس تا اينجا ما username رو به برنامه ارسال مي كنيم، از اينجاست كه كار برنامه نويسي ما آغاز ميشه.
حالا در برنامه usernmer رو داريم و اطلاعاتي از ديتابيس رو بيرون ميكشيم كه مربوط به اين يوزر باشه و نمايش ميديم...
---
شروع كد نويسي:
از بخش تنظيمات اتصال به ديتابيس شروع مي كنم. براي اتصال به ديتابيس بايد از تابع mysql_connect استفاده كنيم.
mysql_connect : اين تابع سه آرگومان (ورودي) اجباري مي گيرد که اولي نام هاست،دومي نام کاربري ديتا بيس و سومي کلمه عبور ديتا بيس مي باشد.
mysql_select_db : ديتابيس شما را با توجه به اطلاعات داده شده در مرحله قبل انتخاب مي کند تا بتواني عملياتي مانند نوشتن،خواندن،حذف و ... را انجام بديد.
مثال :
کد: انتخاب همه
<?php
$hostname='localhost';
$user='root';
$pass='';
$db='miniblog';
$connect = mysql_connect($hostname, $user, $pass);
mysql_select_db($db,$connect) or die ("Could not select database");
?>

اطلاعات بيشتر در مورد اين توابع مثل ورودي هاي اختياري ضرورتي نداره و از روشون مي گذرم.فقط تنها نكته مهم در اينجا تابع mysql_connect هست كه عمليات اتصال ،mysql_select_db انتخاب يك ديتا بيس مي باشد.
نكته امنيتي : در هنگام ايجاد يك ديتابيس در كنترل پنل يا هرجا، و دادن سطح دسترسي به كاربري كه به ديتابيس متصل ميشه دقت كنيد و از دادن اختيارات اضافي به كاربر جز در مرحله install براي ساخت جداول خودداري كنيد...دليل اين كار اينه كه اگر در جايي از برنامه مشكل امنيتي داشته باشيم و كاربر بتونه sql_injection بزنه ، خيلي دست و پاگير تر هست وقتي نتونه index،drop و ... بكنه ...
عموما دادن چهار ويژگي delete,update,insert,select براي يك كاربر كافي هست.
حتي در مورد سيستم هايي كه قرار نيست ديتا توسط كاربر نوشته بشه ، ميتونيم براي بخش كاربري از يك نام كاربري براي اتصال به ديتابيس استفاده كنيد و براي بخش مديريت از يك نام ديگه با سطح دسترسي بيشتر. و حتي اگه بخش مديريت شخصي باشه ميتونيم با htaccess كل بخش مديريت رو رمز گذاري كنيم.
البته رعايت اصول پايه كفايت مي كنه ولي بزرگترين تيم هاي برنامه نويسي دنيا هم تاحالا اشتباهات كوچك و بزرگي داشته اند ...
در بخش تنظيمات من 4 متغير براي تنظيمات ديتابيس اعمال كردم ولي بهتر هست اين تنظيمات به صوت يك آرايه باشند.
بنابراين با توجه به آموزش "لينك آموزش بخش آرايه ها " من كدم رو به صورت زير اصلاح مي كنم:
کد: انتخاب همه
<?php
$database = array(
'hostname'=>'localhost',
'user'=>'root',
'pass'=>'mysql',
'db'=>'miniblog',
);
$connect = mysql_connect($database['hostname'], $database[' user'], $database['pass']);
mysql_select_db($$database['db'],$connect) or die ("Could not select database");
?>

فايل زبان:
يكي ازمشكلات برخي از editor ها،پشتيباني نكردن از UTF هست.مدتي editor محبوب من از UTF پشتيباني نمي كرد(ورژن هاي اوليه) و من رو مجبور كرد كلا فارسي نويسي رو در PHP كنار بگذارم و فايل زبان ايجاد كنم!
ايجاد يك فايل زبان به ما اين امكان رو مي ده كه در آينده به راحتي پيغام ها رو عوض كنيم،با مشكلات UTF در editor هاي تحت ويندوزو يا كنترل پنل و ... كنار بيايم...در واقع كافي هست يك فايل رو UTF ذخيره كنيم و در بيقه جاها استفاده كنيم.
بعلاوه ما اين امكان رو داريم كه براحتي سيستممون رو با افزودن چند خط كد چند زبانه كنيم.
در اينجا فايل زبان رو با آرايه و به صورت زير تعريف م كنم و بعدا هر زمان كه بخوايم محتوياتش رو طول آموزش مي نويسيم.
کد: انتخاب همه
<?php
//lang.fa.php
$lang = array(
'done'=>'عمليات با موفقيت انجام شد.',
'blog_created'=>'وبلاگ شما با موفقيت ايجاد شد.',
);
?>

جدا بودن PHP از HTML:
شخصا اصلا دوست ندارم در كدهاي PHP از HTML استفاده كنم! سختي در ويرايش،عيب يابي ، تعويض قالب،سر در گمي در طول نوشتن برنامه،احتمال بروز خطا و اشتباه،ناخوانا شدن كد و ... از مشكلات استفاده تركيبي از اين دو در يك برنامه هست!
كلاس ها و برنامه هاي متعددي براي اين كار نوشته شده اند ولي در اينجا من كلاسي كه خودم هميشه ازش استفاده مي كنم،رو به كار مي برم.
البته به توضيح اين كلاس نمي پردازم چون سطح ش بالاتر از آموزش هست و فقط از اون استفاده مي كنيم!ولي به تدريج كه جلوتر رفتيم در بخش نمايش وبلاگ با توجه به تگ گذاري خودمون كدها رو مي نويسيم و يك كلاس جديد براي نمايش قالب وبلاگ و درج محتوا در اون مي نويسم.
اين بخش رو بزودي ارسال مي كنم.(زودتر از اين قسمت :D)
در مراحل ابتدايي آموزش مجبور هستم بيشتر حرف بزنم تا كد نويسي...ولي خب براي راه افتادن پروژه لازم هست...بزودي آموزش هاي جانبي مانند توابع مورد نياز مانند mail،انواع كوئري ها رو هم در اين بخش ارسال مي كنم(اگر قبلا ارسال نشده باشند!) تا مقدمات كار وجود داشته باشه...
سپاس
[ تبليغات ] سیستم تبلیغات تصویریسیستم تبلیغات تصویری
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 10 مرداد 1389 - 9:16 ، پست ها: 541
لينك تاپيك آرايه ها رو فراموش كرده بودم :
viewtopic.php?f=10&t=1101
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط samet021 در 10 مرداد 1389 - 10:47 ، پست ها: 61
سلام
آقا دستت درد نکنه بابت آموزش
هنوز نخونده منتظر سومی هم هستیما :دی

نكته امنيتي : در هنگام ايجاد يك ديتابيس در كنترل پنل يا هرجا، و دادن سطح دسترسي به كاربري كه به ديتابيس متصل ميشه دقت كنيد و از دادن اختيارات اضافي به كاربر جز در مرحله install براي ساخت جداول خودداري كنيد...دليل اين كار اينه كه اگر در جايي از برنامه مشكل امنيتي داشته باشيم و كاربر بتونه sql_injection بزنه ، خيلي دست و پاگير تر هست وقتي نتونه index،drop و ... بكنه ...
عموما دادن چهار ويژگي delete,update,insert,select براي يك كاربر كافي هست


اینو چون تازه کارم میپرسم.
این مرحله موقع ادد کردن یوزر دیتا بیس هست؟؟؟؟؟؟
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 10 مرداد 1389 - 12:05 ، پست ها: 541
سلام
خواهش مي كنم
بله ، اول ديتابيس مي سازيم
بعد يوزر
بعد ايني كه گفتم مرحله اتصال يوزر به ديتابيس هست
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط texas در 10 مرداد 1389 - 14:35 ، پست ها: 64
رضا جان من متوجه نشدم
ميشه بگي نوشتن به صورت ارايه چه فايده اي داره ؟
يعني از نظر امنيتي
چون مطلبت رو درست نفهميدم
به نظرم اگر كمي سطح آموزش بالاتر باشه بهتره
چون اين مسائل ديگه ميشه آموزش پايه براي php مثل متصل شدن به ديتا بيس
براي اين بخش فقط ميتونستي بگي از ارايه استفاده كنيم و دليل استفادش (بگو اگر بلدي چرا خودت نمي نوشتي D: )
البته من فكر خودمو ميكنم شايد دوستان مشكل داشته باشن
ولي اينجوري خيلي كند پيش ميره
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 10 مرداد 1389 - 18:31 ، پست ها: 541
سلام
نميدونم شايد منظورم رو بد رسونده باشم...
ببين بهتره كار منسجم و دسته بندي شده باشه
حتي در راش جديد چون فايل زبانش مثل يك طومار دراز شده من دسته بني كردم و مثلا بخش پركاربردي خودش يك آرايه جدا در داخل آرايه اصلي داره ...
در مورد تنظيمات ديتابيس من نظرم اين هست كه تمام اطلاعات مربوط به ديتابيس توي يك متغير باشند،هم منسجم تر هس،هم بهتر و هم درصد خطا در استفاده از متغير هم نام و موارد مشابه كمتر...
اولش كند پيش ميره ولي وقتي كلاس قالب،رو هم تموم كنم و مقدمات ديتابيس رو بگم ديگه مثل باد ميشه حركت كرد :D
درسته اينها رو مي دونيد خيليهاتون ولي هستند كساني كه ميخوان تازه شروع كنند ...
بهر حال هر چي جلوتر بريم من سعي مي كنم بهتر، و پيشرفته تر بگم...البته شما هام بايد اشتباهاتم رو اصلاح كنيد :kuss:
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط webm_67 در 13 مرداد 1389 - 1:23 ، پست ها: 54
آقا عالی بود اما فکر می کردم توی آموزش دوم خیلی بیشتر یاد می دی.

من فکر می کنم اینطوری که شما پیش می رید حالا حالا ها ما باید منتظر تکمیل شدنش بمونیم.

بابا یه خورده بیشتر توضیح و درس بده خدایی ما دیگه اینقدر هم خنگ نیستیماااااا................ :D
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط samet021 در 14 مرداد 1389 - 9:22 ، پست ها: 61
سلام آقا رضا , خسته نباشی

آقا با کمال پر رویی منتظر قسمت بعدیماااااااااا :دی

یه کم اطلاعات میدی در مورد آموزش ؟؟

مثلا چند تا پست میشه
سر فصل پست های بعدی چیه

با تشکر
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 14 مرداد 1389 - 20:47 ، پست ها: 541
سلام
خواهش مي كنم
چشم قسمت بعدي رو هم مي نويسم
درسته ولي سطح همه افراد يكسان نيست،من دارم سعي مي كنم اوايل آموزش ساده تر باشه ولي از مرحله بعد باز پيشرفته تر مي گم.
دوستاني كه آموزش رو دنبال مي كنند حتما اين رو بخونند كه ديه دوباره توضيح ندمش:
http://rightclick.ir/#Topic-847
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط samet021 در 18 مرداد 1389 - 10:25 ، پست ها: 61
سلام آقا رضا

خوب هستین ؟؟؟
قسمت سوم خوبه ؟؟ :دی


آقا من چشمام خیس گردید از بس که نگاه کردم ببینم که آموزش اومد یا نه!! (چه پر رو , انگار طلب دارم!!)
منتظریماااااااااااااااااااااا :دی
خدا نگهدار :دی
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 18 مرداد 1389 - 16:11 ، پست ها: 541
به خدا گرفتارم ولي چشم سعي مي كنم زودتر بنويسم.
تا وقته شماهام بيان وبلاگم نظر بذارين ديگه،نظراتم از 30 تا بالاتر نرفته :mrgreen:
http://www.hamghadam.ir
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط samet021 در 31 مرداد 1389 - 16:31 ، پست ها: 61
با سلام
ستاد منتظران آموزش های آقا رضا صمیمانه خواهان زود تر آمدن قسمت آموش هستند :دی
با تشکر
خدا نگهدار
Re: آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
توسط rsh_eboy در 1 شهريور 1389 - 19:43 ، پست ها: 541
سلام
ببخشيد دير شد
چشم امشب يا فردا شب حتما آموزش رو كامل مي كنم

صفحه اصليرايت کليکانجمن هاپروژه هاCopyright © 2005-2009 RightClick.ir All rights reserved.