النتائج 1 إلى 13 من 13

الموضوع: [?] سؤال في الصلاحيات ..

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236

    Exclamation [?] سؤال في الصلاحيات ..



    السلام عليكم ..

    انا حالياً ببرمج سكربت عبارة عن مقالات تطبيقاً لدروس الاخ رامي (تعلم php فيديو) ..
    حاولت اضيف ميزة و اطور في السكربت نفسه عملت فورم لتسجيل الاعضاء و جدول في قاعدة البيانات للاعضاء , و عملت صفحة لتسجيل دخول العضو و تتبع العضو عن طريق session في جميع صفحات الموقع حتى مجلد admin ..

    المشكلة اللي بتواجهني ان ممكن أي عضو يدخل على لوحة التحكم , عضو X او العضو Y او العضو Z و اضافة مقالات يعني مش معروف مين الـ مدير و مين الـ مشرف و مين الـ محرر .. عدم وجود صلاحيات !!

    كيف ممكن اطور السكربت بحيث أضيف صلاحيات للعضو X للدخول على لوحة التحكم (مدير) و كافة الصلاحيات متاحة (الخيارات العامة - اضافة اقسام - اضافة مقالات .. إلخ) ..
    و الـعضو Y الدخول على نفس لوحة التحكم (مشرف) مع وجود صلاحيات (اضافة اقسام و اضافة مقالات فقط) ..
    و العضو X الدخول على لوحة التحكم (محرر) مع وجود صلاحيات (اضافة مقالات) فقط ..

    بمعنى كيف اعمل صلاحيات للاعضاء (مدير - مشرف - محرر) ؟؟ حاولت ابحث و وجودت موضوع لكن كلام نظري من غير أي تطبيق [http://www.swalif.net/softs/swalif45/softs232875/]..
    ياريت لو أي درس أو مثال بسيط على الصلاحيات و جزاك الله كل خير ..





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%


  2. #2
    عضو فعال
    تاريخ التسجيل
    May 2004
    المشاركات
    1,591


    اخوي مدردش, الموضوع بسيط ,,,
    انت تعمل جدول فيه المجموعات , حتكون مثلاً مجموعه admin, mod, user
    وفيها ارقام الاعضاء اللي تابعين لهذه المجموعة, يعني قي جدول الأعضاء في حقل خاص برقم المجموعة .

    وتستعلم عن المجموعة في اول الصفحة , اذا كان العضو يتبع للمجموعة هذه يتنفذ الكود اما اذا ما كان له صلاحية يطبع له انه ليس لديك صلاحية . ويعمل خروج exit;

    وهكذا في باقي الصفحات ...

    ان شاء الله يكون كلامي واضح , وبالتوفيق ان شاء الله ...





    __________________
    دروس php بالفيديو !

    marabe7 سابقاً .

    حسَّن موقعك في محركات البحث :
    أكاديمية التطوير

  3. #3
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    اخوي مدردش, الموضوع بسيط ,,,
    انت تعمل جدول فيه المجموعات , حتكون مثلاً مجموعه admin, mod, user
    وفيها ارقام الاعضاء اللي تابعين لهذه المجموعة, يعني قي جدول الأعضاء في حقل خاص برقم المجموعة .

    وتستعلم عن المجموعة في اول الصفحة , اذا كان العضو يتبع للمجموعة هذه يتنفذ الكود اما اذا ما كان له صلاحية يطبع له انه ليس لديك صلاحية . ويعمل خروج exit;

    وهكذا في باقي الصفحات ...

    ان شاء الله يكون كلامي واضح , وبالتوفيق ان شاء الله ...
    اخي الكريم رامي ابقي اعمل لينا شرح لية في السكربت الي احنا بنعملة الان و طبعاااااااااا بعد موافقة الاخ مدردش

    جزاك الله خيرااااااااااااااا اخي الكريم رامي





    التعديل الأخير تم بواسطة محمدهلال ; 21-10-2008 الساعة 06:01 PM
    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    أخي الكريم
    الامر بسيط
    تحتاج للاعتماد على الجلسات "session" للنوع (مدير - مشرف - عضو - ....)
    وتستخدمها هكذا:
    كود PHP:
    if($_SEESION['conf_mod'] == 'admin')
    {
    # الاكواد التي ستظهر للادمن
    }
    else if(
    $_SEESION['conf_mod'] == 'moderator')
    {
    #الاكواد التي ستظهر للمشرف

    ويمكن ان تقوم انت بتطويرها كما تحب بالاعتماد على المزيد من الجلسات





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  5. #5
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    أخي الكريم
    الامر بسيط
    تحتاج للاعتماد على الجلسات "session" للنوع (مدير - مشرف - عضو - ....)
    وتستخدمها هكذا:
    كود PHP:
    if($_SEESION['conf_mod'] == 'admin')
    {
    # الاكواد التي ستظهر للادمن
    }
    else if(
    $_SEESION['conf_mod'] == 'moderator')
    {
    #الاكواد التي ستظهر للمشرف

    ويمكن ان تقوم انت بتطويرها كما تحب بالاعتماد على المزيد من الجلسات

    جزاك الله خيرااااااا اخي الكريم
    ممكن اتعبك معانا ممكن تعمل مثال بقاعدة البيانات عشان نعرف نستخدمة صح جزاك الله خيرااااااااااااا





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236


    ياريت مزيد من التوضيح لاني بصراحة لحتى الان مش قادر استوعب الفكرة .. و شكراً للاخوة اللي ردوا على الموضوع ..





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي مدردش شو بالزبط الي مش فاهموا ... وضلحنا على نشرحلك يا بشكل افضل اذا سمحت .

    الى الامام





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  8. #8
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    اخوي مدردش شو بالزبط الي مش فاهموا ... وضلحنا على نشرحلك يا بشكل افضل اذا سمحت .

    الى الامام

    جزاك الله خيرااااا اخي الكريم

    فا لو ممكن تعمل مثال بسيط مع قاعدة البيانات
    وجزاك الله خيراااااا اخي الكريم





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي انا بصدد بناء نظام من هالنوع ... بس انتهي منو قريبا رح اعطيك كل الملفات ورح تفهم 100% عن شو بنقصد .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  10. #10
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    جزى الله كل خير من شارك فى هذا الموضوع والمعلومات
    ولى سؤال :
    ما هو ال session وكيف يمكن ان استخدمه (اتمنى لو فيه شرح تفصيلى)

    اخوى مدردش متقاعد

    الاخوى يقصدوا انك تحميل حقل جديد فى قاعدة البيانات وتسميه مثلا mod
    وتعطى فيه ارقام مثلا
    رقم 1 هو المدير
    رقم 2 هو المشرف
    رقم 3 هو المحرر

    وبعدين لما تيجى تسحب من القاعدة تستخدم switch أو if كما يحلو لك (افضل استخدام switch)

    وكما قال لك الاخ مهندس مصرى جزاة الله كل خير
    أخي الكريم
    الامر بسيط
    تحتاج للاعتماد على الجلسات "session" للنوع (مدير - مشرف - عضو - ....)
    وتستخدمها هكذا:
    كود PHP:
    if($_SEESION['conf_mod'] == 'admin')
    {
    # الاكواد التي ستظهر للادمن
    }
    else if(
    $_SEESION['conf_mod'] == 'moderator')
    {
    #الاكواد التي ستظهر للمشرف

    ويمكن ان تقوم انت بتطويرها كما تحب بالاعتماد على المزيد من الجلسات
    بس مانى فاهم نظام الجلسات (كيف اسويه)
    انا افهم الفكرة ولكن اجهل التطبيق
    بانتظار الخبراء
    تحياتى للجميع





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

  11. #11
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    ها هو كود بسيط للفكرة

    كود PHP:
    //اسحب الرقم من القاعدة ثم ادخله على دالة switch وليكن المتغير  $zzz مثلا

    switch($zzz){
    case(
    1):
    echo
    "ضع الاكواد التى ستظهر للمدير هنا";
    break;

    case(
    2):
    echo
    "ضع الاكواد التى ستظهر مشرف هنا";
    break;

    case(
    3):
    echo
    "ضع الاكواد التى ستظهر للمحرر هنا";
    break;

    بالتوفيق اخوى





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236

    Thumbs up



    شكراً اخي عبد العزيز الله ينور عليك الفكرة وصلت ..
    انا اللي عملته بالضبط .. الخيارات في لوحة التحكم كالتالي (القائمة الرئيسية - قائمة الأقسام - قائمة المواضيع - قائمة الأعضاء) .. عملت 4 حقول في جدول users كالتالي : allow_main , allow_cats , allow_topics , allow_users) .. و اعطيتهم القيم 0 , 1 بحيث 0 = غير مسموح.

    و الصفحة الرئيسية للوحة التحكم عملت استعلام و وضعت نتائج الحقول الاربعة في مصفوفة و عملت مقارنة عن طريق دالة if

    كود:
    if ($allow_main == 1) {
    echo "القائمة الرئيسية";
    }
    طبعاً بعد تسجيل الدخول ..

    و اذا حاول العضو بعد تسجيل الدخول و عدم وجود صلاحيات في الصفحة الرئيسية للوحة التحكم في الدخول مباشرة الى مثلاً الخيارات العامة التابعة للقائمة الرئيسية عن طريق كتابة العنوان .. لن يسمح له بالدخول لوجود الجملة الشرطية if السابقة في بداية ملف الخيارات و هكذا ..

    بالاضافة لوجود صفحة في لوحة التحكم من خلالها يتم تحدد الصلاحيات للأعضاء عن طريق خيار checkbox ..

    موضوع مفيد
    http://www.montadaphp.net/t1632
    ----------------------------------------------
    اما بالنسبة لتطبيق الـ session فأنا بحثت عن مواضيع كتير و للاسف كل موضوع بطريقة تطبيق مختلفة عن المواضيع الاخرى و احيانا ما بيضبط التطبيق للاسف لكن افضل موجود وجدته هو التالي PHP Login script tutorial ..

    مقدمة عن الsession من هنا PHPvillage

    التطبيق و ياريت لو في أي خطأ من الأخوة المحترفين ينبهوني لان انا اجتهدت لأتوصل لأفضل طريقة حسب ما قرأت في سوالف و منتدى php و موقع phpeasystep و عدلت عليها بشكل بسيط جداً لتلبي احتياجاتي ..

    الفكرة العامة :
    يجب وضع
    كود:
    session_start();
    في بداية كل ملفات الموقع مباشر بعد
    كود:
    <?php
    ..
    يجب وضع جملة شرطية في الملفات التي يجب حمايتها او ان يدخلها الاعضاء فقط و تكون الجملة الشرطية اذا كان هناك جلسة يطبع الاكواد اما اذا لم يكن هناك جلسة يستدعي ملف login.php ..

    بإختصار ..
    ملف لتسجيل الأعضاء register.php
    ملف لتسجيل الدخول login.php
    ملف للتحقق من تسجيل الدخول ckeck.php
    ملف لتسجيل الخروج logout.php


    بالنسبة للملف Login.php ملف عادي به فورم لتسجيل دخول الاعضاء و الـ action = ckeck.php ..

    كود:
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr>
    <form name="form1" method="post" action="check.php">
    <td>
    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <td colspan="3"><strong>Member Login </strong></td>
    </tr>
    <tr>
    <td width="78">Username</td>
    <td width="6">:</td>
    <td width="294"><input name="username" type="text" id="username"></td>
    </tr>
    <tr>
    <td>Password</td>
    <td>:</td>
    <td><input name="password" type="text" id="password"></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Login"></td>
    </tr>
    </table>
    </td>
    </form>
    </tr>
    </table>

    الملف cleck.php للتحقق من البيانات المدخلة في الملف login.php

    كود:
    <?php
    session_start(); //يجب وضعها في بداية الملفات حتى من غير مسافات
    
    include ("include/config.php"); //استدعاء ملف معلومات قاعدة البيانات
    
    //اسناد القيم إلى متغيرات
    $username = $_POST['username']; 
    $password = $_POST['password'];
    
    //الاستعلام اذا كان اسم المستخدم و كلمة السر تساوي القيم المدخلة
    
    $sql = mysql_query("SELECT * FROM `users` WHERE `user_username` = '$username' and `user_password` = '$password'");
    
    //وضع نتائج الإستعلام في مصفوفة
    $rows = mysql_fetch_array($sql);
    $userid = $rows['user_id']; //رقم اسم المستخدم
    $myusername = $rows['user_username']; //اسم المستخدم
    
    //ما فهمته ان يختار سطر واحد من قاعدة البيانات و ياريت لو في توضيح من الأخوة
    $count = mysql_num_rows($sql);
    
    // اذا كانت النتيجة 1
    if ($count == 1){
         // بناء الجلسة باسم المستخدم و كلمة السر                           
       session_register("username");
       session_register("password");
    
       //متغيرات الجلسة
       $_SESSION['userid'] = $userid; //رقم اسم المستخدم المستخرج من قاعدة البيانات اسندناه الى متغير  جلسة
       $_SESSION['username'] = $myusername; //اسم المستخدم المستخرج من قاعدة البيانات اسندناه الى متغير جلسة اخر
    	
       echo "تم تسجيل دخولك بنجاح يا [$myusername]";
    	
    } else {
    	echo "خطأ , اسم المستخدم أو كلمة المرور !";
    }
    
    ?>
    بالنسبة لحماية ملف معين لا يدخله الا الاعضاء مثلاً usercp.php لوحة تحكم العضو
    نضع الجملة الشرطية في بداية الملف .. و معناها اذا لم تكون هناك جلسة باسم المستخدم
    كود:
    if (!session_is_registered(username)){
       include ("login.php");
    } else {
    //الاكواد الخاصة بمنطقة الأعضاء
    }
    ولا تنسى session_start (); في بداية الملف مباشرة ..


    ما اعانيه بالـطريقة السابقة :
    1. عدم وجود كاش , بمعنى لو في صفحة التسجيل register.php حصل خطأ في البيانات و عند الرجوع الى الخلف تختفي كل البيانات !
    2. تبدأ الجلسة و تنتهي في حالة اغلاق المتصفح لكن لو هناك جلسة قائمة و فتحت صفحة اكسبلور جديدة كأنه لا يوجد جلسة ..
    بمعنى انا عملت تسجيل دخول و اتصفح الموقع من نفس نافذة المتصفح و فجأة فتحت صفحة جديدة فكأنما لا يوجد جلسة !!


    لو في يا اخ عبد العزيز أي استفسار انا بالخدمة الواحد بيستفيد و يفيد و لو اني لسه في بداية الطريق (مبتدىء) ..

    بالتوفيق ان شاء الله ..





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    37


    جزاك الله خير , يا ليت لو تعطونا دروس اكثر حول هذا المووضوع , بحيث يحتوي على افكار حول جعل النظام او البرنامج لا يمكن لاي شخص اختراق صلاحيته المعطاه ,

    انتظر بفارغ الصبر ولكم مودتي





    __________________
    نهتم بإيجاد مصادر باللغه العربيه للحاسب الآلي ونظم المعلومات

    تفضل وساهم معنا www.uqucs.com/vb





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض