PDA

View Full Version : سوال: مشکل در کد لاگین به فرم بعدی



vahidth
سه شنبه 05 دی 1391, 12:44 عصر
سلام به دوستان
دوستان من یک پروِه دارم که میخوام براش فرم لاگین بسازم
در دیتابیس دو نا فیلد بنام user و password از نوع int ساختم در سی شارپ 3 تا فرم دارم فرم اولی (برای ورود به فرم دوم) در فرم دوم (همون فرم اصلی من است) و فرم سوم فرم تغییر رمز عبور است.
کد ارتباط سی شارپ با دیتابیس رو نوشتم و حالا نمیدونم چطوری در فرم اول کدی بنویسم که کاربر با وارد کردن یوزر نیم و پسورد در صورت درست بودن به صفحه دوم بره یعنی فرم اصلی و در فرم سوم کد تغییر رمز عبور رو بنویسم چطوری این کارو انجام بدم
فقط کد ارتباط با دیتابیس رو نوشتم

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bn.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

mehran788
سه شنبه 05 دی 1391, 13:28 عصر
سلام.
کاری نداره که حالا باید بررسی کنی ببینی تو پایگاهه داده همچین یوزر نیم و پسوردی هست یا نه؟

if (txtusername.Text == "" && txtpassword.Text == "")
{
MessageBox.Show("لطفا فیلد ها را کامل کنید", "خالی", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
SqlCommand com = new SqlCommand("select count(username) from tbluserdata where username='" + txtusername.Text + "' and password='" + txtpassword.Text + "'", con);
con.Open();
int cn = (int)com.ExecuteScalar();
con.Close();
if (cn > 0)
{
frmmain main = new frmmain();
main.Show();
this.Hide();
}
else
{
com.CommandText = "select * from tbluserdata";
SqlDataReader dr;
con.Open();
dr = com.ExecuteReader();
dr.Read();
int un = Convert.ToInt32(dr["uncorrect"].ToString());
con.Close();
un++;
com.CommandText = ("update tbluserdata set uncorrect='" + un + "'");
con.Open();
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("نام کاربری یا رمز عبور اشتباه می باشد", "نادرست", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtusername.Text = "";
txtpassword.Text = "";
txtusername.Focus();
}
}

فیلد uncorrect هم واسه اینه که اگه کاربر رمز رو اشتباه وارد کرد تو بانک اطلاعاتی ثبت کنه و تا به کاربر اصلی اطلاع بده و واسه تغییر رمز هم از کد زیر استفاده می کنی.

if (txtpassword.Text != "" && txtrepassword.Text != "" && txtusername.Text != "")
{
if (txtrepassword.Text == txtpassword.Text)
{
SqlCommand com = new SqlCommand("update tbluserdata set username='" + txtusername.Text + "',password='" + txtpassword.Text + "'", con);
con.Open();
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("عملیات با موفقیت انجام شد", "تغییر رمز", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("داده ها دارای اشکال هستند.لطفا مجددا سعی کنید","اشکال",MessageBoxButtons.OK,MessageBoxIcon.Error);
txtpassword.Text="";
txtrepassword.Text="";
txtpassword.Focus();
}
}
else
{
MessageBox.Show("لطفا تمامی فیلد ها را پرکنید", "خالی", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

امیدوارم به دردت بخوره
موفق باشی

vahidth
چهارشنبه 06 دی 1391, 09:34 صبح
ممنون ازت داداش ولی ارور میده

vahidth
چهارشنبه 06 دی 1391, 09:35 صبح
میشه پروِِه ای که ساختی رو ضمیمه کنی

vahidth
چهارشنبه 06 دی 1391, 09:51 صبح
پروِه رو براتون ضمیمه کردم ببینید مشکل از کجاست
دانلود پروِِِژه (http://uploadtak.com/images/v472_Login.rar)

r_s1389@yahoo.com
چهارشنبه 06 دی 1391, 10:02 صبح
آقا من میگم بیا این کار رو بکن
اولا شما نباید نام کاربری و رمز عبور را هر دوتاش را int بگیری چون در این صورت امنیت میاد پایین
دما شما برای هر فرم خود در پایگاه داده یک فیلد درست کنید که دو مفدار (درست یا نادرست) بپذیره و در ابتدا به صورت دستی بیایید به ادمین مجوز همه فرمها رو بدید و برای بقیه هر کس که عضو جدید میشه همه این ها رو مجوز نادرست (یعنی به هیچ یک از فرم ها دسترسی نداشته باشه به جز فرم اصلی ) بدین و اگر خواستین ادمین میاد بهشون مجوز میده (در واقع ادمین میاد آپدیت میکنه).
مشکلی داشتی بگو تا برات سورس بذارم

vahidth
چهارشنبه 06 دی 1391, 13:04 عصر
آقا من میگم بیا این کار رو بکن
اولا شما نباید نام کاربری و رمز عبور را هر دوتاش را int بگیری چون در این صورت امنیت میاد پایین
دما شما برای هر فرم خود در پایگاه داده یک فیلد درست کنید که دو مفدار (درست یا نادرست) بپذیره و در ابتدا به صورت دستی بیایید به ادمین مجوز همه فرمها رو بدید و برای بقیه هر کس که عضو جدید میشه همه این ها رو مجوز نادرست (یعنی به هیچ یک از فرم ها دسترسی نداشته باشه به جز فرم اصلی ) بدین و اگر خواستین ادمین میاد بهشون مجوز میده (در واقع ادمین میاد آپدیت میکنه).
مشکلی داشتی بگو تا برات سورس بذارم
ممنون میشم داداش تو یه پروژه ای بگی در ضمن میخوام امنیت بیشتر بشه

vahidth
چهارشنبه 06 دی 1391, 15:05 عصر
کسی نمیخواد ما رو کمک کنه

vahidth
چهارشنبه 06 دی 1391, 16:50 عصر
از دوستان یعنی کسی نیست ما رو کمک کنه

keyvan_s89
چهارشنبه 06 دی 1391, 18:49 عصر
با درود


SqlConnection objcon = new SqlConnection();
objcon.ConnectionString = "connection string path";
SqlDataAdapter data1 = new SqlDataAdapter();
data1.SelectCommand = new SqlCommand();

data1.SelectCommand.Connection = objcon;
data1.SelectCommand.CommandText = "select username,pass where username= @1 and pass=@2";
data1.SelectCommand.Parameters.AddWithValue("@1", TextBox1.Text);
data1.SelectCommand.Parameters.AddWithValue("@2", TextBox2.Text);
DataSet dss = new DataSet();
objcon.Open();
data1.Fill(dss, "t");
objcon.Close();
{
if (dss.Tables["t"].Rows.Count != 0)
{

Response.Redirect("page moredenazar.aspx");

}
else
{
Label1.Text = "error";

}
}