جهِّز نفسك لسوالف كاست، واحصل على Macbook Air
ويكيمانيا 2008. الإسكندرية، من 17 وحتى 19 يوليو

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Jun 2004-
#1 (permalink)  
درس نظام تسجيل الدخول وهالمره بأسم قاعدة البيانات


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

اليكم اخواني الكرام درس تسجيل الدخول ولنفترض ان لديك سكربت وفيه لوحة تحكم خاصة فيك كمدير وترغب في جعله محصور بأسم خاص فيك + باسورد مشفر في تغنية MD5

المستلزمات كالتالي :
قاعدة بيانات وراح نسميها على سبيل المثال login
جدول راح نزرعه في قاعدة البيانات وأسمه admin
مثال


وهنا كود زرع الجدول بعد انشاء قاعدة البيانات

كود:
CREATE TABLE `admin` (
  `id` int(4) NOT NULL auto_increment,
  `username` varchar(65) NOT NULL default '',
  `password` varchar(65) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;


INSERT INTO `admin` VALUES (1, 'abosaleh', '1234');
لاحظوا معي اني طلبت بعد زراعة الجدول ادخال اسم المدير abosaleh وايضاً الباسورد حقه 1234
وبعد كذا راح نشفره من برنامج phpMyAdmin واليكم الطريقة

أنقر على جدول admin
واختار إستعراض او BROWSE
ومكان ما انا معلم باللون الاحمر انقر هناك لتشفير الباسورد


والآن راح نشفر الباسورد 1234 بخاصية MD5 ولو ما هالخاصية كان المنتديات وغيرها من السكربتات في خبر كان هههههههههههههههههه




شوفوا كيف صار شكل الباسورد مشفر


الان سوف نعمل فورم بسيط لإدخال اسم المستخدم والباسورد واليكم الكود وراح نسميته main_login.php



كود:
<br><br><br><br>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF" dir="rtl">
<tr>
<td colspan="3"><strong>دخول المدير</strong></td>
</tr>
<tr>
<td width="68">الاسم</td>
<td width="4">:</td>
<td width="204"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>الرقم السري</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

لا حظوا معاي انه سوف يتم ارسال والمدخلات الى ملف اسمه checklogin.php
وهنا الكود كامل


كود PHP:
<?php
// شرح بوصالح جرافيكس 
// www.tsmim.com
$host="localhost"// المستضيف
$username="root"// اسم مستخدم قاعدة البيانات
$password=""//الباسورد لمستخدم قاعدة البيانات
$db_name="login"// اسم قاعدة البيانات
$tbl_name="admin"// الجدول

// هنا يتم الاتصال بقاعدة البيانات
mysql_connect("$host""$username""$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");



// هنا تعرف المدخلات كمتغيرات
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// هنا يتم تشفير الباسورد
$encrypted_mypassword=md5($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'";
$result=mysql_query($sql);


// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo 
"هناك خطأ حاول مره اخرى";
}
?>

وفي حال اذا تم التحقق من صحة البيانات المدخله وذلك بالاتصال في قاعدة البيانات عن طريق جدول admin سوف يتم التحويل الى صفحة login_success.php

وهنا الكود كامل

كود PHP:
<?
// هنا للتحقق اذا كان قد تم تسجيل الدخول ام لا

session_start();
if(!
session_is_registered(myusername)){
header("location:main_login.php");
}
// واذا لم يتم تسجيل الدخول سوف يتم تحويله مره اخرى الى صفحة 
//main_login.php
?>

<html>
<body>
<div align="center"><b>تم تسجيل الدخول بنجاح</b></div>
<p align="center"><b><span lang="ar-sa"><a href="index.php">
<span style="text-decoration: none">أنقر هنا للذهاب الى الرئيسية</span></a></span></b></p>



</body>
</html>
وهنا الرئيسية بعد اتمام تسجيل الدخول بنجاح وهي مجرد مثال واسميتها index.php

كود PHP:
<?
session_start
();
if(!
session_is_registered(myusername)){
header("location:main_login.php");
}
?>

<table border="2" cellpadding="2" width="100%" dir="rtl" id="table1" height="136">
        <tr>
                <td>
                <p align="center"><span lang="ar-sa"><font size="7">الرئيسية</font></span></p>
                <p align="center"><span lang="ar-sa"><font size="5">
                <a href="logout.php"><span style="text-decoration: none">أنقر هنا لتسجيل
                الخروج</span></a></font></span></td>
        </tr>
</table>
وبكذا انتهى الدرس واي سؤال انا حاضر
ولا تنسوني بالدعاء الصالح لي ولوالدي
اخوكم بوصالح جرافيكس






الملفات المرفقة
نوع الملف: zip درس نظام تسجيل الدخول وهالمره بأسم قاعدة البيانات.zip‏ (118.5 كيلوبايت, المشاهدات 951)
نوع الملف: zip login.zip‏ (3.3 كيلوبايت, المشاهدات 429)
__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 15-12-2006, 02:59 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#2 (permalink)  

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






My Soul Mate غير متواجد حالياً   قديم 15-12-2006, 08:22 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#3 (permalink)  

سلمت يمناك ...






__________________
سبحان الله وبحمده سبحان الله العظيم
الفايق غير متواجد حالياً   قديم 15-12-2006, 02:53 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Apr 2006-
#4 (permalink)  

يعطيك العافية اخوي ابو صالح درس جميل

بس اتمنى من الخبراء والمحترفين اعطاء الرأي حول هذا الكود ؟؟


كود PHP:
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'"

هل هو آمن من الثغرات ومافيه اي مشاكل ؟

ويعطيكم العافية






ابو عابد غير متواجد حالياً   قديم 15-12-2006, 08:01 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#5 (permalink)  

اخي Abosaleh_2003 موضوع رائع بكل معاني الكلمة
ودي لو تكمل جميلك معنا ويكون هناك اكثر من حالة لتسجيل الدخول يعني
مدير من صلاحياته التعديل والاضافة والحذف .
ومشرف مثلا يضيف ويعدل لاكن ما يحذف
ومستخدم عادي الاضافة والقراءة فقط

اتمنى لو يتم شرح ذلك على مشروع بسيط






أصيل2005 غير متواجد حالياً   قديم 15-12-2006, 08:37 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#6 (permalink)  

العفو اخواني الكرام






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 15-12-2006, 10:10 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#7 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة أصيل2005
اخي Abosaleh_2003 موضوع رائع بكل معاني الكلمة
ودي لو تكمل جميلك معنا ويكون هناك اكثر من حالة لتسجيل الدخول يعني
مدير من صلاحياته التعديل والاضافة والحذف .
ومشرف مثلا يضيف ويعدل لاكن ما يحذف
ومستخدم عادي الاضافة والقراءة فقط

اتمنى لو يتم شرح ذلك على مشروع بسيط

بأذن واحد احد بالايام المقبلة






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 15-12-2006, 10:14 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#8 (permalink)  

نحن بالانتظار واعتبره وعد ان شاء الله






أصيل2005 غير متواجد حالياً   قديم 15-12-2006, 11:15 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Aug 2002-
#9 (permalink)  

ممتاز






__________________
لا تأسفن على غدر الزمان لطالما رقصت على جثث الأسود كلاب
ولاتحسبن برقصها تعلوا على أسيادها تبقى الأسود أسوداً والكـلاب كلاب
aladawi غير متواجد حالياً   قديم 17-12-2006, 07:48 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#10 (permalink)  

تسلم بو صالح والله يعطيك الف عافية

بالتوفيق






__________________
شكرا سوالف سوفت ....
الإمبراطور وحيد غير متواجد حالياً   قديم 17-12-2006, 10:23 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#11 (permalink)  

العفو اخواني الكرام






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 20-12-2006, 07:14 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#12 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة أصيل2005
نحن بالانتظار واعتبره وعد ان شاء الله
سم يالغالي
http://www.phpfaq.php-ar.com/index.p...28a6d8a79af86b






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 20-12-2006, 07:15 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2004-
#13 (permalink)  

جزاك الله كل الخير يا اخوي






__________________
سبحان الله وبحمده سبحان الله العظيم
alsahernet غير متواجد حالياً   قديم 20-12-2006, 07:31 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2004-
#14 (permalink)  

اخى الغالى Abosaleh_2003 ارجوا
ان لا تتاخر علينا بالدروس وياريت تتابع بيها علطول ودوما للافاده للجميع






__________________
اقم صلاتك قبل مماتك اقم صلاتك تنعم بحياتك
مركز تحميل Updato
صلى قبل ان يصلى عليك - لا حول ولا قوه الا بالله
تطوير مواقع ودعم فنى ت/ 0124686663 & 0114686663
ريـمكــس للافلام
hunter_rare غير متواجد حالياً   قديم 23-12-2006, 01:24 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#15 (permalink)  

بالتوفيق اخواني الكرام






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 25-12-2006, 09:12 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#16 (permalink)  

بارك الله فيك

شرح جميييل


ياليت لو تشرح كيفية التسجيل بطريقتين

بالجلسات
وبالكوكيز





استفدت كثيرا من الشرح






__________________
سبحان الله والحمد لله ولا اله الا الله والله اكبر
افضل [ بيج رانك 4 ] <<< كان سابقا .. الحين 2 :(
abady 999 غير متواجد حالياً   قديم 25-12-2006, 02:03 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Aug 2005-
#17 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة ابو عابد
يعطيك العافية اخوي ابو صالح درس جميل

بس اتمنى من الخبراء والمحترفين اعطاء الرأي حول هذا الكود ؟؟


كود PHP:
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$encrypted_mypassword'"

هل هو آمن من الثغرات ومافيه اي مشاكل ؟

ويعطيكم العافية
جزاك الله خير أبو صالح ..

والأخ ابو عابد هذا اول ما لفت انتباهي من اول ما قرأت الكود .. وكنت رح اكتب ملاحظة أيضاً بهذا الخصوص ..

الكود محتاج حماية أكبر مثل addslashes وغيرها من أوامر الحماية المختلفة ..

أعتذر لأني لن أتمكن من كتابة المزيد .. شكراً لكم جميعاً .. ونشوفكم على خير ان شاء الله






__________________
أحمد أبو النصر
Junior php Developer
+20166196074
أحمد أبو النصر غير متواجد حالياً   قديم 29-12-2006, 12:29 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Aug 2002-
#18 (permalink)  

أشكرك Abosaleh_2003

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

فكيف أحلها






__________________
لا تأسفن على غدر الزمان لطالما رقصت على جثث الأسود كلاب
ولاتحسبن برقصها تعلوا على أسيادها تبقى الأسود أسوداً والكـلاب كلاب
aladawi غير متواجد حالياً   قديم 29-07-2007, 07:39 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2007-
#19 (permalink)  

درس قمة في الروعة
جزاك الله عنا ألف خير

ممكن طريقة عمل نمودج التسجيل؟؟






__________________
a000a.uni.cc
Maximum file size : 2 mb
جميع الامتدادات متاحة بدون استتناء
--------------------
[نقاش] : أساسيات برمجة منتدى
azizsoft غير متواجد حالياً   قديم 04-08-2007, 10:27 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#20 (permalink)  

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

ممكن طريقة عمل نمودج التسجيل؟؟
هلا بك يالغالي

تقصد حق زوار الموقع !!!!! ؟






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 07-08-2007, 10:35 PM
رد مع اقتباس
Saudi Wanderer
تاريخ التسجيل: May 2007-
#21 (permalink)  

الكود غير آمن إطلاقاً

كيف تمرر البينات المدخله إلى قاعدة البيانات دون أدني معالجة ؟

اقتباس:
المشاركة الأصلية كتبت بواسطة sBForum
جزاك الله خير أبو صالح ..

والأخ ابو عابد هذا اول ما لفت انتباهي من اول ما قرأت الكود .. وكنت رح اكتب ملاحظة أيضاً بهذا الخصوص ..

الكود محتاج حماية أكبر مثل addslashes وغيرها من أوامر الحماية المختلفة ..

أعتذر لأني لن أتمكن من كتابة المزيد .. شكراً لكم جميعاً .. ونشوفكم على خير ان شاء الله
دالة addslashes غير كافية , وبالإمكان التحايل عليها

الأفضل إستخدام دالة mysql_real_escape_string






__________________
Saudi Wanderer
My Blog : SWanderer
S.Wanderer غير متواجد حالياً   قديم 08-08-2007, 01:52 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2004-
#22 (permalink)  

ممكن تعديل على الكود لا هنت
الاخ S.Wanderer ولك الجر والثواب






__________________
+======================+
شبكة تصميم لتطوير المواقع
www.tsmim.com
استضافة احجز شركة سعودية
www.ahjez.com
+======================+
Abosaleh_2003 غير متواجد حالياً   قديم 06-02-2008, 12:00 AM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Feb 2008-
#23 (permalink)  

شكراً شرح ممتاز

بس كيف ماقلوا في أخطاء في بعض الدالات ..






The staR غير متواجد حالياً   قديم 31-03-2008, 04:12 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Apr 2008-
#24 (permalink)  

شكر ا على الموضوع
بس لماذا بيانات الباسورد تظهر على النموذج
حاولت اغير في اتربيوت الباسورد من NAME الى TYPE اشغل معاي وتمكنت من تسجيل الباسورد على شكل نجم **** بس ماصار يسوي LOGIN






arefco غير متواجد حالياً   قديم 29-04-2008, 09:30 PM
رد مع اقتباس
رد


أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 03:35 AM بتوقيت المملكة العربية السعودية