الأربعاء، فبراير 16، 2011

درس : كود الصفحة الرئيسية لسكربت سجل الزوار php mysql

بسم الله الرحمن الرحيم 

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

كيف الحال الجميع إن شاء الله بخير ؟

بعد انشغال في تعلم الـ php  و mysql  و سأنتقل الإن إلى css  وبعدها إلى javasecript 

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

وسأحاول وضع تعليق على كل شئ جديد بأذن الله 

و إن شاء الله لو لم يفد الكثير سيستفيد منه القليل بأذن الله 

الكود هو عباره عن كود الصفحة الرئيسية للسكربت اللي جالس ابرمج فيه 

هو طبعاًَ لما تحطه انت في صفحة ما راح تستفيد منه ابد 

الفائده منه هو انك تحلل الاكواد و تستفيد اكثر 

هذي الفائده لا أكثر زي ما قلت لكم ما راح تستفيد اي شئ لما تحطه و تنتظر نتيجه

المهم ما اطول عليكم و اخليكم مع الكود 


<?php 
# برمجة فاضل السلطان 
# مدونة فاضل لـ تعلم الـ php and mysql 
# http://fadelsultan.blogspot.com
# http://www.fadelsultan.com
include 'config.php';
      include 'functions.php';
?>
<html dir="rtl">
    <head>
        <title><?php echo $rowsettings['sitename'] ?></title>
        <meta name="keywords" content="<?php echo $rowsettings['keywords']; ?>" />
        <meta name="description" content="<?php echo $rowsettings['description']  ?>" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="them/style.css" type="text/css" />
    </head>
    <body>
        <?php
            # لإستخراج ip الزائر
            $ipvist = $_SERVER['REMOTE_ADDR'] ;
            $ipvist = filter_var($ipvist,FILTER_VALIDATE_IP) ;

            //حساب الزيارات
            $selectvist = mysql_query("select * from vist where id='1'") or die(mysql_error()) ;
            $rowvist = mysql_fetch_array($selectvist) ;
            // حساب الزوار
            $visitor=mysql_query("select * from vist where visitor = '$ipvist'") or die(mysql_error()) ;
            $numvisitor = mysql_num_rows($visitor) ;
            # هذالأمر لو كان سجل الزوار لا توجد فيه قيمة  و بعد دخول اول قيمة لا ينفذ هذا الامر
            $rowvisitor = mysql_fetch_array($visitor) ;
            if($numvisitor == null){
            $insertvisitor = mysql_query("INSERT INTO vist (visitor) VALUES ('$ipvist')") or die(mysql_error()) ;
            }
            #احتساب عدد الزيارات
            $vist = $rowvist['number_vist'] ;
            ++ $vist ;
            $addvist = mysql_query("update vist set number_vist='$vist' where id='1'") or die(mysql_error()) ;
            # هذا الكود هو عبارة عن إظهار رسالة الإغلاق للسكربت
            $selectopenorclose = mysql_query("select * from settings where id = '1'") or die (mysql_error()) ;
            $rowopenorclose = mysql_fetch_array($selectopenorclose) ;
            if($rowopenorclose['openorclose'] == 0){
                echo "<br />
                    <br />
                    <table align='center' class='indexin'>
                    <tr class='indexf'>
                    <td>
                    رسالة إدارية
                    </td>
                    </tr>
                    <tr class='tab'>
                    <td><h3>
                    ".$rowopenorclose['massegforclose']."
                        </h3>
                    </td>
                    </tr>
                    </table>
                        ";
                exit () ;
            }
            #نهاية كود الإغلاق
        ?>
        <!-- بداية جدول التوقيعات -->
        <table align="center" width="40%" class="indexin">
            <tr class="indexf">
                <td colspan="3" align="center">¦-- الـتـوقـيـعـات --¦</td>
            </tr>
            <?php
            $page = intval($_GET['page']) ;
            $page = filter_var($page,FILTER_VALIDATE_INT) ;
            if(!isset($_GET['page'])){ // اعطينا شرط لو كانت قيمة الصفحة خاليه اجعلها 1
                $page=1 ;
            }else{
                $page = intval($_GET['page']); // هنا لو كانت غير خاله فأدخلها في دالة الحماية
            }
            $max = $rowsettings['numberoftopics'] ;
            $from = ($max*$page)-$max ;
            $sql = mysql_query("select * from comm order by id") or die(mysql_error()) ;
            $sql_num = mysql_num_rows($sql);
            $sql1 = mysql_query("select * from comm order by id desc limit $from,$max") or die(mysql_erorr()) ;
            $num_sql1=mysql_num_rows($sql1);
            $pages =ceil($sql_num/$max);
            $num = mysql_num_rows($sql);
            while($row=  mysql_fetch_array($sql1))
            {
                echo"<tr class='indexx'>
                    <td>    اضيف في : " .$row['date']."</td>
                        </tr>
                        <tr class='indexx'>
                        <td><b><a target='top' href='".$rowsettings['siclink']."/showmsg.php?id=".$row['id']."'>".$row['subject']."</a></b></td>
                    </tr>
                    <tr>
                    <td width='100%'>
                    <table align='center' width='100%' class='indexz'>
                    <tr class='indexa'>
                    <td width='25%' align='top'>
                    <table align='center' width='100%' class='indexz' >
                    <tr class='in'>
                    <td>
                    المعلومات الشخصية
                    </td>
                    </tr>
                    <tr class='in'>
                    <td>
                   <--¦ ".$row['name']." ¦-->
                    </td>
                    </tr>
                    <tr class='in'>
                    <td>
                    <a href='mailto:".$row['email']."'><img src='".$rowsettings['siclink']."/image/email.gif' border='0'/></a>
                    </td>
                    </tr>
                    <tr class='in'>
                    <td>
                     <a href='".$row['site']."'><img src='".$rowsettings['siclink']."/image/home.gif' border='0'/></a>
                    </td>
                    </tr>
                    </table>
                    </td>
                    <td width='75%' clospan='3' bgcolor='#d2effd' class='azrag'>".$row['msg']."</td>
                    </tr>
                   </table>
                    </td>
                    </tr>
                    ";
            }
            echo "</table>";
            #نهاية جدول التوقيعات
            mysql_free_result($sql1) ; # دالة إغلاق الإستعلام $sql1  وهي مفيده للتخفيف من عمل لود للسيرفر
            # بداية اكواد تعدد الصفحات
            echo" <table class='tab' align='center'>
                    <tr>" ;
            if($page>1){
                $back = $page-1;
                echo "
                    <td>
                    <a href='".$_SERVER['PHP_SELF']."?page=$back'>الصفحة السابقة</a>
                    </td>
                ";
            }
            for($i=1 ; $i<=$pages ; ++$i){
                if($page==$i) echo" [$i]";
                else{

                    echo"<td>
                        <a href='".$_SERVER['PHP_SELF']."?page=$i'>$i</a>
                    </td>
                    ";
                }
            }
            if($page<$pages){
                $next = $page + 1 ;
                echo "<td>
                    <a href='".$_SERVER['PHP_SELF']."?page=$next'>الصفحة التالية</a>
                </td>
                ";
            }
                       echo"</tr></table>";
                       #نهاية اكواد تعدد الصفحات
            ?>
        <br />
        <?php
        #بداية اكواد الإحصائيات
        $statsuser = mysql_query("select * from vist where id='1'") or die(mysql_error()) ;
        $statvisitor = mysql_query("select * from vist") or die(mysql_error()) ;
        $rowvist = mysql_fetch_array($statsuser) ;
        $num_visitor = mysql_num_rows($statvisitor) ;
        ?>
        <table class="indexin" align="center" width="40%">
            <tr class="indexf">
                <td colspan="3" align="center">الإحصائيات</td>
            </tr>
            <tr class="indexx">
                <td>عدد التواقيع</td>
                <td>عدد الزوار</td>
                <td>عدد الزيارات</td>
            </tr>
            <tr class="indexx">
                <td><?php echo $sql_num ; ?></td>
                <td><?php echo $num_visitor ; ?></td>
                <td><?php echo $rowvist['number_vist'] ; ?></td>
            </tr>
        </table>
        <!--نهاية اكواد الإحصائيات -->
        <br />
        <!-- بداية اكواد الكلمات المفتاحية للرئيسية  -->
        <table class="indexin" align="center" width="40%">
            <tr class="indexx">
                <td>الكلمات المفتاحية</td>
            </tr>
            <tr class="indexa">
                <td style="font: 9pt tahoma; color: #ffff00; text-align: center;"><?php echo $rowsettings['keywords_index'] ?></td>
            </tr>
        </table>
        <!--نهاية اكواد الكلمات المفتاحية -->
    </body>
