How to make user name and password authorization??
كيف تعمل عملية دخول الى النظام اقصد اسم مستخدم وكلمة مرور
اولا يجب عليك انت تضع 4 labels ومن ثم تضع 2 textbox وبعدها تضع 2 Buttons
كما في هذا الشكل
ومن ثم تضع في حدث تحميل الصفحة كود ربط قاعدة البيانت كما تعلم .
وفي زر الدخول تضع الكود التالي
public void signin()
{
OleDbDataReader dr;
OleDbCommand cmd;
String t1,t2;
t1=TextBox1.Text.Trim();
t2=TextBox2.Text.Trim();
if ((t1.Length==0)||(t2.Length==0))
{
Label4.Text="انت لم تدخل اي نص ";
}
else
{
String s11=TextBox1.Text;
s11=s11.Trim();
String s12=TextBox2.Text;
s12=s12.Trim();
String sql="SELECT * FROM [user] WHERE name=s11 and pass=s12";
cmd=new OleDbCommand(sql,connect);
cmd.Parameters.Add("@name",s11);
cmd.Parameters.Add("@pass",s12);
dr = cmd.ExecuteReader();
while (dr.Read())
{
if ((dr.HasRows))
{
a=true;
if (a)
{
Session["name"]=dr["name"].ToString();
Session["pass"]=dr["pass"];
String rname=dr["rname"].ToString();
Session["rname"]=dr["rname"].ToString();
{
Response.Redirect("modcp.aspx");
}
}
}
}
dr.Close();
}
if ((!a))
{
TextBox1.Text="";
TextBox2.Text="";
Label4.Text="اسم المستخدم او كلمة المرور غير صحيحة";
}
}
وتضع في كود الزر الأول دخول هذا الحدث
signin();
وفي كود الزر الغاء
TextBox1.text=””;
TextBox2.text=””;
الأن لنفسر الكود
في البداية المتغيرات
OleDbDataReader dr;
OleDbCommand cmd;
String t1,t2;
هذه لتستعمل البرنامج ومن ثم نقرأ ما في الtext لكي نقارنه بما هو موجود في قاعدة البيانات
t1=TextBox1.Text.Trim();
t2=TextBox2.Text.Trim();
ونتأكد ان لا احد من الtextboxs فارغة او بها space
بواسطة
if ((t1.Length==0)||(t2.Length==0))
{
Label4.Text="انت لم تدخل اي نص ";
}
اذا كان غير ذلك افعل التالي
else
{
String s11=TextBox1.Text;
s11=s11.Trim();
String s12=TextBox2.Text;
s12=s12.Trim();
String sql="SELECT * FROM [user] WHERE name=s11 and pass=s12";
cmd=new OleDbCommand(sql,connect);
cmd.Parameters.Add("@name",s11);
cmd.Parameters.Add("@pass",s12);
dr = cmd.ExecuteReader();
طبعا عملية انتقاء من قاعدة البيانات بحيث انه الإسم وكلمة المرور متطابقتين وليس فقط صحيحتين ممكن يكونو حيحتين لمستخدمين مختلفين .
اذا كانا موجودين ومتطابقين افل التالي
while (dr.Read())
{
if ((dr.HasRows))
{
a=true;
if (a)
{
Session["name"]=dr["name"].ToString();
Session["pass"]=dr["pass"];
String rname=dr["rname"].ToString();
Session["rname"]=dr["rname"].ToString();
{
Response.Redirect("modcp.aspx");
}
}
}
}
طبعا الa هي متغير من نوع bool اذا كانت صحيحة وضع في كل session اسم حقل من قاعدة البينات حتى ينقله من صفحة الى اخرى
النهاية انه يحولني الى صفحة الإدارة mdcp.aspx
بعدها يغلق الربط مع القاعدة ومن ثم اذا لم تكون الa صحيحة يفعل التالي
dr.Close();
}
if ((!a))
{
TextBox1.Text="";
TextBox2.Text="";
Label4.Text="اسم المستخدم او كلمة المرور غير صحيحة";
}
}