الأربعاء، فبراير 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);
?>


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

بو عبد الله

هناك تعليق واحد:

  1. نشكر من قام على تأسيس وبرمجة هذا الموقع وجاري دعم الموقع بالنشر والمشاركة أخوكم ابن الوطن

    ردحذف