</html>
<?php
       # في هذا السطر قمنا بإغلاق جميع الإتصالات لقاعدة البيانات و هذا مفيد جدا لتخفيف من اللود على السيرفر
        mysql_close($selectvist,$visitor,$insertvisitor,$addvist,$selectopenorclose,$sql);
?>


تقبلوو خالص تحياتي 

بو عبد الله

الان شاهد معي إلى اين وصلنا في برمجة سجل الزوار (على موقعي الشخصي)

بسم الله الرحمن الرحيم 

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

كيف الحال إن شاء الله بخير ؟

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

فـ اليوم قلت اطرح لكم هنا إلى اين وصلنا في برمجة سجل الزوار 

طبعاًَ انا رفعته على موقعي الشخصي 

و الكل يقدر يدخل ويشوف 



هذي صورة لمخطط السجل 

و طبعاًَ كل ما جات اي فكره راح اضيف عليه 


مميزات السكربت :

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

طبعاًَ زي ما قلت لكم السكربت لسه ما خلصنا منه لكن للي يبقى يشوفه و يشوف لوين وصلنا 

هذا الرابط 

رابط السكربت -->  http://www.fadelsultan.com/gbook 

رابط صفحة إضافة توقيع --> http://www.fadelsultan.com/gbook/add.php 

رابط لوحة تحكم السكربت --> http://www.fadelsultan.com/gbook/cpadmin 

أسم المستخدم : admin
كلمة المرور : 123456

و ياريت ما انحرم من تعليقاتكم و أضافاتكم 

لتبادل الخبرة 
الإيميل - الماسنجر 

support@fadelsultan.com

أخوكم : بو عبد الله