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

الموضوع: الخطوة الأولى في برمجة سجل الزوار

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


    لقد انشأ ولله الحمد سجل زوار بسيط برمجته أبسط يعتمد على الحفظ الملفات flat files

    سوف أشرح كيف برمجته

    اولا: التخطيط في عمل السكربت

    1-- اختيار المعلومات التي سوف يتم عرضها
    --- الاسم
    --- البريد الإلكتروني
    --- الموقع على الانترنت
    --- التوقيع
    2-- هناك بيانات لا يتم عرضها الا لصاح الموقع مثل
    --- رقم الاي بي
    3-- انشاء هيدر header وفوتر footer مناسب
    4-- انشاء صفحة الادراج وهي عبارة عن فورم عادي لكل حقل اسم معين يحمل الصفة
    5-- ترسل البيانات الى صفحة الادراج سوف نسميها gbadd.php
    6-- عند الادراج سوف يتم انشاء اوتوماتيكي ملف اسمهcount.txt الملف يحتوي على عدد التواقيع الموجودة
    7-- عند الادراج ايضا سوف يتم ادراج بيانات التواقيع كل واحدة على حدا في ملف يحمل رقم التوقيع بالترتيب
    1.txt التوقيع الاول
    2.txt التوقيع الثاني
    3.txt التوقيع الثالث
    .... وهكذا
    يفصل بين كل بيان مضاف علامة "|" مثال
    علي|email@email.com|http://www.yahoo.com
    .... وهكذا
    8- عند الادراج يقوم السكربت بقراءة آخر عدد للتواقيع في الملف count.txt ثم يضاف اليه 1 في كل ادراج مثال
    عندما يكون لدينا عدد 0 توقيع عند الادراج يتحقق السكربت من عدد التواقيع فيجد انها 0 ثم يقوم باضافة 1 الى الملف فيصبح الرقم 1 موجود في count.txt وينشأ ملف آخر اسمه 1.txt توضع به البيانات المدرجة
    وعند الادراج مرة أخرى يقوم السكربت بفتح الملف count.txt والتحقق من عدد التواقيع فيجد انها 1 فيقوم باضافة 1 اليها فيصبح العدد الموجود في count.txt 2 فيقوم بانشاء ملف آخر اسمه 2.txt توضع به البيانات للتوقيع الثاني وهكذا
    9-- عند العرض يقوم السكربت بوضع ملفات header وال footer في مكانهما ويقوم بفتح الملف count.txt والتحقق من عدد التواقيع فيجد مثلا انها 5 تواقيع فيقوم بعمل استمرارية Looping متتابع من 1 الى 5 على حسب عدد التواقيع فيقوم بعمل تحليل وتحويل البيانات الى arrays كل بيان يفصله العلامة "|" يعتبر سلسلة تبدأ من 0 الى نهاية السلسلة

    ثانيا : التطبيق التخطيط
    ===================
    صفحة header.php
    ===================
    <html dir="rtl">
    كود:
    <head>
    <meta http-equiv="Content-Language" content="ar-sa">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
    <title>سجل الزوار</title>
    </head>
    
    <body>
    
    <div align="center">
      <center>
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
        <tr>
          <td width="75%">
          <p align="center">
          <img border="0" src="gblogo.jpg" width="461" height="57"></td>
          <td width="25%"><a href="gbsign.php">
          <img border="0" src="sign.gif" width="186" height="59"></a></td>
        </tr>
      </table>
      </center>
    </div>
    <hr>
    <div align="center">
      <center>
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
        <tr>
          <td width="100%">
    ------------------------------------------------
    كما لاحظنا ان هذه الصفحة تحتوي على فقط اوامر html
    ===================
    صفحة footer.php
    ===================
    كود:
          </td>
        </tr>
      </table>
      </center>
    </div>
    <hr color="#000000" width="70%">
    <p align="center"><b>برمجة :&nbsp; <span lang="en-us">AbQar</span></b></p>
    
    </body>
    
    </html>
    ------------------------------------------------------
    وهذه ايضا نفس الشي


    ===================
    صفحة gbsign.php
    ===================
    كود:
    <?php include "header.php"; ?>
    <div align="center">
      <table border="2" cellpadding="0" cellspacing="0" width="100%" height="220" bordercolor="#00B7F8">
        <tr>
          <td width="100%" height="220">
            <form method="POST" action="gbadd.php">
              <div align="center">
                <table border="0" cellpadding="2" cellspacing="0" width="100%" height="218">
                  <tr>
                    <td width="25%" height="40" align="left">
                      <p align="right"><b><font size="4">الاسم : </font></b></td>
                    <center>
                    <td width="75%" height="40"><input type="text" name="name" size="20"></td>
                    </tr>
                  </center>
                  <tr>
                    <td width="25%" height="40" align="left">
                      <p align="right"><b><font size="4">البريد
                      الالكتروني : </font></b></td>
                    <center>
                    <td width="75%" height="40"><input type="text" name="email" size="20"></td>
                    </tr>
                  </center>
                  <tr>
                    <td width="25%" height="40" align="left">
                      <p align="right"><b><font size="4">موقعك على
                      الانترنت : </font></b></td>
                    <center>
                    <td width="75%" height="40"><input type="text" name="homepage" size="20"></td>
                    </tr>
                  </center>
                  <tr>
                    <td width="25%" height="84" align="left">
                      <p align="right"><b><font size="4">التوقيع : </font></b></td>
                    <center>
                    <td width="75%" height="84"><textarea rows="5" name="content" cols="53"></textarea></td>
                    </tr>
                    <tr>
                      <td width="25%" height="14"></td>
                      <td width="75%" height="14"><input type="submit" value="    ارسل     "><input type="reset" value="    مسح    " name="B1"></td>
                    </tr>
                  </table>
                </div>
              </form>
            </td>
          </tr>
        </table>
      </center>
    </div>
    <?php include "footer.php"; ?>
    -----------------------------------------------------
    كما لحظنا وجود فقط كود include لادراج صفحة header وfooter

    ====================







    __________________
    http://www.abqar.com
    AbQar غير متواجد حالياً


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

    تكملة السكربت



    =======================
    صفحة gbadd.php
    =======================
    كود:
    <?PHP
    
    /* اولا سوف نتحقق من الحقول ان كانت خالية ستتوقف عملية الاضافة
    للتحقق من ذلك نستخدم أمر
    if ( )
    امر empty($iii)
    هو امر الخلو
    هذه العلامة
    ||
    تعني اذا تحقق كلهم او احداهم
    */
    
    if (empty($name) || empty($email) || empty($homepage) || empty($content))
    {
    echo "<center>الرجاء تعبئة جميع البيانات</center>";
    }
    
    /* واذا كانت غير ذلك سوف تنفذ هذه العملية
    else = غير ذلك
    */
    
    else
     {
    
    /* فتح هذا الملف او اذا لم يكن موجود يتم انشاءه */
    
     $fp = fopen("count.txt","a+");
    
    /* بعد ذلك قراءة ما في الملف ووضع القراءه في المتغير $count */
    
     $count = fread($fp, filesize("count.txt"));
    
    /* اغلاق فتح الملف السابقcount.txt */ 
    
     fclose($fp);
    
    /* اضافة 1 الى العدد الموجود في count.txt */
    
     $count += 1;
    
    /* فتح الملف مرة اخرى */
    
     $fp = fopen("count.txt","w+");
    
    /* وضع نتيجة الاضافةفي الملف مرة أخرى واغلاق الفتح */
    
     fputs($fp, $count);
     fclose($fp);
    
    /*  لاحظ اننا بعد الاضافة سنسمي الملف الذي سوف ندرج فيه البيانات نفس العدد المضاف */
    
     $fp = fopen("$count.txt", "a");
    
    /* بعض المتغيرات التي نحتاجها في الاضافة */
     $sp = "|";
    
    /* تاريخ الذي سوف يتم التحقق منه على نفس السيرفر المضاف */
     
     $date = DATE ("d-n-Y|H:i");
    
    /* تعريف رقم الايبي بامر $REMOTE_ADDR */
    
     $ip = $REMOTE_ADDR;
    
    /* جمع جميع المتغيرات في متغير واحد */
    
     $cons = $date.$sp.$ip.$sp.$name.$sp.$email.$sp.$homepage.$sp.$content;
    
    /* كتابة البيانات في الملف */
    
     fwrite($fp ,$cons);
     echo "<center><h1>شكرا لك $name على توقيعك </h1></center>";
     echo "<center><h1>سوف يتم تحويلك تلقائيا</h1></center>";
     echo "<meta http-equiv=\"refresh\" content=\"5;URL=gb.php\">";
     }
    ?>
    --------------------------------
    =======================
    صفحة العرض gb.php
    =======================
    كود:
    /* هنا ادراج رأس الصفحة */
    <?php include "header.php"; ?>
    
    /* بعد ذلك سوف تبدأ عملية القراءه وادراج المحتويات */
    
    <?php
    @ $fp = fopen("count.txt", "r+");
    @  $count = fread($fp, filesize("count.txt"));
    @  fclose($fp);
    
    /* لاحظ العلامة @ هذه العلامة اذا كان هنالك خطأ في الكود سوف لن يظهر ويتابع السكربت */
    if(!$fp) {
               echo "<center><b>لا توجد تواقيع<b></center>";
               echo "<hr>";
             }
    /* كتابة عدد التواقيع */ 
    echo "<center><b>عدد التواقيع الموجودة $count <b></center>";
    
    /* البدأ في عمل الاستمرارية */
     for($i = 1 ; $i <=$count ; ++$i)
     {
     $fp = fopen("$i.txt", "r+");
    
    /* تحويل كل بيان يفصل ب | الى سلسلة تسمى على حسب ترتيب البيان */
     $show = fgetcsv($fp , 500 , "|");
     ?>
         <div align="center">
            <center>
            <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: 1px solid #000000" bordercolor="#111111" width="95%" height="53">
              <tr>
                <td width="48%" bgcolor="#00B7F8" height="19">الوقت :
                <span lang="en-us"><?php echo "$show[1]"; ?></span></td>
                <td width="52%" bgcolor="#00B7F8" height="19">التاريخ :
                <span lang="en-us"><?php echo "$show[0]"; ?></span></td>
              </tr>
              <tr>
                <td width="100%" colspan="4" height="19">
                <div align="center">
                  <center>
                  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="98%">
                    <tr>
                      <td width="100%"><span lang="en-us"><?php echo "$show[6]"; ?></span></td>
                    </tr>
                  </table>
                  </center>
                </div>
                </td>
              </tr>
              <tr>
                <td width="47%" height="13">الاسم : <span lang="en-us"><?php echo "$show[3]"; ?></span></td>
                <td width="53%" height="13"><a href="mailto:<?php echo "$show[4]"; ?>">
                <img border="0" src="email.gif" width="20" height="15"></a>&nbsp;&nbsp;&nbsp;
                <a href="http://<?php echo "$show[5]"; ?>">
                <img border="0" src="home.gif" width="38" height="15"></a></td>
              </tr>
            </table>
            </center>
          </div>
          <hr width="95%">
    <?php
     }
    
    ?>
    /* هنا أسفل الصفحة */
    <?php include "footer.php"; ?>
    ---------------------------------------------

    انتهت الخطوة الاولى
    اتمنى لكم التوفيق
    لرؤية هذا السكربت اضغط على الرابط
    http://www.abqar.com/gb/gb.php


    لا تنسونا بالدعاء





    __________________
    http://www.abqar.com
    AbQar غير متواجد حالياً

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


    جزاك الله خير
    البرنامج وااااضح وسهل
    اللهم حرّم وجهه على النار وانفع به الاسلام والمسلمين

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






    __________________
    <? Bad command or file name ?>
    disk غير متواجد حالياً

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    739

    جزاك الف خير



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





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

  5. #5


    سلام عليكم

    جزاك الله الف خير ووفقك وغفر لك وبيض وجهك

    مقدر أزيد عن هذا بس يمكن تكون لنا وقفة اسئلة





    ابو زنيدخ غير متواجد حالياً

  6. #6



    مجهود رائع وسجل زوار اروع ، صراحه عمل متقن وشغل مبرمج فاهم ، الله يوفقك ان شاء الله







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

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2000
    المشاركات
    530


    درس تعليمي رائع أخي العزيز

    فقط تحتاج إلى المزيد من التحقق من البيانات، لأن البيانات التي تأخذها من المستخدم غير مضمونة، فقد يقوم المستخدم بوضع علامة " | " في أحد الحقول، وبالتالي يخرب ملف البيانات، وكذلك حسب البرنامج هذا فإن المستخدم يستطيع إضافة شفرة HTML قد تخرب تصميم الصفحة، وكذلك فإن المستخدم سيفاجأ بأنه يقوم بكتابة الملاحظات على عدة أسطر ولكنها تظهر في سطر واحد طويل، إلا إذا وضع <br> لفصل الأسطر.





    __________________
    http://www.ArabBuilder.com
    mubarmej غير متواجد حالياً

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Apr 2001
    المشاركات
    876


    جزاك الله خير اخي الكريم ووفقك





    فون ماستر غير متواجد حالياً

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


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

    تحياتي لكم وتمنياتي لكم بالتوفيق
    واعذروني على التأخير





    __________________
    http://www.abqar.com
    AbQar غير متواجد حالياً





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

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

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