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

موضوع: آموزش ساخت سيستم كاربري - ورود/عضويت

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن
    تاریخ عضویت
    Aug 2009
    محل سکونت
    اندیشه ، فاز 1
    نوشته ها
    389
    تشکر تشکر کرده 
    977
    تشکر تشکر شده 
    314
    تشکر شده در
    195 پست

    پیش فرض پاسخ : آموزش ساخت سيستم كاربري - ورود/عضويت

    نقل قول نوشته اصلی توسط hello نمایش پست ها
    @rezamahmodi
    بله ، يك اشتباه در كد دارم ! در فايل index.php فايلي كه گذاشتم يادم رفته ر خط دوم session_start رو به كار بگيرم...
    بالاخره پیش میاد دیگه ! حالا میشه بگید چه جوری درستش کنیم ! یا لطف کنید خودتون فایل اصلاح شده را قرار دهید .

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

    Post پاسخ : آموزش ساخت سيستم كاربري - ورود/عضويت

    سلام
    در ادامه آموزش قصد دارم به آموزش ساخت پروفايل يا صفحات شخصي براي هر كاربر بپردازيم.
    گريزي به آخرين مطلب بخش آموزش :
    خب يك جدول خيلي ساده براي اعضا در نظر مي گيرم
    1. شناسه اي منحصر به فرد براي هر عضو
    2. نام كاربري
    3. رمز عبور
    4. نام كاربر
    قسمت بولد شده رو توجه كنيد.
    در واقع ما براي هر كاربر يك شناسه در نظر مي گيريم و اين شناسه منحصر به فرد هست
    درست مانند شماره دانشجويي هر دانشجو
    وجود اين id اختصاصي باعث ميشه ما در جداول خودمون بتونيم به جاي تكرار مكرر نام كاربري يك كاربر خودداري كنيم
    مثلا اگر به همين اسكريپت قرار باشه يك جدول براي ارسال مطلب اضافه كنيم نيازي نيست در جدول نام كاربري نويسنده رو ذخيره كنيم و فقط كافيست شناسه كاربر رو ذخيره كنيم
    اين كار باعث ميشه از تكرار عمدي يا اجتناب ناپذير جلوگيري بشه
    و عمليات ويرايش راحت تر صورت بگيره
    (البته من يك استفاده ساده و كلي رو بازبان خودم گفتم و در عمل و اصول استفاده مهم تري هم دارد.)
    البته اين برنامه نويس هست كه بايد تشخيص در چه جايي تكرار مفيد هست و در چه جايي خير
    براي مثال در mybb به خاطر شرايط يك انجمن ،‌ در جدول تاپيك هم نام كاربري و آي دي كاربر هر دو باهم ذخيره مي شوند!
    خب به جاي حاشيه پردازي كد profile.php رو ميسازيم :
    کد PHP:
    <?php
    //session start function : بايد قبل از هر خروجي اي و فقط يك بار در كد فراخواني شود.
    session_start();
    if(!isset(
    $_SESSION['username']))
    die(
    'Please Login/register');
    echo 
    "<h1> Your personal Profile </h1>";
    echo 
    "welcome, ".$_SESSION['username'];
    $username $_SESSION['username'];
    $query "SELECT * FROM `user` WHERE `user`='$username' LIMIT 1";
    $mysql_q mysql_query($query) or die(mysql_error());
    if(
    mysql_num_rows($mysql_q) <= 0)
    die(
    'Invalid login session!');
    $data mysql_fetch_array($mysql_q);
    echo 
    "<br> Your name is : ";
    echo 
    $data['name'];
    echo 
    "<br>Your Personal id is :";
    echo 
    $data['id'];
    ?>
    خط اول : آغاز تگ php
    خط دوم : دستور session_start جهت ايجاد سشن آي دي جديد در صورت عدم وجو يا استفاده از سشن هاي موجود
    خط سوم : بررسي صحت وجود سشن نام كاربري
    خط چهارم : خروج اجباري از برنامه و نمايش خطا در صورت صحيح بودن شرط خط دوم (لوگين نبودن(
    خط پنجم : نمايش يك پيغام - از اين خط به بعد ظاهرا كاربر لوگين كرده كرده است
    خط ششم : نمايش نام كاربري كاربر
    خط هفتم : انتساب مقدار موجود در سشن نام كاربري به يك متغير براي راحتي استفاده در خط بعدي
    خط هشتم : يك كوئري - ترجمه فارسي كوئري :
    انتخاب كن تمام فيلد هاي جدول (همان ستاره) را از جدول user كه فيلد user در آن برابر متغير username ميباشد و حداكثر يك ركورد را انتخاب كن
    خط دهم : اجراي كوئري خط بالا
    خط يازدهم : تابع mysql_num_rows ورودي اجباري اي دارد كه همان متغيري است كه به mysq_query انتساب داديم
    اين تابع تعداد ركورد هاي انتخاب شده رو براي ما نشون ميده و اگر كوئري درست نباشه يك عدد منفي رو بر مي گردونه
    بنابراين در اين خطا و خط بعدي چك مي كنيم اگه نتيجه اگر صفر يا منفي بود يعني چنين كاربري در ديتابيس وجود ندارد
    مثلا ممكنه بعد از لوگين مدير كاربر رو از ليست حذف كرده باشه يا سشن جعلي باشه
    بنابراين با يك بررسي ساده ميتونيم اين موضوع رو تشخصي بديم
    در خط بعدي تابع mysql_fetch_array رو داريم
    توصيه اكيد مي كنم اگر ميخواهيد كاركر اين تابع رو به درستي درك كنيد ابتدا چند كاربر بسازيد و سپس كد زير رو در زير خط جاري وارد كنيد و. نتيجه رو براي هر كاربر بررسي كنيد
    کد PHP:
    print_r($data); 
    پ.ن : اين تابع رو قبلا و با ذكر همين نكته در پست : http://www.webhostingtalk.ir/f148/14...tml#post142185 توضيح دادم
    خب اين قسمت از آموزش مقدمه اي بر اصل مطلب بود
    تا آخر هفته براي تكميل موضوع، قسمت ارسال مطلب توسط كاربران رو هم اضافه مي كنيم.
    براحتي با همين كدهاي ساده ميتونيم امكاناتي مثل محدوديت دانلود براي كاربران يا كاربران خاص و از اين قبيل فراهم كنيم.
    پ.ن مهم : باز هم تاكيد مي كنم فعلا نكات امنيتي رو در نظر نمي گيريم.
    پ.ن 2 : لوكال سيستمم قطع بود ، كد رو تست نكردم ، اگر مشكلي گذارش بديد لطفا.
    قسمت بعدي رو كامل تر و عملي تر مي نويسم.
    سپاس
    ویرایش توسط Rezash : October 14th, 2010 در ساعت 22:11
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

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


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

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

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

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

  1. پاسخ ها: 2
    آخرين نوشته: March 11th, 2013, 12:50
  2. پاسخ ها: 0
    آخرين نوشته: May 16th, 2011, 01:12
  3. آموزش ساخت يك سيستم وبلاگ دهي
    توسط Rezash در انجمن PHP-MySQL
    پاسخ ها: 12
    آخرين نوشته: December 17th, 2010, 18:09
  4. معرفی سيستم مديريت آموزشگاه اتود + نسخه نمايشی
    توسط amiri113 در انجمن مباحث دیگر
    پاسخ ها: 0
    آخرين نوشته: February 1st, 2010, 18:08

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

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