الرئيسية » برمجة PHP » كيفية برمجة منطقة خاصة لدخول الأعضاء

كيفية برمجة منطقة خاصة لدخول الأعضاء

 

لاحظت طلب بعض الإخوة بعمل درس حول كيفية عمل منطقة تسجيل دخول الأعضاء خاصة فآثرت إلا أن أقدم درس بسيط حول هذا ان شاء الله

طبعاً الدرس سهل و مبسط إن شاءالله لكن يحتاج لقليل من التركيز و تفكير و تمعن ..

إن شاءالله سأقدمه على عدة مراحل كلها إن شاءالله ستكون في هذا الموضوع ..
طبعاً لن أضع ملفات العمل حتى لا يتكاسل البعض عن تجربة الدرس .. لذا سأترك الإخوة هم يطبقون الدرس و يرفقون ملفات العمل بعد إنتهائهم ..

طيب يا شباب نبدأ ؟!! ..

نبدأ بسم الله ..

أول شيء ربما يسأل البعض .. إيش هي منطقة دخول الأعضاء ؟!! ..
فأقول طبعاً هذا المصطلح مترجم حرفياً من الإنجليزية Members Area ..
و يعني هذا الأمر وجود قسم بالموقع لا يدخله إلا أشخاص معينين و هم الأعضاء طبعاً بواسطة إسم مستخدم UserName و كلمة مرور PassWord ..

طيب الحين عرفنا إيش هي منطقة الأعضاء بقي نذكر الطرق المستخدمة في عملها ..

طبعاً يمكن عمل منطقة دخول أعضاء خاصة عن طريق وضع إسم مستخدم و كلمة مرور  أو باسورد موحدين بمعنى كل الأعضاء يستخدمونها و طبعاً ذلك يتم عن طريق وضع الكود التالي :

if(!isset($PHP_AUTH_USER)||($PHP_AUTH_USER!=”UserName”)||($PHP_AUTH_PW!=”PassWord”) )
{
Header(“WWW-Authenticate: Basic realm=”منطقة الأعضاء””);
Header(“HTTP/1.0 401 Unauthorized”);
exit;
}

طبعاً الكود السابق لو وضعته بأي ملف PHP فحسين يفتحه الشخص ستظهر له رسالة تطلب منه وضع إسم المستخدم الذي هو في الكود UserName و كلمة المرور الموضوع بالكود و هي PassWord ..
طبعاً يمكنك وضع متغيرات في الكود تضع قيمتها مثلاً في ملف config !! ..

طبعاً هذه طريقة لعمل منطقة محمية لكن ربما يكون عيبها أنه الجميع سيدخل بإسم مستخدم واحد و كلمة مرور واحدة ..

نسيت أذكر أن الطريقة السابقة لو كتب الشخص إسم مستخدم خطأ أو كلمة مرور خاطأ فلن يتم قراءة ما تحت الكود لذا يفضل وضع الكود بأعلى الملف ..

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

طبعاً ما سأشرحه هو نموذج خفيف و لو أنه هناك طرق كثيرة أفضل و أقوى و لكن آثرت الإختصار و محاولة إيصال الفكرة بأبسط الطرق ..

بداية سنحتاج لعمل قاعدة البيانات .. لذا سيكون في قاعدة البيانات الجداول التالية :
id و هو الرقم التسلسلي للعضو
username و هو إسم المستخدم للعضو
password و هو كلمة المرور للعضو

إستخدم الكود التالي لزراعة قاعدة البيانات في موقعك :

CREATE TABLE user (
`id` int(10) unsigned NOT NULL auto_increment,
`username` varchar(255) NOT NULL default ”,
`password` varchar(255) NOT NULL default ”,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) TYPE=MyISAM;

طبعاً سيكون إسم قاعدة البيانات هو user ..

الآن أنشأنا قاعدة البيانات ..
بقي علينا عمل ملف تعريف السكربت بقاعدة البيانات و هو ملف config.inc.php ..
قم بإنشاء ملف بالإسم السابق و ضع فيه الكود التالي :

<?php
$dbserver=”localhost”;
$dbuser=””;
$dbpass=””;
$dbname=”user”;
mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname);
?>

تأتي الآن مرحلة عمل نموذج تسجيل العضو ..
لذا سنحتاج لإنشاء ملف php و لنسمه مثلاً register.php ..
سنضع فيه كود HTML عبارة عن نموذج Form للتسجيل ..
كود نموذج التسجيل سيكون كالتالي مثلاً :

نموذج تسجيل عضو

<br>
<form method=”post” action=”register.php?reg=user”>
إسم المستخدم <input type=”text” name=”username” size=”30″><br>
كلمة المرور <input type=”text” name=”password” size=”30″><br>
<input type=”submit” value=”تسجيل”>
</form>

طبعاً تلاحظون بالكود وضعنا في خانة Action التالي :
register.php?reg=user
و هذا يعني أنه سيتم إرسال المعلومات لهذا الجزء من ملف register.php و الذي يحمل إسم reg ..
طبعاً الجزء هذا سيكون عبارة عن أوامر php تكمل إجراء تسجيل العضو ..
سنستخدم بالطبع أمر قاعدة البيانات INSERT INTO لذلك ..

طبعاً كود ال php سيكون كالتالي :

