protected void Rejestracja_Click(object sender, EventArgs e) { bool captcha_ok = false; bool valid_captcha = SprawdzCaptcha(); if (valid_captcha == false) { validKod.IsValid = false; validKod.ErrorMessage = "Niepoprawny kod - spróbuj ponownie"; } else { captcha_ok = true; } if (captcha_ok == true) { UsunNieaktUserow.SprawdzNieakt(); //klasa, która usuwa nieaktywnych userów String imie; String nazwisko; String login; String haslo; int id_uprawnienia; String tel_kom; String e_mail; int id_jednostki; id_jednostki = Convert.ToInt32(DropDownListJednostka.SelectedValue.ToString()); imie = TextBoxImie.Text; nazwisko = TextBoxNazwisko.Text; login = TextBoxLogin.Text; haslo = TextBoxHaslo.Text; id_uprawnienia = Convert.ToInt32(DropDownListUprawnienia.SelectedValue.ToString()); //.SelectedValue.ToString() to indeks z tabeli tel_kom = TextBoxTel.Text; e_mail = TextBoxMail.Text; //sprawdzenie, czy istnieje już taki login w bazie (ma być unique) Laczenie.Initialize(); Laczenie.Open(); if (DaneUzytk.ZwrocIdUser(login) > 0) { validacjaLoginu.IsValid = false; //wyświetlenie komunikatu o powtórzonym loginie //zapisanie do logów Logi.LogFile("Nie zarejestrowano: " + login + "- występuje taki login w bazie"); return; } validTmp.Text = "ok"; string body = ""; int wynikInsert = 0; //dodanie nieaktywnego użytkownika string query = "INSERT INTO [dbo].[UZYTK] ([imie],[nazwisko],[login],[haslo],[id_uprawnienia],[tel_kom],[e_mail],[id_jednostka], aktywny) VALUES ('" + imie + "', '" + nazwisko + "', '" + login + "', '" + haslo + "', " + id_uprawnienia + ", '" + tel_kom + "', '" + e_mail + "', " + id_jednostki + ", '" + "False" + "')"; Laczenie.Open(); using (SqlCommand command = Laczenie.SqlCommand(query)) { wynikInsert = command.ExecuteNonQuery(); } Laczenie.Close(); if (wynikInsert > 0) { //zapisanie do logów Logi.LogFile("Poprawnie zarejestrowano: " + login); } else { Logi.LogFile("Nieudana rejestracja (brak insertu): " + login); Response.Redirect("Logowanie.aspx", true); } //tworzenie kodu aktywacyjnego var wynik = WysylanieMaila.KodAktywacyjny(DaneUzytk.ZwrocIdUser(login)); if (String.IsNullOrEmpty(wynik)) { //zapisanie do logów Logi.LogFile("Nieudana rejestracja (brak kodu aktywacyjnego): " + login); Response.Redirect("Logowanie.aspx", true); } else { String link_akt = Request.Url.AbsoluteUri.Replace("Rejestracja.aspx", "Logowanie.aspx?KodAktyw=" + wynik); body = "<br /><br /> Witaj " + login + ","; body += "<br /><br />Kliknij w poniższy link w celu aktywacji"; body += "<br /><a href = '" + link_akt + "'>Kliknij, by aktywować konto.</a>"; } //wysyłanie maila bool wyslane = WysylanieMaila.Mail("*****@*****.**", e_mail, "Aktywacja konta", body); if (wyslane == true) { //zapisanie do logów Logi.LogFile("Rejestracja: " + login + " - wysłano maila z linkiem aktywacyjnym"); Session["rejestracja"] = "true"; Response.Redirect("Logowanie.aspx", true); } else { //zapisanie do logów Logi.LogFile("Nieudana rejestracja (mail nie został wysłany): " + login); Session["rejestracja"] = "false"; Response.Redirect("Logowanie.aspx", true); } } }
protected void ZapomnHasla_Click(object sender, EventArgs e) { String login; login = LoginTextBox.Text.ToString(); String id_uzytk = string.Empty; String aktywny = string.Empty; string query = "select id_uzytk, aktywny from [dbo].[UZYTK] where login='******'"; Laczenie.Initialize(); Laczenie.Open(); using (SqlCommand command = Laczenie.SqlCommand(query)) { SqlDataReader reader = command.ExecuteReader(); if (reader.Read()) { id_uzytk = reader.GetInt32(0).ToString(); aktywny = reader.GetBoolean(1).ToString(); } reader.Close(); } Laczenie.Close(); if (aktywny == "False") { LabelBrakDostepu.Text = "Brak dostępu: nieaktywny login (sprawdź maila z linkiem aktywacyjnym)"; LabelBrakDostepu.Visible = true; //zapisanie do logów Logi.LogFile("Nieaktywny login: "******"UPDATE [dbo].[UZYTK] SET haslo = '" + nowe_haslo + "' where login='******'"; Laczenie.Open(); using (SqlCommand command1 = Laczenie.SqlCommand(query1)) { wynik_insert = command1.ExecuteNonQuery(); //zapisanie do logów Logi.LogFile("Zmiana hasła - SQL: " + query1); } Laczenie.Close(); if (wynik_insert > 0) { bool wyslane = WysylanieMaila.Mail("*****@*****.**", wynik.Item3, "Reset hasła", "Nowe hasło to " + nowe_haslo); if (wyslane) { LabelWyslanoMaila.Visible = true; //zapisanie do logów Logi.LogFile("Zmiana hasła: " + login + " - wysłano maila z nowym hasłem"); } else { //zapisanie do logów Logi.LogFile("Nieudana zmiana hasła (mail nie został wysłany): " + login); LabelWyslanoMaila.Text = "Wystąpił błąd - spróbuj ponownie"; LabelWyslanoMaila.ForeColor = System.Drawing.ColorTranslator.FromHtml("Red"); LabelWyslanoMaila.Visible = true; } } else { //zapisanie do logów Logi.LogFile("Nieudana zmiana hasła (update nie został wykonany): " + login); LabelBrakDostepu.Text = "Wystąpił błąd - spróbuj ponownie"; LabelBrakDostepu.Visible = true; } } } }