الأحد، يناير 23، 2011

كود : درس عمل ملف سيشن seesion كامل

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

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

كيف الحال جميع مرتادي و زوار مدونتي الحبيبه

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

اليوم موضوعنا عن اكواد ملفات عمل السيشن session 

هذا الدرس او الكود مفيد جداًَ للمبتدأين امثالي

طبعاًَ تم تطبيقه من قبلي و لله الحمد تمام التمام 

ما اطول عليكم 

يفضل إنشاء مجلد جديد بأسم 

session

طبعاًَ نحتاج في هذا التطبيق 4 ملفات وهي :

  1. index.php
  2. ok.php
  3. cpanel.php
  4. logout.php 
اولا كود ملف 

INDEX.PHP


<?php
ob_start(); // هذا الكود لو بقينا نضع هيدر و نضع فوقه اكواد بي اتش بي و اكواد اش تي ام ال لازم نستخدم هذي البداية
session_start(); //بداية السيشن
if(isset($_SESSION['sessionname']) and isset($_SESSION['sessionpass'])){ //هذي السيشن تتأكد هل انت مسجل دخول للوحة التحكم من قبل ام لا
    header("location: cpanel.php") ;
    exit () ;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- هذا هو كود الفورم للدخول طبعاًَ يحتوي على فورم و جداول -->
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>تسجيل الدخول</title>
    </head>
    <body>
        <form action="ok.php" method="post">
        <table width="80%" border="1" cellpadding="5">
            <tr>
                <td colspan="2" align="center">
                    بيانات الدخول
                </td>
            </tr>
            <tr>
                <td>username:</td>
                <td width="50%">
                    <input type="text" name="username" />
                </td>
            </tr>
            <tr>
                <td>userpass:</td>
                <td>
                    <input type="password" name="userpass" />
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input type="submit" value="تسجيل الدخول" />
                </td>
            </tr>
        </table>
        </form>
    </body>
</html>
<!-- نهاية الكود  -->
<?php
ob_end_flush(); // الأغلاق لكود البداية  ob_start ;
?>


كود ملف التشييك على البيانات المدخلة 

OK.PHP
 
 
<?php
ob_start() ; //تم شرحها في صفحة index
session_start() ; //نفس الشئ
/*
CREATE TABLE `admin`.`useradmin` (
`id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 50 ) NOT NULL ,
`userpass` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
 */

$con = mysql_connect("localhost","root","root") or die("خطأ في الأتصال") ; // الأتصال بقاعدة البيانات
$sel = mysql_select_db("admin" , $con) or die("خطأ في الأتصال 2") ; //استعراض قاعدة البيانات

$username = addslashes(strip_tags($_POST['username'])) ; // أدخال اسم المستخدم تحت المتغير و حمايته ببعض الدوال
$userpass = addslashes(strip_tags(md5(md5($_POST['userpass'])))) ; // ادخال كلمة المرور و حمايتها ببعض الدوال و تشفيرها ايضاًَ

if($username and $userpass){// هذا الشرط للتأكد من وجود أسم المستخدم و كلمة المرور
    // هنا بداية الأسعلام لعرض أسم المستخدم و كلمة المرور هل تتوافق مع اسم المستخدم و كلمة المرور المدخله ام لا
    $finduser = mysql_query("select * from useradmin where
        username='".$username."' and userpass='".$userpass."'") or die ("خطأ في الأستعلام رقم 3") ;

    //هنا في الشرط نقول هل عدد البيانات المستخرجه لا يساوي صفر إذ لا يساوي صفر ادخل و نفذ ما في داخل الشرط
    if(mysql_num_rows($finduser) != 0){
        while ($row = mysql_fetch_array($finduser)) {
            $uname = stripcslashes($row['username']) ; //هنا اسندنا اسم المستخدم الموجود في قاعدة البيانات للمتغير uname
            $upass = stripcslashes($row['userpass']) ; // هنا اسندنا كلمة المرور الموجوده في قاعدة البيانات للمتغير upass
        }
        //في هذا الشرط نتأكد هل اسم المستخدم المدخل يساوي اسم المستخدم في قاعدة البيانات و ايضا نفس الشئ للباسورد
        if($username == $uname and $userpass == $upass){
            $_SESSION['sessionname'] = $uname ;// هنا نقوم بإنشاء اليوزر نيم للسيشن و إسنادها للمتغير UNAME
            $_SESSION['sessionpass'] = $upass ;// هنا نقوم بإنشاء الباسورد للسيشن و إسناده للمتغير upass
            echo "Welcome ".$uname." In Cpanel Admin
                <a href='cpanel.php'>GoTo Cpanel</a>";
        }else{
            die ("لقد ادخلت بيانات خطأ") ;
            echo "<a href='index.php'>العودة للخلف</a>";
        }
    }else{
               die ("لقد ادخلت بيانات خطأ") ;
                   echo "<a href='index.php'>العودة للخلف</a>";
    }
}  else {
    die ("لقد اتبعت الصفحة الخطأ") ;
}
mysql_close($con);  //اغلاق الأتصال بقاعدة البيانات
ob_end_flush() ; //شرحناها في ملف index
?>

هذا كود ملف 
cpanel


<?php

//هذا الملف ما فيه شئ جديد كل شئ عادي فما يحتاج نشرح
ob_start();
session_start();
if(!isset($_SESSION['sessionname']) and !isset ($_SESSION['sessionpass'])){
    header("location: index.php") ;
    exit () ;
 }
echo "Login Is Done !!" ;
echo"<br />";
echo "<a href='logout.php'>logout</a>";

ob_end_flush();
?>

هذا كود لملف 
 
logout 
 


<?php
ob_start();
session_start();
if(!isset($_SESSION['sessionname']) and !isset ($_SESSION['sessionpass'])){
    header("locatin: index.php") ;
    exit () ;
}else{
    session_destroy();
    die ("<h3>logout is done !!</h3>
        <br />
        <a href='index.php'>login</a>");
}
?>



ولو فيه أي استفسار في الخدمة 

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

هناك تعليقان (2):