إيهاب عصام
15-02-2010, 08:17 صباحاً
بسم الله الرحمن الرحيم
والصلاة والسلام على أشرف الأنبياء والمرسلين سيدنا محمد صلى الله عليه وسلم ..
اليوم سوف ندرس مع بعضنا البعض دورة كاملة عن نظام أعضاء كامل
يتكون من :
1- الصفحة الرئيسية .
2 - صفحة تسجيل الدخول .
3- صفحة التسجيل .
4 -صفحة لوحة تحكم العضو ..
5- ملف شخصي لكل عضو ..
اولاً : إنشاء قاعدة البيانات ..
طبعاً قاعدة البيانات سمها بأي اسم .. users , user , register انت وراحتك
ثانياً : إنشاء جدول الأعضاء
التحليل:
جدول الأعضاء يتكون من :
1- رقم تسلسلي لكل عضو.
2- إسم مستخدم ..
3- كلمة مرور.
4- البريد الإليكتروني .
5- معلومات عن العضو ..
كود إنشاء الجدول :
CREATE TABLE `users`.`users` ( `id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 50 ) NOT NULL ,
`password` VARCHAR( 45 ) NOT NULL ,
`email` VARCHAR( 75 ) NOT NULL ,
`info` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM
ثالثاً : برمجة ملف الإتصال بالقاعدة config.php :
نبدأ في برمجة ملف الإتصال بالقاعدة ..
تحليل :
ملف الإتصال بالقاعدة يحتوي على :
4 متغيرات لمعلومات القاعدة :
1- متغير يحتوي على قيمة المستضيف host .
2- متغير يحتوي على قيمة اسم المستخدم username .
3- متغير يحتوي على قيمة كلمة المرور password
4- متغير يحتوي على قيمة اسم قاعدة البيانات dbname
وثم :
أمر الإتصال بالقاعدة ..
أمر تحديد القاعدة ..
الكود :
<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "users";
$connect = mysql_connect($host,$username,$password);
$select = mysql_select_db($dbname,$connect);
?>
تمام ..أنشأنا ملف الكونفج للإتصال بقاعدة البيانات وبالطبع شرحنا فوق في التحليل ..
رابعاً : ملف الصفحة الرئيسية :
الصفحة الرئيسية .. همم ..
مم تتكون؟
في سكربتنا البسيط هذا سوف نجعل الرئيسية قمة في البساطة .. فقط تضمين لملف الكونفج (الإتصال بالقاعدة) و التأكد من أن العضو سجل دخوله ام لا لو كان سجل دخوله يرى الأعضاء المسجلين ويعدل ملفه الشخصي لو لم يسجل دخوله سوف يظهر له رسالة تقول له (سجل - سجل دخولك) ...
الكود :
<!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>
<font face="tahoma">
<?php
@session_start();
include("config.php");
if($_SESSION['user']){
echo "
<a href='cp.php'>لوحة تحكمك</a>
<br />";
echo "الأعضاء المسجلين حتى الآن :";
$users = mysql_query("SELECT * FROM users");
While($row = mysql_fetch_assoc($users)){
echo '<a href="user.php?id='.$row['id'].'">'.$row['username'].'</a><br />';
}
}else{
echo '<a href="login.php">سجل دخولك</a> أو <a href="register.php">سجل</a>';
}
?>
</font>
</body>
</html>
الآن سوينا الرئيسية بشكل جميل ورائع وطبعاً الشرح عرفناه من التحليل ..
خامساً : صفحة التسجيل :
صفحة تسجيل الدخول register.php ..
سوف نبرمجها على النحو التالي :
إذا لم يتم الضغط على زر الإرسال أظهر فورم التسجيل وإذا تم الضغط :
1 - تحقق من أن اسم المستخدم لم يتم التسجيل به من قبل .
2 - تحقق من أن البريد الإليكتروني لم يتم التسجيل به من قبل .
3- تحقق من الخانات :
اسم المستخدم.
كلمة المرور.
البريد الإليكتروني.
4- أدخل البيانات إذا لم يكن هناك اي خطأ ..
الكود :
<!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 dir="rtl">
<font face="tahoma">
<?php
include("config.php");
if(!$_POST['submit']){
echo '<form method="post">
اسم المستخدم : <input type="text" name="user" />
<br />
كلمة المرور : <input type="password" name="password" />
<br />
البريد الإليكتروني : <input type="text" name="email" />
<br />
<input type="submit" name="submit" value="سجل"/>
<input type="reset" value="تفريغ" />
</form>';
}else{
$username = $_POST['user'];
$password = $_POST['password'];
$email = $_POST['email'];
$email_check = explode('@',$email);
$email_check1 = mysql_query("SELECT * FROM users where email ='".$email."'");
$username_check = mysql_query("SELECT * FROM users where username ='".$username."'");
$num1 = mysql_num_rows($username_check);
$num2 = mysql_num_rows($email_check1);
if($num2 > 0){
echo "البريد موجود مسبقاً";
}else{
if($num1 > 0){
echo "اسم المستخدم موجود مسبقاً";
}else{
if(count($email_check) == 1){
echo "يرجى كتابة البريد بطريقة صحيحة";
}else{
$insert = mysql_query("Insert into users VALUES(null,'".$username."', '".$password."', '".$email."','')");
if($insert){
echo "تم التسجيل بنجاح مرحباً بك ".$username;
}
}
}
}
}
?>
</font>
</body>
</html>
تمام .. صفحة التسجيل تمت بنجاح ..
سادساً : صفحة تسجيل الدخول ..
من اهم الصفحات .. صفحة تسجيل الدخول login.php
فيها يتم إرسال البيانات التي ادخلها المستخدم لتسجيل الدخول والتحقق منها من قاعدة البيانات أكانت صحيحة أم لا ..
<!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 dir="rtl">
<font face="tahoma">
<?php
@session_start();
include("config.php");
if($_SESSION['user']){
echo"أنت مسجل للدخول مسبقاً";
}
if(!$_POST['submit']){
echo '<form method="post">
اسم المستخدم : <input type="text" name="name" />
<br />
كلمة المرور : <input type="password" name="password" />
<br />
<input type="submit" name="submit" value="سجل الدخول"/>
</form>';
}else{
$name = $_POST['name'];
$pass = $_POST['password'];
if ($name && $pass){
$e = mysql_query("SELECT id FROM users Where username ='".$name."' ");
$n = mysql_num_rows($e);
if ($n > 0){
$e1 = mysql_query("SELECT id From users Where username='".$name."' And password='".$pass."'");
$n1 = mysql_num_rows($e1);
if($n1 > 0){
$row = mysql_fetch_array($e1);
$_SESSION['user'] = $row['id'];
echo " تم تسجيل الدخول بنجاح مرحباً بك مرة أخرى".$name;
echo'<META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php">';
}else{
echo "خطأ في تسجيل الدخول";
}
}else{
echo "خطأ في تسجيل الدخول";
}
}else{
echo "خطأ في تسجيل الدخول";
}
}
?>
</font>
</body>
</html>..
خامساً : صفحة ملف شخصي للعضو
الصفحة مبنية على إحضار معلومات من قاعدة البيانات على ان تكون خاصة بعضو ما ..
نبدأ الصفحة بأكواد HTML :
<!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>
<font face="tahoma">
عنوان الصفحة "الملف الشخصي لعضو"
الترميز "العالمي utf-8"
ثم نبدأ بأكواد الـ php
بعد ان نقوم بتوسيط الصفحة
<center> <?php
include("config.php");
ضمنا ملف الإتصال بالقاعدة config.php
$id = intval($_GET['id']);احضرنا الآي دي اللي طلبه العضو على ان يكون رقماً
$select = mysql_query("SELECT * FROM users Where id = '".$id."'");
$row = mysql_fetch_assoc($select);
?>
الملف الشخصي للعضو <? echo $row['username']; ?>
<br />
معلومات عن العضو :
<br />
<? echo $row['info']; ?>
<br />
بريد العضو : <? echo $row['email']; ?>احضرنا من السجلات خلايا الرقم المتسلسل الخاص بها = الذي طلبه الزائر ..
ع العموم ..
شكل الصفحة النهائي :
http://traidnt.net/vb/attachment.php?attachmentid=452321&stc=1&d=1265369885
وسلام الله عليكم ورحمته وبركاته
والصلاة والسلام على أشرف الأنبياء والمرسلين سيدنا محمد صلى الله عليه وسلم ..
اليوم سوف ندرس مع بعضنا البعض دورة كاملة عن نظام أعضاء كامل
يتكون من :
1- الصفحة الرئيسية .
2 - صفحة تسجيل الدخول .
3- صفحة التسجيل .
4 -صفحة لوحة تحكم العضو ..
5- ملف شخصي لكل عضو ..
اولاً : إنشاء قاعدة البيانات ..
طبعاً قاعدة البيانات سمها بأي اسم .. users , user , register انت وراحتك
ثانياً : إنشاء جدول الأعضاء
التحليل:
جدول الأعضاء يتكون من :
1- رقم تسلسلي لكل عضو.
2- إسم مستخدم ..
3- كلمة مرور.
4- البريد الإليكتروني .
5- معلومات عن العضو ..
كود إنشاء الجدول :
CREATE TABLE `users`.`users` ( `id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 50 ) NOT NULL ,
`password` VARCHAR( 45 ) NOT NULL ,
`email` VARCHAR( 75 ) NOT NULL ,
`info` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM
ثالثاً : برمجة ملف الإتصال بالقاعدة config.php :
نبدأ في برمجة ملف الإتصال بالقاعدة ..
تحليل :
ملف الإتصال بالقاعدة يحتوي على :
4 متغيرات لمعلومات القاعدة :
1- متغير يحتوي على قيمة المستضيف host .
2- متغير يحتوي على قيمة اسم المستخدم username .
3- متغير يحتوي على قيمة كلمة المرور password
4- متغير يحتوي على قيمة اسم قاعدة البيانات dbname
وثم :
أمر الإتصال بالقاعدة ..
أمر تحديد القاعدة ..
الكود :
<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "users";
$connect = mysql_connect($host,$username,$password);
$select = mysql_select_db($dbname,$connect);
?>
تمام ..أنشأنا ملف الكونفج للإتصال بقاعدة البيانات وبالطبع شرحنا فوق في التحليل ..
رابعاً : ملف الصفحة الرئيسية :
الصفحة الرئيسية .. همم ..
مم تتكون؟
في سكربتنا البسيط هذا سوف نجعل الرئيسية قمة في البساطة .. فقط تضمين لملف الكونفج (الإتصال بالقاعدة) و التأكد من أن العضو سجل دخوله ام لا لو كان سجل دخوله يرى الأعضاء المسجلين ويعدل ملفه الشخصي لو لم يسجل دخوله سوف يظهر له رسالة تقول له (سجل - سجل دخولك) ...
الكود :
<!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>
<font face="tahoma">
<?php
@session_start();
include("config.php");
if($_SESSION['user']){
echo "
<a href='cp.php'>لوحة تحكمك</a>
<br />";
echo "الأعضاء المسجلين حتى الآن :";
$users = mysql_query("SELECT * FROM users");
While($row = mysql_fetch_assoc($users)){
echo '<a href="user.php?id='.$row['id'].'">'.$row['username'].'</a><br />';
}
}else{
echo '<a href="login.php">سجل دخولك</a> أو <a href="register.php">سجل</a>';
}
?>
</font>
</body>
</html>
الآن سوينا الرئيسية بشكل جميل ورائع وطبعاً الشرح عرفناه من التحليل ..
خامساً : صفحة التسجيل :
صفحة تسجيل الدخول register.php ..
سوف نبرمجها على النحو التالي :
إذا لم يتم الضغط على زر الإرسال أظهر فورم التسجيل وإذا تم الضغط :
1 - تحقق من أن اسم المستخدم لم يتم التسجيل به من قبل .
2 - تحقق من أن البريد الإليكتروني لم يتم التسجيل به من قبل .
3- تحقق من الخانات :
اسم المستخدم.
كلمة المرور.
البريد الإليكتروني.
4- أدخل البيانات إذا لم يكن هناك اي خطأ ..
الكود :
<!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 dir="rtl">
<font face="tahoma">
<?php
include("config.php");
if(!$_POST['submit']){
echo '<form method="post">
اسم المستخدم : <input type="text" name="user" />
<br />
كلمة المرور : <input type="password" name="password" />
<br />
البريد الإليكتروني : <input type="text" name="email" />
<br />
<input type="submit" name="submit" value="سجل"/>
<input type="reset" value="تفريغ" />
</form>';
}else{
$username = $_POST['user'];
$password = $_POST['password'];
$email = $_POST['email'];
$email_check = explode('@',$email);
$email_check1 = mysql_query("SELECT * FROM users where email ='".$email."'");
$username_check = mysql_query("SELECT * FROM users where username ='".$username."'");
$num1 = mysql_num_rows($username_check);
$num2 = mysql_num_rows($email_check1);
if($num2 > 0){
echo "البريد موجود مسبقاً";
}else{
if($num1 > 0){
echo "اسم المستخدم موجود مسبقاً";
}else{
if(count($email_check) == 1){
echo "يرجى كتابة البريد بطريقة صحيحة";
}else{
$insert = mysql_query("Insert into users VALUES(null,'".$username."', '".$password."', '".$email."','')");
if($insert){
echo "تم التسجيل بنجاح مرحباً بك ".$username;
}
}
}
}
}
?>
</font>
</body>
</html>
تمام .. صفحة التسجيل تمت بنجاح ..
سادساً : صفحة تسجيل الدخول ..
من اهم الصفحات .. صفحة تسجيل الدخول login.php
فيها يتم إرسال البيانات التي ادخلها المستخدم لتسجيل الدخول والتحقق منها من قاعدة البيانات أكانت صحيحة أم لا ..
<!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 dir="rtl">
<font face="tahoma">
<?php
@session_start();
include("config.php");
if($_SESSION['user']){
echo"أنت مسجل للدخول مسبقاً";
}
if(!$_POST['submit']){
echo '<form method="post">
اسم المستخدم : <input type="text" name="name" />
<br />
كلمة المرور : <input type="password" name="password" />
<br />
<input type="submit" name="submit" value="سجل الدخول"/>
</form>';
}else{
$name = $_POST['name'];
$pass = $_POST['password'];
if ($name && $pass){
$e = mysql_query("SELECT id FROM users Where username ='".$name."' ");
$n = mysql_num_rows($e);
if ($n > 0){
$e1 = mysql_query("SELECT id From users Where username='".$name."' And password='".$pass."'");
$n1 = mysql_num_rows($e1);
if($n1 > 0){
$row = mysql_fetch_array($e1);
$_SESSION['user'] = $row['id'];
echo " تم تسجيل الدخول بنجاح مرحباً بك مرة أخرى".$name;
echo'<META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php">';
}else{
echo "خطأ في تسجيل الدخول";
}
}else{
echo "خطأ في تسجيل الدخول";
}
}else{
echo "خطأ في تسجيل الدخول";
}
}
?>
</font>
</body>
</html>..
خامساً : صفحة ملف شخصي للعضو
الصفحة مبنية على إحضار معلومات من قاعدة البيانات على ان تكون خاصة بعضو ما ..
نبدأ الصفحة بأكواد HTML :
<!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>
<font face="tahoma">
عنوان الصفحة "الملف الشخصي لعضو"
الترميز "العالمي utf-8"
ثم نبدأ بأكواد الـ php
بعد ان نقوم بتوسيط الصفحة
<center> <?php
include("config.php");
ضمنا ملف الإتصال بالقاعدة config.php
$id = intval($_GET['id']);احضرنا الآي دي اللي طلبه العضو على ان يكون رقماً
$select = mysql_query("SELECT * FROM users Where id = '".$id."'");
$row = mysql_fetch_assoc($select);
?>
الملف الشخصي للعضو <? echo $row['username']; ?>
<br />
معلومات عن العضو :
<br />
<? echo $row['info']; ?>
<br />
بريد العضو : <? echo $row['email']; ?>احضرنا من السجلات خلايا الرقم المتسلسل الخاص بها = الذي طلبه الزائر ..
ع العموم ..
شكل الصفحة النهائي :
http://traidnt.net/vb/attachment.php?attachmentid=452321&stc=1&d=1265369885
وسلام الله عليكم ورحمته وبركاته