<?php
require(“config.inc.php”);
if(isset($reg)){
mysql_query(“INSERT INTO user (username,password)VALUES(‘$username’,’$password’)”);
echo “تمت العملية بنجاح”;
}
?>

طبعاً كما تلاحظون بداية طلبنا ملف config.inc.php عن طريق الأمر require ..
ثم وضعنا شرطاً أنه إذا تم طلب الجزء reg من الملف register.php طبعاً فإنه يتم تنفيذ الأوامر التي بهذا الجزء ..
و هي كما نرة عبارة عن عملية إتصال بقاعدة البيانات ثم إدراج معلومات العضو التي وضعها و هي إسم المستخدم و كلمة المرور ..

الآن سيكون محتوى ملف register.php بالكامل :

نموذج تسجيل عضو

<br>
<form method=”post” action=”register.php?reg=user”>
إسم المستخدم <input type=”text” name=”username” size=”30″><br>
كلمة المرور <input type=”text” name=”password” size=”30″><br>
<input type=”submit” value=”تسجيل”>
</form>

<?php
require(“config.inc.php”);
if(isset($reg)){
mysql_query(“INSERT INTO user (username,password)VALUES(‘$username’,’$password’)”);
echo “تمت العملية بنجاح”;
}
?>

وصلنا لمرحلة إنشاء صفحة تسجيل دخول العضو و لنسمها مثلاً member.php ..
سنحتاج فيها عمل نموذج تسجيل دخول للعضو ..
طبعاً هو مثل نموذج التسجيل لكن طبعاً سيكون له Action آخر ..

ضع الكود التالي :

نموذج تسجيل دخول عضو

<br>
<form method=”post” action=”member.php?log=user”>
إسم المستخدم <input type=”text” name=”username” size=”30″><br>
كلمة المرور <input type=”text” name=”password” size=”30″><br>
<input type=”submit” value=”دخول”>
</form>

طبعاً تلاحظون بالكود وضعنا في خانة Action التالي :
member.php?log=user
و هذا يعني أنه سيتم إرسال المعلومات لهذا الجزء من ملف member.php و الذي يحمل إسم log ..
طبعاً الجزء هذا سيكون عبارة عن أوامر php تكمل إجراء تسجيل دخول العضو ..

المطلوب في أوامر php الان أنها تتأكد من مطابقة المعلومات اللي أدخلها العضو مع معلوماته المسجلة مسبقاً بقاعدة البيانات ..

سنستخدم الكود التالي لذلك :

<?php
require(“config.inc.php”);
if(isset($log)){
$query=mysql_query(“SELECT username,password FROM user WHERE username LIKE ‘$username’ AND password LIKE ‘$password'”);
$num=mysql_num_rows($query);
if($num==1){
print”تم تسجيل دخولك”;
}
elseif($num!=1){
print”إسم مستخدم خاطئ أو كلمة مرور خاطئة”;
}
}
?>

طبعاً كما تلاحظون بداية طلبنا ملف config.inc.php عن طريق الأمر require ..
ثم وضعنا شرطاً أنه إذا تم طلب الجزء log من الملف member.php طبعاً فإنه يتم تنفيذ الأوامر التي بهذا الجزء ..
و هي كما نرى عبارة عن عملية إتصال بقاعدة البيانات ثم البحث عن معلومات العضو التي وضعها و هي إسم المستخدم و كلمة المرور .. و طبعاً ذلك للتأكد من وجودها بقاعدة البيانات ..
و من ثم إذا وجدها و كانت مطابقة تماماً فإنه سيطبع عبارة ( تم تسجيل دخولك ) أو إذا كانت خلاف ذلك فسيطبع عبارة ( إسم مستخدم خاطئ أو كلمة مرور خاطئة ) ..
طبعاً هنا إن شاءالله تكون وصلت الفكرة المطلوبة ..
بالتأكيد يمكنك إستبدال العبارات أو وضع أمر إدراج ملف بدلاً من طباعة عبارة أو يمكنك وضع أوامر php أخرى لتنفذ بدل أمر طباعة العبارة echo ..

الآن سيكون محتوى ملف member.php بالكامل :

نموذج تسجيل دخول عضو

<br>
<form method=”post” action=”member.php?log=user”>
إسم المستخدم <input type=”text” name=”username” size=”30″><br>
كلمة المرور <input type=”text” name=”password” size=”30″><br>
<input type=”submit” value=”دخول”>
</form>

<?php
require(“config.inc.php”);
if(isset($log)){
$query=mysql_query(“SELECT username,password FROM user WHERE username LIKE ‘$username’ AND password LIKE ‘$password'”);
$num=mysql_num_rows($query);
if($num==1){
echo “تم تسجيل دخولك”;
}
elseif($num!=1){
echo “إسم مستخدم خاطئ أو كلمة مرور خاطئة”;
}
}
?>

أتمنى يكون الشرح واضح و الفكرة وصلت و تراها فكرة مبسطة لمنطقة الأعضاء و إلا هناك طرق كثيرة متقدمة و أفضل من هذه بكثير ..

والشكر لصاحب الموضوع

اقرأ ايضاً!

x

‎قد يُعجبك أيضاً

سكريبت عداد زوار مرتبط بقاعدة البيانات

  سكربت عداد زوار يرتبط بقاعدة بيانات خاصة به الحاجة : سكربت عداد زوار يعمل ...