PDA

View Full Version : سوال: چک یوزر و پسورد (اکسس)



bluestorm
دوشنبه 06 دی 1389, 13:47 عصر
با سلام
من چطوری میتونم چک کنم که در موقعه لاگین کردن ( وارد کردن یوزر و پسورد )
که این یوزر و پسورد مطابق با همون یوزر و پسورد درون دیتابیس ( اکسس) هست
(چک کردن دیتابیس که ایا یوزر وپسورد وارد شده در تکست باکس ها با دیتابیس یکی هست یا نه )
ممنون میشم که راهنمایی بفرمایید

sokote_bi_payan
دوشنبه 06 دی 1389, 17:23 عصر
به نام خدا
سلام
برای این کار شما باید یه کوئری مثل زیر بنویسید :

select name, family, userId from tbl_user where username =@username and pass=@pass
که یوزر و پسورد را برای امنیت بیشتر به صورت پارامتر ارسال می کنیم.
موفق باشید
یا علی

bluestorm
دوشنبه 06 دی 1389, 20:43 عصر
به نام خدا
سلام
برای این کار شما باید یه کوئری مثل زیر بنویسید :

select name, family, userId from tbl_user where username =@username and pass=@pass
که یوزر و پسورد را برای امنیت بیشتر به صورت پارامتر ارسال می کنیم.
موفق باشید
یا علی

اونوقت من این کوئری رو که گفتید چطوری بسازم
یعنی توی دکمه login فرم چی بنویسم !!!!!!

Regard

sokote_bi_payan
دوشنبه 06 دی 1389, 20:49 عصر
تا حالا کوئری ننوشتید ؟

sokote_bi_payan
دوشنبه 06 دی 1389, 20:50 عصر
پیشنهاد می کنم برای این کار اول از همه طریقه دسترسی به دیتا و کوئری نویسی را یاد بگیرید. تو همین سایت مطالب خیلی خوبی هست که می تونید ازش استفاده کنید.
موفق باشید
یا علی

alonemm
دوشنبه 06 دی 1389, 21:19 عصر
ميتونيد براي دستيابي به اين عمل از يك AccessDataSourc استفاده كنيد و در رويداد كليك دكمه چك مورد نظر از Query بالا استفاده كنيد.

bluestorm
دوشنبه 06 دی 1389, 22:00 عصر
تا حالا کوئری ننوشتید ؟
چرا در اکسس نوشتم اما با asp و برنامه ویژوال استودیو 2010 تا حالا که بخوام پروژه یا برنامه بنویسم تا حالا کوئری ننوشتم
البته من زیاد به دستورات asp اشنایی ندارم ولی جسته وگریخته یه چیزایی بلدم


پیشنهاد می کنم برای این کار اول از همه طریقه دسترسی به دیتا و کوئری نویسی را یاد بگیرید. تو همین سایت مطالب خیلی خوبی هست که می تونید ازش استفاده کنید.
موفق باشید
یا علی
ممنون از راهنمایی جنایعالی

bluestorm
دوشنبه 06 دی 1389, 23:03 عصر
اقا میبخشید من چیزی نفهمیدم
بیاین با هم برنامه رو یه مرور بکنیم تا اشکالات من برطرف شه
( ممنون میشم اگه مرور کنیم)

این کد درج کاربر جدید در دیتابیس اکسس که در باتن نوشته شده !!


protected void Button2_Click(object sender, EventArgs e)
{
OleDbConnection co = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\c\\project\\register.mdb");

try
{
co.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from t1 where userid='" + TextBox3.Text + "'", co);
DataTable dt = new DataTable();
da.Fill(dt);
int i = dt.Rows.Count;
Label1.Text = i.ToString();

if (i == 0)
{
OleDbCommand cmd = new OleDbCommand("insert into t1(name,lname,userid,passid,eid)values(@p1,@p2,@p3 ,@p4,@p5)", co);
cmd.Parameters.Add("@p1", TextBox1.Text);
cmd.Parameters.Add("@p2", TextBox2.Text);
cmd.Parameters.Add("@p3", TextBox3.Text);
cmd.Parameters.Add("@p4", TextBox4.Text);
cmd.Parameters.Add("@p5", TextBox6.Text);

cmd.ExecuteNonQuery();

}else
Label1.Text = "فردی با این نام کاربری قبلا ثبت نام کرده است";


////////////////////////////////////////////////////////////////////////////
}
catch (Exception err)
{
Label1.Text = err.Message;

}
finally
{
co.Close();
}



}
}


