نمایش نتایج: از شماره 1 تا 10 , از مجموع 13

موضوع: آموزش ساخت يك سيستم وبلاگ دهي

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #4
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    Post پاسخ : آموزش ساخت يك سيستم وبلاگ دهي

    آموزش ساخت سيستم وبلاگ دهي - قسمت دوم
    و بالاخره قسمت دوم آموزش!ببخشيد دير شد ولي نخواستم با عجله و سريع باشه...
    در بخش قبل پايگاه داده رو ايجاد كرديم،در اين قسمت آغاز به شروع كد نويسي مي كنيم.البته شخصا ترجيح ميدم براي ارتباط با پايگاه داده از كلاس هايي كه قبلا نوشتم يا نوشته شده استفاده كنم اما به دليل اهميت آموزش از دستورات و توابع پيش فرض استفاده مي كنم.
    مزيت استفاده از كلاس هاي آماده و حرفه اي اين هست كه تا حدود زيادي كار كد نويسي رو آسون مي كنه و به علاوه در اكثر اين كلاس كوئري ها قبل ارسال چك ميشوند و از لحاظ امنيتي مشكلي براي سيستم پيش نمياد.
    بذاريد كليت سيستم رو اينجوري خلاصه كنم.ابتدا ما سرور رو طوري تنظيم مي كنيم كه درخواست هاي ساب دومين به صورت زير تبديل بشند.(منظورم همون ساب دومين مجازي هست.)
    کد:
    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 متغير براي تنظيمات ديتابيس اعمال كردم ولي بهتر هست اين تنظيمات به صوت يك آرايه باشند.
    بنابراين با توجه به آموزش "http://www.webhostingtalk.ir/f148/%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-php-13562/ " من كدم رو به صورت زير اصلاح مي كنم:
    کد:
    <?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،انواع كوئري ها رو هم در اين بخش ارسال مي كنم(اگر قبلا ارسال نشده باشند!) تا مقدمات كار وجود داشته باشه...
    سپاس
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  2. تعداد تشکر ها ازRezash به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. خريد يك سيستم مديريت محتوي براي گالري كليپ
    توسط Karim1504 در انجمن سیستم های مدیریت محتوا
    پاسخ ها: 0
    آخرين نوشته: May 19th, 2013, 16:31
  2. يك مشكل در سيستم whmcs
    توسط cutegroup در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: May 21st, 2012, 11:03
  3. باز شدن يك سايت خاص بر روي سيستم
    توسط voipsky در انجمن شبکه های ویندوزی
    پاسخ ها: 9
    آخرين نوشته: December 9th, 2011, 13:11
  4. ترجمه يك سيستم مديريت محتواي جديد
    توسط behrooz در انجمن Joomla-Mambo
    پاسخ ها: 28
    آخرين نوشته: April 6th, 2011, 19:31
  5. معرفي سيستم سايت ساز پارس نيك
    توسط pavnic در انجمن اسکریپت های دیگر
    پاسخ ها: 4
    آخرين نوشته: June 19th, 2009, 16:41

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •