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

الموضوع: [درس] قائمة بريدية بأسهل الطرق , بواسطة php

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

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



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


    كثيرة هي الاحيان التي نبحث فيها على برمجيات وسكربتات لتلبية حاجة مواقعنا على شبكة الانترنت , ولكن ماذا نفعل عندما نبحث عن سكربت معين ولا نجده ؟ او ان نجده ولكن يكون معقدا بحيث لا نعود نريده ونقوم بسحب الفكرة من رؤوسنا !! هذا الدرس للمستوى المتسوط في لغة البرمجة php , ولكني سأحاول تبسيط الشرح لكي يستفيد الجميع باذن الله .


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



    الفكرة هي باختصار عبارة عن تخزين عناوين البريد الالكتروني في ملف نصي في الموقع , عند كل اضافة لعنوان جديد من قبل مستخدم جديد , فان الملف يتغير ويضيف البريد الاخير لقائمة العناوين التي يحويها الاخير , قد يقول البعض ما الفائدة من ذلك ؟؟ , اقول بان هذه الطريقة تساعد على ارسال الرسائل لكل منتسبي القائمة البريدية من خلال البريد الشخصي لمدير الموقع , ان كان في هوتميل او ياهو او بريد جوجل , وهنا مشكلة اخرى تاتي بان كل من هذه الخدمات البريدية يمكن فيها ارسال رسالة ل50 شخص فقط دفعة واحدة وليس اكثر من ذلك ( هذه المعلومة صحيحة بحال استعمال بريد جوجل ) , ايضا لهذه المشكلة يوجد حل , فصاحب الموقع يستطيع ان يقسم الملف الى اكثر من مجموعة , بمعنى انه يستطيع ان يفصل كل 50 عنوان بريد بواسطة فاصلة وهي عبارة عن سطرين للأسفل , بهذه الطريقة اذا كان الملف يحوي 150 عنوان بريد , فان الملف سيتقسم الى 3 مجموعات , في كل مجموعة 50 بريد ويفصل كل عنوان واخر فاصلة , لتكون جاهزة تماما للاستعمال عند ارسالها بالبريد ويفصل كل مجموعة عن الاخرى سطرين لضمان عدم تكرار الارسال لنفس المجموعة .


    في البداية نقوم بكتابة كود html الذي سيقوم باستقبال عنوان البريد الالكتروني من صاحبه ثم يرسله الى الكود البرمجي للمعالجة :


    كود HTML:
    <form id="mlist" method="post" action="mailing-list.php">
    البريد الالكتروني
    <input name="email" type="text" dir="rtl" />
    <p><input name="Submit" type="submit" value="اشترك الآن" /></p>
    </form>
    طبعا يمكنكم تغير تنسيق هذا الفورم حسب رغبتكم , واذا لاحظتم في بداية الكود فان المعطيات ستذهب الى الصفحة mailing-list.php وهذا يعني اننا يجب ان نقوم بأنشاء صفحة php وتسميتها mailing-list.php لكي نضع الكود التالي بداخلها بهدف المعالجة .


    ثم نقوم بكتابة كود الصفحة البرمجية والتي ستقوم بمعالجة الطلب , في البداية نكتب الكود بدون شرح ثم ساضع رابط اسفل الكود لتحميل الملف البرمجي بصيغة php , سيحوي الملف الكود البرمجي والشرح وسيكون الشرح بكل سطر على شكل تعليق برمجي :


    كود PHP:
    //  This Code Wrote BY  : EbNCaNa  [ebncana(@)hotmail.com] 

    $group_num 50;

    if(isset(
    $_POST["email"]) && !empty($_POST["email"])){

    $email secu ($_POST["email"],'gtext');

    $fcon fopen('mailing-list.txt''a+');
    $text = @fread($fcon,filesize("mailing-list.txt"));
    $ntext explode(",",$text);
    $mailsnum count($ntext);

    foreach(
    $ntext as $semail){
    if(
    $email == $semail){
    echo 
    "عذرا البريد الالكتروني الذي ادخلته موجود مسبقا في قاعدة البيانات";
    $order "stop";
    }
    }

    $mailsnum $mailsnum-1;


    if(
    $order !== "stop"){

    $numn $mailsnum+1;

    if(
    is_int($numn/50)){    
    $writem fwrite($fcon,"$email

    ,"
    );
    }else{
    $writem fwrite($fcon,"$email,");
    }
    if(
    $writem){
    echo 
    "شكرا لك , تمت اضافة بريدك الالكتروني الى قائمتنا البريدية بنجاح";
    }
    }

    fclose($fcon);
    }else{
    echo 
    "الرجاء قم بادخال البريد الالكتروني";

    طبعا كما تكلمنا مسبقا , يمكنكم تحميل الملف البرمجي الاصلي والذي يحوي الشرح الوافي للكود , اضغط على الصورة في الاسفل لتحميل الملف .




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


    الى اللقاء في درس آخر .


    الموضوع الأصلي من هنا


    باحترام : اخوكم EbNCaNa





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

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

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


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


    جزاك الله كل خير .. فكرة رائعة ..





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

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


    شكرا اخوي مدردش على التكرم ببعض الكلمات , اتمنى ان تكون بالفعل رائعة ومفيدة , لان اغلب الاعضاء لما يعتبروها كذلك , ودليل على ذلك انعدام التفاعل لحد الآن , لا يهمني الردود بقدر ما يهمني وصول الفائدة .

    اتمنى مشاركتك دائما .





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

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

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

  4. #4


    والله درس ممتاز جدا

    بارك الله فيك تم تجريب

    حبيت ارد عليك و على موضوعك المفيد جدا





    __________________
    soon

  5. #5


    بارك الله فيك متميز الدرس , ومدونتك اروع , واصل جزاك الله خير






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


    اخواني ritcdesign وعادل الظفيري , مروركم اثلج صدري , اتمنى ان اكون عند حسن الظن دائما وارجوا تفاعلكم عند كل جديد .





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

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

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

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


    مرحبا

    إسمح لي أخي بطرح سؤال

    لمدا نستخدم الملفات لتخزين البيانات فيما أن قواعد البيانات أكثر مرونة و هي الخيار الأمثل لهدا الغرض؟
    لا اضن أن دلك بالشيئ الصعب
    و تقبل فائق إحترامي و تقديري






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


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

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

    شكرا لك على المساهمة , اتمنى مشاركتك دائم اخوي .





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

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

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

  9. #9


    الف شكر لك على الموضوع رائع وجارى التطبيق
    بس ايه فايدة الدالة > secu
    انا بحثت عنها فى php.net ولم اجدها






    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

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


    اخوي MtRp اعتذر من حضرتك ومن جميع الاخوة , هذا الكود بالاساس استعمله في برمجياتي لذلك فانا استعمل الدالة secu لتكون فلتر لجميع المخرجات والمدخلات بحيث المحافظ على بيئة آمنة لجلب المتغيرات ان كان بواسطة GET او POST , اذن فهي دالة خاصة بي قمت ببنائها ولم انتبه عندما وضعت الكود في الموضوع .

    شكرا على تواصلك اخوي .

    الى الامام





    التعديل الأخير تم بواسطة EbNCaNa ; 25-09-2009 الساعة 09:45 PM
    __________________
    EbNCaNa اخوكم ابن قانا

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

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

  11. #11


    الف شكر على التوضيح
    انا هكتفى بال strip_tags و htmlspecialchars





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Oct 2005
    المشاركات
    397


    شكرا لحضرتك ياباشا

    فعلا درس جميل جدا وتسلم ايدينك على التعب هذا كله





    __________________
    نحن نتكفل بإرضائك
    www.sro7.com
    سوف نبدع بالتكاتف وسوف نفشل بالتخالف

    khaled.dj@gmail.com

  13. #13
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    شكرا لك على الدرس الجميل
    ولكن أليس من الأفضل استخدام الدالة in_array
    كالتالي:
    كود PHP:
    if(in_array($email$ntext)) 
    {
        echo 
    "عذرا البريد الالكتروني الذي ادخلته موجود مسبقا في قاعدة البيانات";
        
    $order "stop";

    بدلا من:
    كود PHP:
    foreach($ntext as $semail)
    {
        if(
    $email == $semail)
        {
            echo 
    "عذرا البريد الالكتروني الذي ادخلته موجود مسبقا في قاعدة البيانات";
            
    $order "stop";
        }







    __________________
    مدونتي

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


    اخوي aiwa اهلا فيك تشرفنا بمرورك وان شاء الله تكون مستفيد دائما وابدا مما نكتب .

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

    الى الامام





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

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

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

  15. #15
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    اخوي aiwa اهلا فيك تشرفنا بمرورك وان شاء الله تكون مستفيد دائما وابدا مما نكتب .

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

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

    جزيل الشكر





    __________________
    مدونتي





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

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

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