صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 29

الموضوع: أسئلة للأستاذ Al Mobarmeg المبرمج

  1. #1
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية

    أسئلة للأستاذ Al Mobarmeg المبرمج



    السلام عليكم ورحمة الله
    عندي أسئلة للأخ Al Mobarmeg المبرمج أرجو أن يتكرم بالاجابة عنها
    كما أرجو الفائدة للجميع من هذا الموضوع







  2. #2
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    أرجو أن تتكرم بشرح طريقة انجاز ما يلي :

    1 - ارسال بريد لتفعيل الاشتراك عند تسجيل أي عضو في الموقع

    2 - صورة لتوليد رقم عشوائي مثل الصور التي تعتمد في تسجيل حساب لدى الياهو


    3 - طريقة ارسال الباسورد الى العضو في حال فقدانه

    4 - نظرة حول البرمجة بالكائنات ,طريقة برمجة كائن أو كلاس




    أرجو أن لا تخيب أملي
    وجزاك الله خيرا على المساعدة

    كما أرجو أن تكتب لنا الشرح بالطريقة العادية وليس بالبــ OOP
    وشكرا مجددا







  3. #3
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    بما أنك طلبته هو شخصياً لن أتدخل في الرد عليك
    يمكنك انتظاره .......


    تحياتي






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


    السلام عليكم

    أسف أذا دشيت عرض بس أخوي PHP-Master02 أذا تقدر تشرح شرح مبسط يكون أحسن للجميع

    و أسف أخوي داعية أني دشيت عرض

    وشكراً لكم

    أخوكم حمد






  5. #5
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    السلام عليكم ورحمة الله

    الإخوة الأفاضل شكرا لكم

    طبعا أنا لم أفضل شخصا على آخر حينما طرحت الأسئلة
    فقط الأكواد التي يكتبها الأستاذ المبرمج جميلة ومميزة


    ولا مانع من مساعدتنا اخي PHP-Master02
    بارك الله فيك وحفظك

    تحياتي






  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    أنا لم أقصد أنك تفضل شخص على آخر ...
    ولكن بما أنك طلبته هو أردت أن أنتظر ردوده

    على العموم سأقوم بمساعدتك في حال لم يأت ....






  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    هذا صحيح يا داعية كل واحد له طريقة .. وبدأنا نشعر مع الاحتكاك بين المبرمجين هذه الأيام بملامح مميزة لكل منهم ماشاء الله بس انا سعيد جدا جدا جدا جدا بوجود مثل هؤلاء المبرمجين الفاهمين (لا أريد أن أذكر أسماء لأنني بالتأكيد سأنسى أسماء) .. وكلنا نحمل ميزة مهمة جدا وهي الرغبة في التطور والتعلم .. وهناك أفكار للتعاون بيننا على نطاق واسع لكن سأبدأ في التركيز فيها عندما أنتهي من انشغالي هذه الأيام .. دعواتكم بالتوفيق يا شباب ..

    داعية: سؤالك عن كلمة المرور له طريقتان حسب نوع كلمة السر .. لذلك حدد هل كلمة السر مشفرة أم عادية؟





    __________________
    ....
    محمد حسام
    انترنت بلس

  8. #8
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    السلام عليكم ورحمة الله

    أستاذي أنترنت بلس : بارك الله فيك على كلماتك الطيبة
    شعور جميل جدا


    أخ PHP-Master02
    لن أنسى مساعدتك لي سابقا
    أود أن أشكرك من جديد على ما تقدمه لاخوانك







  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2003
    المشاركات
    669


    اقتباس المشاركة الأصلية كتبت بواسطة داعية
    أرجو أن تتكرم بشرح طريقة انجاز ما يلي :

    1 - ارسال بريد لتفعيل الاشتراك عند تسجيل أي عضو في الموقع

    2 - صورة لتوليد رقم عشوائي مثل الصور التي تعتمد في تسجيل حساب لدى الياهو


    3 - طريقة ارسال الباسورد الى العضو في حال فقدانه

    4 - نظرة حول البرمجة بالكائنات ,طريقة برمجة كائن أو كلاس




    أرجو أن لا تخيب أملي
    وجزاك الله خيرا على المساعدة

    كما أرجو أن تكتب لنا الشرح بالطريقة العادية وليس بالبــ OOP
    وشكرا مجددا
    الطريقة سهله

    -- شرح مفصل --

    بالنسبة لتفعيل الإشتراك فعند تسجيل العضو يتم إدخال البيانات إلى الجدول ويكون فيه حقل وليكن اسمه Allow_reg ( مثلاً )
    وتكون القيمة 1 أي مفعل اشتراكه أو 0 إذا غير مفعل اشتراكه
    وتضع بالمنتدى لا يستطيع أحد كتابة موضوع او الرد إلا أن تكون قيمة الحقل Allow_reg لديه هي 1

    وعند تسجيل العضو افتراضياً تكون القيمة = 0

    وترسل رسالة على بريدة بالدالة mail سهله هذي

    بها هذا الرابط :

    http://www.ala7lam.net/script/allow-reg.php?userid=10

    في ملف allow-reg.php ورقم العضوية هي 10 .. طبعا تستخرج العضو من قاعدة البيانات بحلقة تكرار while

    وعند الدخول للصفحة السابقة يتم تحديث حقل Allow_reg من القيمة 0 إلى1 أي تم تفعيل الاشتراك

    ---------------

    بالنسبة لكلمة المرور فهي على النحو التالي

    عند طلب كلمة المرور يتم إرسال رسالة بريدية إلى بريد هذا العضو بها رابط مثلاً :

    http://www.ala7lam.net/script/forget....php?userid=10

    ويتم تحديث حقل password الخاص بكلمة المرور إلى كلمة مرور عشوائية بأي دالة
    وإرسال رسالة إلى هذا العضو بها كلمة المرور الخاصة به الجديدة ( العشوائية )

    بالنسبة للكلاسات فهذا افضل درس له هذا

    http://www.arabportal.net/news.php?action=view&id=24

    آسف إذا الشرح بسيط لكن كما تلاحظ الطريقة سهله بس تحتاج شوية تفكير

    بالتوفيق ،،،





    __________________
    الإستضافات :

    http://www.ala7lam.net/host.html

    موضوع الإستضافات وخدماتنا :

    إستضافات وخدمات شبكة الأحلام التطويرية ...

  10. #10
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    شكرا للإفادة يا أخي ساري وهذه ملاحظات على كلامك:
    تفعيل الاشتراك:
    ناقص شيء هام .. لأنه لو بالصورة اللي انت شرحتها إذن أي واحد بعد ما يسجل يكتب عنوان في آخره رقم اشتراكه ويتم تفعيله .. لذلك ما يحدث هو:
    هناك حقلان إضافيان واحد هو حالة الاشتراك (0 - 1) والآخر هو رقم (أو حروف) عشوائي طويل (8 حروف أو أرقام مثلا) ..
    عند الاشتراك يتم إنشاء هذا الرقم السري الطويل وإرساله في رسالة التفعيل .. يكون في رسالة التفعيل: رقم المشترك والرقم السري الطويل .. عند دخول صفحة التفعيل يتم البحث عن مشترك رقمه كذا وكود تفعيله كذا .. إذا وجد يتم تحديث صف بياناته لتكون حالة الاشتراك 1 ..

    كذلك:
    طبعا تستخرج العضو من قاعدة البيانات بحلقة تكرار while
    إذا كان لديك صف واحد تريد استرجاعه فلا تستخدم while ..

    استرجاع كلمة المرور:
    تصورك غير صحيح .. مثلا أنا أعرف اسمك في سوالف .. فإذا ضغطت "استرجاع كلمة المرور" وقامت سوالف بتغيير كلمة السر فسوف يكون هذا خطأ لأنك لم تطلب تغييرها .. صح؟
    طريقتك فيها دمج بين طريقتين: طريقة كلمة السر العادية والكلمة المشفرة ..





    __________________
    ....
    محمد حسام
    انترنت بلس

  11. #11
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    الأخ ساري
    جزاك الله خيرا على الشرح
    يمكنك الاطمئنان فهمت الفكرة


    شكرا لمداخلتك استاذ أنترنت بلس
    بارك الله فيك

    سأبدأ في التطبيق
    وأطرح الأسئلة بعد التطبيق مباشرة
    جزيتم خيرا






  12. #12
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    وبارك فيك بس انت لسه ماعرفتش اجوبة أسئلتك
    دلوقتي انت عرفت طريقة تفعيل الاشتراك ..
    طريقة الصورة التي فيها حروف وأرقام:
    في صفحة التسجيل بتنشئ متغير وتضع فيه عدد معين من الحروف والأرقام العشوائية .. وتستخدم دوال إنشاء الصور الخاص بـGD لينشئ صورة فارغة بمقاسات معينة ويكتب فيها الكود العشوائي .. ويكون فيه حقل لكتابة هذا الكود .. وتقوم بعمل حقل مختفي فيه القيمة المشفرة من الكود اللي انت لسه مخترعه في نفس الصفحة .. لما يضغط الزر للتسجيل بتشوف قيمة الحقل المختفي والقيمة المشفرة للحقل اللي هو لازم يكتب فيه الكود .. إذا تطابقوا يبقى خلاص ..

    طريقة إرسال الباسوورد:
    إذا كانت الباسوورد عادية مش مشفرة فانت بسهولة بتطلب منه الايميل أو اسم المستخدم او اي بيانات .. فإذا وجدت هذه البيانات عندك في الجدول بترسل له كلمة المرور على الايميل عادي ..
    أما إذا كانت مشفرة فبيكون عندك حقلين إضافيين واحد لكلمة السر البديلة (ويكون فاضي في البداية) وواحد لكود تفعيل تغيير كلمة السر .. إذا طلب استرجاع كلمة المرور بتطلب من الايميل او اسمه .. اذا وجدته في الجدول بتنشئ كلمة مرور جديدة تضعها في حقل كلمة المرور البديلة وتنشئ كود عشوائي تضعه في حقل كود تفعيل تغيير كلمة المرور وترسل له إيميل فيه رابط يكون في الرابط: رقم المستخدم - كود تفعيل تغيير كلمة السر .. إذا وصله الإيميل وضغط الرابط بتعمل التالي: تحديث كلمة السر القديمة الأصلية لتصبح كلمة السر الجديدة - مسح كلمة السر البديلة - مسح كود تفعيل تغيير كلمة السر .. وهذه طريقة المنتديات .. لا أعرف إذا كان هذا ما يفعلونه ولكن هذا ما فعلته عندما أردت تقليد طريقتهم ..

    الكلاسات: رابط أخي ساري درس مفيد جدا ..





    __________________
    ....
    محمد حسام
    انترنت بلس

  13. #13
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    شكرا للمرة الثانية
    بارك الله فيكم


    شرح رائع أستاذ أنترنت بلس






  14. #14


    السلام عليكم ورحمة الله،

    1 - ارسال بريد لتفعيل الاشتراك عند تسجيل أي عضو في الموقع
    فلنفترض أننا قمنا بتنفيذ استعلام الـ SQL التالي لبناء جدول المستخدمين:
    كود:
    CREATE TABLE users (
     id int UNSIGNED NOT NULL AUTO_INCREMENT,
     username text NOT NULL,
     password char(32) NOT NULL,
     email text NOT NULL,
     activated int(1),
     activate_id char(8),
     PRIMARY KEY(id)
    ) type=MyIsAm;
    حيث أن:
    id : رقم المستخدم
    username : اسم المستخدم
    password : كلمة المرور
    email : البريد الالكتروني
    activated : يحوي على 1 إذا كان المستخدم تم تفعيل اشتراكه، و 0 في عدم التفعيل
    activate_id : رقم عشوائي لتفعيل الاشتراك

    فلنفترض أن المستخدم قام بإرسال بيانات تسجيله إلينا عن طريق POST، بحيث:
    $_POST['username'] : تحتوي على اسم المستخدم
    $_POST['password'] : تحتوي على كلمة المرور المشفرة (عن طريق MD5 مثلاً)
    $_POST['email'] : تحتوي على البريد الالكتروني

    فيجب التأكد منها في البداية بكل تأكيد، واذا كان وضع الـ magic_quotes_gpc هو 0 فيجب اضافة شرطات لما حصلنا عليه.

    مثال لإضافة الشرطات المقصودة:
    كود PHP:
    <?php
    // التحقق من أن الـ magic_quotes_gpc في وضع off
    if(!get_magic_quotes_gpc())
    {
     
    // اضافة شرطات لما في مصفوفة $_POST (تهريب ما بها)
     
    foreach($_POST as $k=>$v)
     {
      
    $_POST[$k] = Addslashes($v);
     }
    }
    ?>
    الآن عند الاضافة .. يجب أن نضيف 0 في activated ويجب أن نقوم بعمل رقم عشوائي ونضعه في activate_id وارساله في رسالة نخبره عن طريقة التفعيل.
    كود PHP:
    <?php
    // الاتصال بقاعدة البيانات
    // السيرفر: localhost , اسم المستخدم: user , كلمة المرور: pass
    MySQL_PConnect('localhost''user''pass')
     Or Die(
    MySQL_Error());

    // اختيار قاعدة البيانات dbname
    MySQL_Select_DB('dbname')
     Or Die(
    MySQL_Error());

    // التحقق من عدم وجود المستخدم
    $query MySQL_Query("SELECT id FROM users WHERE username='{$_POST['username']}'") Or Die(MySQL_Error());
    // اذا كان عدد السجلات الناتجة من الاستعلام أكبر من 0
    if(MySQL_Num_Rows($query) > 0)
    {
     
    // طباعة رسالة تفيد بوجود المستخدم.. ثم الخروج
     
    echo 'المستخدم '.$_POST['username'].' موجود بالفعل!';
     exit;
    }

    // افراغ الذاكرة من نتيجة الاستعلام
    MySQL_Free_Result($query);

    // انشاء ارقام وحروف عشوائية لتفعيل الاشتراك
    $activate_id substr(md5(time().crypt(time())), 168);

    // تشفير كلمة المرور عن طريق MD5
    $_POST['password'] = md5($_POST['password']);

    // اضافة المستخدم لجدول users
    MySQL_Query("INSERT INTO users (username,password,email,activated,activate_id) VALUES ('{$_POST['username']}', '{$_POST['password']}', '{$_POST['email']}', 0, '$activate_id')")
     Or Die(
    MySQL_Error());

    // أخذ رقم المستخدم
    $USER_ID MySQL_Insert_ID();

    // ارسال رسالة تحتوي على كود التفعيل
    mail($_POST['email'], 'كود تفعيل المستخدم'"السلام عليكم..\nارجوا زيارة الصفحة http://www.site.com/activate.php?u=$USER_ID وادخال الرقم $activate_id حتى يتم تفعيل اشتراكك.\nوشكراً!");
    ?>
    ونقوم بصنع ملف actiavte.php يحتوي على نموذج به خانة لكتابة كود التفعيل وخانة مخفية تحتوي على قيمة $_GET['u']

    وحين نريد أن نقوم بمعالجة النموذج نقوم بشيء كالتالي:
    كود PHP:
    <?php
    // التحقق من أنه تم ارسال رقم المستخدم في $_POST['u'] ورقم التغعيل في $_POST['code']
    if(!(int)$_POST['u'] || !$_POST['code'])
    {
     
    // احد الأشياء مفقودة .. طباعة رسالة والخروج
     
    echo "حدث خطأ ما!";
     exit;
    }

    // جعل قيمة $_POST['u'] هي رقمية (integer) واضافة شرطات لقيمة $_POST['code']
    $_POST['u'] = (int) $_POST['u'];
    $_POST['code'] = Addslashes($_POST['code']);

    // يجب أن تقوم بالإتصال بالـ MySQL Server
    // ..
    // ..

    // الاستعلام عن المستخدم
    $query MySQL_Query("SELECT activate_id FROM users WHERE id='{$_POST['u']}' AND activated=0") Or Die(MySQL_Error());

    // اذا كانت النتائج أقل من 1
    if(MySQL_Num_Rows($query) < 1)
    {
     
    // طباعة رسالة عدم وجود المستخدم .. ثم الخروج
     
    echo 'المستخدم غير موجود أو أنه قد تم تفعيله سابقاً!';
     exit;
    }

    // جلب الناتج من الاستعلام
    $result MySQL_Fetch_Object($query);

    // اخلاء الذاكرة من الاستعلام
    MySQL_Free_Result($query);

    // التحقق من مطابقة كود التفعيل مع الكود الموجود في قاعدة البيانات
    if($_POST['code'] == $result->activate_id)
    {
     
    // تم التأكد من كود التفعيل.. تغيير حالة المستخدم إلى مفعل
     
    MySQL_Query("UPDATE users SET activated=1 WHERE id='{$_POST['id']}'")
      Or Die(
    MySQL_Error());

     
    // طباعة رسالة بنجاح عملية التفعيل
     
    echo 'تم تفعيل المستخدم بنجاح!';
    }
    else
    {
     
    // الكود خاطىء
     
    echo 'الكود المدخل غير صحيح!';
     exit;
    }
    ?>






    __________________
    ArabBB ... SoooooN!

  15. #15


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

    هناك درس بسيط أعتقد أنه سوف يشرح الفكرة على الرابط
    http://www.phphulp.nl/php/scripts/9/299/





    __________________
    ArabBB ... SoooooN!





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

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

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