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

الموضوع: الحاجة أم الإختراع ( 6 ) : كود التبليغ ؟!!

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697

    الحاجة أم الإختراع ( 6 ) : كود التبليغ ؟!!



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

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

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

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

    غالباً يتم وضع كود التبليغ في ملف تركيب السكربت install.php مثلاً ..
    و بالطبع بهذا الملف يتم زراعة قاعدة البيانات على الغالب و من ثم بعد تركيب القاعدة يتم عمل كود التبليغ ..
    لذا فالسكربتات التي تحتاج لزراعة القاعدة يدوياً غالباً لا يكون فيها كود تبليغ ..

    و التبليغ غالباً يكون عن رابط الموقع الذي قام بتركيب السكربت .. و يتم ذلك عن طريق الإستعلام بمتغيرات و غالباً تستخدم المتغيرات التالية :
    - $HTTP_REFERER و هو يقوم بجلب الصفحة الأخيرة التي فتحت بالمتصفح قبل تنفيذ الكود ..
    - $HTTP_HOST و هو يقوم بجلب رابط الموقع ..
    - $PHP_SELF يقوم بجلب رابط الملف ..
    كما أنه بعض المبرمجين يضع في ملف الكونفج متغير $SITEURL مثلاً لكي يتم وضع رابط الموقع من قبل المستخدم و من ثم عند التبليغ يتم إرسال ما كتبه المستخدم في هذا المتغير ..

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

    # الطريقة الأولى /
    التبليغ عن طريق البريد الإلكتروني و هي من أسهل الطرق و تعتمد على أمر إرسال بريد إلكتروني بلغة php و هي :

    كود PHP:
    mail("email@domain.ltd","subject","message"); 
    و طبعاً كما تلاحظون هناك خانة لكتابة البريد الإلكتروني الذي ترسل الرسالة له و كذلك موضوع الرسالة و محتوى الرسالة ..
    طبعاً في هذه الطريقة يتم إستبدال البريد الإلكتروني السابق ببريد المبرمج و قد لا يهم كتابة موضوع للرسالة حتى لا يكون لافت للإنتباه .. يمكن وضع رمز - أو . ..
    و طبعاً يتم وضع أحد المتغيرات المذكورة سابقاً بدلاً من message ..

    مثال :

    كود PHP:
    mail("reda1@flashmail.com","---","$HTTP_REFERER"); 
    و طبعاً يوضع الأمر غالباً كما ذكرنا سابقاً في ملف التركيب بعد أمر زراعة قاعدة البيانات مثلاً ..

    # الطريقة الثانية /
    طريقة ربما فيها قليل من الصعوبة لكنها عملية و مفيدة ..
    هي تعتمد على وضع كود بسيط في ملف تركيب السكربت يقوم بفتح سكربت في موقع المبرمج طبعاً مع إرسال المعلومات المطلوبة و يتم تخزين رابط الموقع مثلاً في قاعدة بيانات السكربت الموضوع في موقع المبرمج ..
    و فكرتها كالتالي :
    السكربت الذي يوضع في موقع المبرمج و ستحتاج لعمل قاعدة بيانات مثل هذه :

    كود PHP:
    CREATE TABLE `code` (
      `
    idint(10unsigned NOT NULL auto_increment,
      `
    urlvarchar(255NOT NULL default '',
      
    PRIMARY KEY  (`id`),
      
    KEY `id` (`id`)
    TYPE=MyISAM
    حسب السابق أسمينا الجدول code و هو يحتوي على حقل للرقم التسلسلي id و حقل لحفظ رابط المواقع التي قامت بتركيب السكربت و هو حقل url .. يمكن مستقبلاً و حسب إحتراف المبرمج إضافة حقول أخرى تاريخ التركيب مثلاً لن أتطرق لها بهذا الدرس لعدم أهميتها !! ..

    طبعاً سنحتاج بعد هذا للسكربت الذي يقوم المبرمج بوضعه بموقعه و فيه يتم تخزين رابط موقع المستخدم بقاعدة البيانات و هو كالتالي و لنفترض أن إسمه site.php :

    كود PHP:
    <?php
    $dbserver
    ="localhost";
    $dbusername="";
    $dbpassword="";
    $dbname="code";
    mysql_connect($dbserver,$dbusername,$dbpassword);
    mysql_select_db($dbname);
    if(isset(
    $url)){
    mysql_query("INSERT INTO code (url)VALUES('$url')");
    }
    ?>
    طبعاً كما هو ملاحظ قمنا بالسطور الأربعة الأولى بوضع كود التعرف على قاعدة بيانات ثم بالسطرين التي تلتها كود لعمل إتصال بقاعدة البيانات و في السطر السابع وضعنا شرط متعلق بأن لا تعمل الأوامر التي بداخله إلا إذا كان الرابط على الشكل site.php?url=http://www.domain.ltd مثلاً ..

    و الأمر الذي بداخله هو أمر إدراج في قاعدة البيانات قيمة المتغير url و الذي سيكون رابط موقع المستخدم ..

    بقي علينا كتابة الكود الذي نضعه في ملف التركيب install.php ..

    كود PHP:
    @fopen("http://localhost/code/site.php?url=http://"."$HTTP_HOST"."$PHP_SELF","r"); 
    طبعاً كما ذكرنا يوضع هذا الكود بعد أمر زراعة قاعدة البيانات في ملف التركيب و نلاحظ فيه أمر فتح رابط و هو رابط السكربت الذي قمنا بعمله قبل قليل و الذي نضعه بموقع المبرمج و نلاحظ أن المتغير url سيحمل فيه قيمة هي عبارة عن رابط الموقع + رابط الملف بعكس الطريقة السابقة وضعنا فيها الصفحة التي سبقت تنفيذ الكود .. و طبعاً عند فتح رابط صفحة بالشكل السابق سيكون تلقائياً رابط موقع المستخدم مسجلاً فيه و من ثم يتم تخزينه بقاعدة البيانات ..

    # كيف سنعرف المواقع التي تم حفظ رابطها ؟!!
    إما بفتح القاعدة و قراءة محتوياتها المخزنة أو عمل سكربت يستعرض الروابط المخزنة بالقاعدة و هو كالتالي :

    كود PHP:
    <?php
    $dbserver
    ="localhost";
    $dbusername="";
    $dbpassword="";
    $dbname="code";
    mysql_connect($dbserver,$dbusername,$dbpassword);
    mysql_select_db($dbname);
    if(isset(
    $url)){
    mysql_query("INSERT INTO code (url)VALUES('$url')");
    }
    if(isset(
    $site)){
    $query=mysql_query("SELECT url FROM code ORDER BY id DESC");
    while(
    $result=mysql_fetch_array($query)){
    echo 
    "$result[url]"."<br>";
    }
    }
    ?>
    طبعاً هذا السكربت نفسه نفس السابق site.php لكن أضفنا عليه شرط و هو site فإذا كتب في المتصفح تم عرض الروابط المخزنة بقاعدة البيانات ..
    و يمكن عرضه عن طريق الرابط :
    site.php?site=show مثلاً ..

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

    و صلى الله و سلم على سيدنا محمد ..





    الملفات المرفقة الملفات المرفقة
    رضا غير متواجد حالياً


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    644


    موضوع أكثر من رائع و لكن سأستمتع قليلاً الآن بالاستفادة و أقرأ بتأني أكثر

    يعطيك العافية أخي الحبيب رضا

    سلامي





    Obai غير متواجد حالياً

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


    من اسمك .. الله يرضا عليك ويجزيك عن كل من يستفيد من دروسك ألف ألف خير .

    كفيت ووفيت أخي رضا جعلك للعافية .





    __________________
    ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
    فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
    Dr.Server غير متواجد حالياً

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2001
    المشاركات
    3,680


    جزاك الله خير ، و من حقك وضع كود التبليغ و من حق اي مبرمج وضع كود تبليغ في برنامجه

    جزاك الله خير عن الدرس

    الله يوفقك


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

    ملاحظة : قبل لا اسوي رد ما كان احد رد
    بس دخلت عشان اكتب الرد ، لقيت اخواني ما شاء الله ، ردين





    __________________
    الحالة في سوالف : غير نشط


    لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

    الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية
    محمود المسعودي غير متواجد حالياً

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2002
    المشاركات
    447


    جزاك الله خير اخي رضاء ووفقك الى مايحبة ويرضاه

    معلومه مهمه وقليل الذي يخبرنا عنها

    تحياتي





    __________________
    == قيد الصيانة والتحديث راجعنا القرن بعد القادم ==
    Abo Waled غير متواجد حالياً

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2001
    المشاركات
    823


    جزاك الله خير على هل الدرس الجميل
    ووفقك الله وبارك فيك ويسر عليك





    أبو الوليد غير متواجد حالياً

  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    ooobe.com .. الله يعافيك أخوي و أتركك براحتك تستمتع ..

    Dr.Server .. الله يسلمك يالغالي و يرضى علينا كلنا ..

    Moodeey .. مشكور و حياك الله ..

    Abo Waled .. و إياك أخي و إن شاءالله تحصل الفائدة المرجوة من الموضوع ..

    awilah .. مشكور على ردك أخي الحبيب و نفعنا الله و إياك به ..

    يا إخوة .. هل يوجد شخص جرب الكود ؟!! .. أريد مرئيات و مقترحات ..





    رضا غير متواجد حالياً

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2001
    المشاركات
    347


    جزاك الله خير يارضا على هذا الموضوع الجميل
    يسلموو





    __________________
    >>>>>>>>>>
    qatarinet غير متواجد حالياً

  9. #9
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    إذا حضر الماء بطل التيمم.


    ماشاء الله عليك .................

    كنا عطشى وارويتنا .





    beshoo غير متواجد حالياً

  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    693


    جزاك الله خيرا أخى رضا على هذا الدرس
    فعلا درس ممتع و مهم
    تحياتى لك بالتوفيق





    php master غير متواجد حالياً

  11. #11
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    مع تشفير الملف بالزيند يصير فول ابوشن





    beshoo غير متواجد حالياً

  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    693


    ههههههههههههه
    فعلا والله يا بيشو البرنامج رهيب بالفعل





    php master غير متواجد حالياً

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Nov 2002
    المشاركات
    193


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






    __________________
    «·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
    «·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
    «·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
    phpz غير متواجد حالياً

  14. #14
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    qatarinet .. و إياك أخي .. حياك الله ..

    beshoo .. مشكور عالتعقيب و ياليت أشوفك عالمسنجر reda1@flashmail.com .. و لعلك تقدم درس في التشفير يستفيد منه الجميع ..

    php master .. و إياك أخي الحبيب و حياك الله ..

    phpz .. عفواً أخي و لعله الليلة إن شاءالله أضيف تعقيب شرح لما ذكرت ..





    رضا غير متواجد حالياً

  15. #15
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    طلب الأخ phpz كيفية وضع تاريخ التركيب في كود التبليغ ..
    يتم ذلك عن طريق دالة التاريخ في لغة ال php ..
    هذا حل لهذا الطلب حسب الطريقة الأولى يتم التالي :

    كود PHP:
    $date=gmdate("d/m/Y");
    mail("reda1@flashmail.com","$date","$HTTP_REFERER"); 
    لكن لاحظ أن التاريخ سيكون تاريخ السيرفر المركب به السكربت حيث لو كان التاريخ غلط في السيرفر حق المستخدم فسيكون غلط ..
    و إن شاءالله يكون واضح التغيير ..

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





    رضا غير متواجد حالياً





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

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

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