حالا مشکلات من :
1- (در فرم رجیستر) این که فیلد پسورد وتکرار پسورد یکی باشن و (همین طور فیلد ایمیل) :متفکر:
2- واسه لاگین کردن و چک کردن یوزر و پسورد :متفکر:
3-یعد از لاگین کردن هر شخص پروفایل خودش رو بتونه ویرایش کنه :متفکر:


فعلا اینها مشکلات من هستن اگه مشکلی پیش اومد دوباره مطرح می کنم !!!! :ناراحت:



امیدوارم همراهی کنید تا مشکلم حل شه :لبخندساده:

bluestorm
سه شنبه 07 دی 1389, 13:44 عصر
ممنون از همراهی شما عزیزان !!

javad.nic63
سه شنبه 07 دی 1389, 14:43 عصر
برای اینکه تست کنی دو تا پسوردی که با هم وارد کرده باهم برابر باشن می تونی از کد زیر استفاده کنی


if (textbox1.text != textbox2.text)
response.write("پسوردها باهم برابر نیست");

بعد اگه پیغام خطا نداد یکی از textboxها را بفرست برای درج در پایگاه داده
برای لاگین کردن هم از کد زیر می تونی استفاده کنی


select * from t1 where userid='" + TextBox3.Text + "' and password = "+TextBox4.Text+"
البته بهتره جوری بنویسی که sqlinjection نخوره

بعدش اگه جواب داده اطلاعات موردنظر همون فردی که وارد شده رو داخل textboxهات میریزی تا بتونه عوض کنه

bluestorm
سه شنبه 07 دی 1389, 20:39 عصر
select * from t1 where userid='" + TextBox3.Text + "' and password = "+TextBox4.Text+"


البته بهتره جوری بنویسی که sqlinjection نخوره ( منظورتون از sqlinjection چی هست)

بعدش اگه جواب داده اطلاعات موردنظر همون فردی که وارد شده رو داخل textboxهات میریزی تا بتونه عوض کنه

یعنی من کد بالا رو بنویسم بعد یه دیتاتیبل در نظر بگیرم واسه شمارش سطح
(تا اینجا درسته )
بقیه اش چیکار کنم ؟؟؟؟؟؟؟

DataTable dt = new DataTable();
da.Fill(dt);
int i = dt.Rows.Count;

bluestorm
پنج شنبه 09 دی 1389, 11:40 صبح
من این سورس کد که واسه لاگین هست و به vb.net هست رو پیدا کردم


Imports System.Data
Imports System.Data.OleDb
Partial Class Login
Inherits System.Web.UI.Page

Protected Sub btn_submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_submit.Click
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|login.mdb")
Dim cmd As New OleDbCommand("select count(*) from tbl_members where uid=? and pwd=?", con)
cmd.Parameters.AddWithValue("uid", txt_uid.Text)
cmd.Parameters.AddWithValue("pwd", txt_pwd.Text)
con.Open()
If cmd.ExecuteScalar = 1 Then

FormsAuthentication.RedirectFromLoginPage(txt_uid. Text, chk_member.Checked)

ElseIf cmd.ExecuteScalar = 0 Then

lbl.Visible = True

End If



End Sub
End Class


بعدش به C# هم تبدیلش کردم اما یازم مشکل دارم
لطفا کمک کنید

www.developerfusion.com/tools/convert/csharp-to-vb/
http://photobucket.comuv.com/images/49f8e8088df6.jpg