بسم الله الرحمن الرحيم
السﻻم عليكم ورحمة الله وبركاته
كيف الحال جميع مرتادي و زوار مدونتي الحبيبه
إن شاء الله بخير ؟
اليوم موضوعنا عن اكواد ملفات عمل السيشن session
هذا الدرس او الكود مفيد جداًَ للمبتدأين امثالي
طبعاًَ تم تطبيقه من قبلي و لله الحمد تمام التمام
ما اطول عليكم
يفضل إنشاء مجلد جديد بأسم
session
طبعاًَ نحتاج في هذا التطبيق 4 ملفات وهي :
- index.php
- ok.php
- cpanel.php
- 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 ;
?>
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
?>
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();
?>
//هذا الملف ما فيه شئ جديد كل شئ عادي فما يحتاج نشرح
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>");
}
?>
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>");
}
?>
ولو فيه أي استفسار في الخدمة
اخوكم : بو عبد الله
بارك الله فيك
ردحذفمشكووور جدا علي الشرح الرائع
ردحذف