منتدى ليبياأرس منتدى ليبياأرس منتدى ليبياأرس

العودة   منتدى ليبياأرس > الحـاســوب > تطوير المواقع والمنتديات

تطوير المواقع والمنتديات خاص بتصميم و تطوير المواقع على الشبكة العنكبوتية الإنترنت.

إضافة رد
 
أدوات الموضوع
قديم 2011-11-07, 01:58 AM   #1
عبسي الحمديني
مبرمج المستحيل
 
الصورة الرمزية عبسي الحمديني
 
تاريخ التسجيل: May 2010
الدولة: Libya
المشاركات: 2,924
معدل تقييم المستوى: 17
عبسي الحمديني على الطريق الصحيح لتعريف نفسه
Execluded اصنع سكربت التسجيل بنفسك مع ربطه بي sql




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

في هذا الدرس راح نتعلم صنع سكربت بسيط لتسجيل الدخول
وراح نصنع ثلاث ملفات :

* main_login.php
* checklogin.php
* login_success.php


وراح نتبع خمس خطوات فقط :

* نصنع قاعدة بيانات بإسم test و جدول بإسم members
* نصنع الملف main_login.php
* نصنع الملف checklogin.php
* نصنع الملف login_success.php
* واخيرا نصنع الملف logout.php




اولًا : نصنع جدول members في قاعدة البيانات ويكون تحت اسم القاعدة test على سبيل المثال



كود PHP:
CREATE TABLE `membres` (
  `
idint(4NOT NULL auto_increment,
  `
usernamevarchar(65NOT NULL,
  `
passwordvarchar(65NOT NULL,
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;

INSERT INTO `membresVALUES (1'php''php'); 

اتمنى منكم إنشاء قاعدة البيانات بشكل يدوي للإستفاده


ثانيًا: نصنع ملف main_login.php وهو ملف لفورم تسجيل الدخول




كود PHP:
<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="74">اسم المستخدم</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="دخول"></td>
</
tr>
</
table>
</
td>
</
form>
</
tr>
</
table

اهم شي في هذا الكود هو اسم التكتس اريا + اكشن الفورم

اكشن الفورم هو (checklogin.php) كما في الكود التالي
كود PHP:
<form name="form1" method="post" action="checklogin.php"
اسم التكتس اريا لإسم المستخدم هو (myusername) كما في الكود التالي

كود PHP:
    <input name="myusername" type="text" id="myusername"


اسم التكتس اريا لكلمة المرور هي (mypassword) كما في الكود التالي


<input name="mypassword" type="password" id="mypassword">


ثالثًا: نصنع ملف checklogin.php وهو ملف للتحقق من اسم المستخدم والباسبورد

كود الملف هو

كود PHP:
<?php
  $host
="localhost"// Host name 
  
$username=""// Mysql username 
  
$password=""// Mysql password 
  
$db_name="test"// Database name 
  
$tbl_name="members"// Table name 
// Connect to server and select databse.
  
mysql_connect("$host""$username""$password")or die("cannot connect"); 
  
mysql_select_db("$db_name")or die("cannot select DB");
  
// username and password sent from  form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
// To protect MySQL injection (more detail about MySQL injection)
$myusername stripslashes($myusername);
$mypassword stripslashes($mypassword);
$myusername mysql_real_escape_string($myusername);
$mypassword mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$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 
"خطأ في اسم المستخدم او كلمة المرور";
}
?>


:: شرح الكود ::

كود PHP:
 $host="localhost";       // Host name
$username="root";        // Mysql username
$password="root";        // Mysql password
$db_name="test";         // Database name
$tbl_name="members";     // Table name

// Connect to server and select databse.
mysql_connect("$host""$username""$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB"); 

عمل الكود هو الاتصال بقاعدة البيانات بإمكان وضع ملف الاتصال في ملف مستقل عن الكود
على سبيل المثال نضع الكود السابق في ملف config.php
ونكتب في الملف السابق بدل هالكود

كود PHP:
  include 'config.php'
الكود التالي
كود PHP:
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
عرفنا المتغيرات لإستقبال اليوزر والباسبورد من الفورم

كود PHP:
   $myusername stripslashes($myusername);
$mypassword stripslashes($mypassword);
$myusername mysql_real_escape_string($myusername);
$mypassword mysql_real_escape_string($mypassword); 

هنا عملنا حمايه بسيطه لسد ثغرة MySQL injection

كود PHP:
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql); 
في هذا الكود عملنا اتصال بجدول members داخل قاعدة بيانات test

كود PHP:
   $count=mysql_num_rows($result);
if(
$count==1)** 
Mysql_num_row هنا فائدتها يحسب الصفوف في الجدول
ويجب ان تكون نتيجة $myusername و $mypassword من نفس صف الجدول



كود PHP:
 session_register("myusername");
session_register("mypassword"); 
header("location:login_success.php");
}
else **
echo 
"خطأ في اسم المستخدم او كلمة المرور";


الكود يعطي امر بتسجيل $myusername و $mypassword ثم بعدها ينتقل لصفحة
login_success.php إذا كان اليوزر والباسبورد صحيحه
او يكتب (خطأ في اسم المستخدم او كلمة المرور) إذا كانت غير متطابقة



رابعًا: نصنع ملف login_success.php

كود الملف هو

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

<html>
<body>
تم تسجيل الدخول بنجاح
</body>
</html>

هالكود يشيك إذا الجلسة لم تسجل يرجعنا لـ main_login.php
وإذا تم تسجيلها يكتب لنا (تم تسجيل الدخول بنجاح)


اخيرًا: نصنع ملف تسجيل الخروج logout.php

كود الملف هو

كود PHP:
<? 
session_start
();
session_destroy();
?>



__________________

عبسي الحمديني غير متواجد حالياً   رد مع اقتباس
إضافة رد


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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
اصنع برنامج الملتي ميديا الخاص بك بسيط وسهل عبسي الحمديني لغات البرمجة 3 2011-09-13 11:54 PM
اصنع اول محرك بحت ليك في بي دوت نت عبسي الحمديني لغات البرمجة 2 2011-09-04 07:48 AM


الساعة الآن 03:24 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd