merhaba arkadaşlar... c# da yapmış olduğum otomasyon programımda üye kayıt ve üye girişi mevcut aynı şekilde admin girişi fakat üyelerimin girişini admin onay verdiğinde girmesini istiyorum aşşağıdaki resimlerle daha rahat anlayacaksınız ne demek istediğimi yardımlarınızı bekliyorum...
sql sorgusu phpmyadminde çalışıyor ama vb de hata veriyor aldığım hatanında resmini çekip atıyorum
kullandığım sql bağlantısı ve
hatada adi veya sifre alanlarının yani sql deki database tablonda ki ismi ile ayni mi kontrol eder misin.
birde durum=1 den sonra and koymayı dene :)
Dostum Bu Sorgu phpmyadmindede Çalışmaz projeyazilim Kardeşimizinde Dediği Gibi durum=1 den Sonra and Koymamışsın.
Birde Neden Sorguyu Kesip Kesip + Koydun Öğrenebilir miyim ?
fenomenkadir
kullanıcısına yanıt
Merhaba Sql sorgunuzda hata var ayrıca select cümleniz çok tehlikeli olmuş direkt olarak Textboxtan sorguya veri alırsanız kullanıcı textbox a Sql komutları girebilir yani birisi Textbox a "or 1 =1" -- yazarsa Sql yorumlayıcısı 1 1 e eşitmi diye kontrol eder ve eşit olduğu için tüm kullanıcıları çeker.
Ya da daha kötüsü kullanıcı oraya "Drop Database xx" yazarsa Database i uçurur.
Yani kullanıcı sizin sql sorgunuzu değişitirp manipule edebilir bu sayade her türlü verinizi manipule edebilir.
kullanıcı silme işleminde yaptığınız gibi parametreli sorgu yazmanız çok daha sağlıklıdır.
Bu kod ile sorunu tamamen çözdüm yardımlarınız ve yönlendirmleriniz çok teşekkür ederim arkadaşlar
command.CommandText = String.Format("SELECT adi,sifre,durum FROM musteri_bilgi WHERE durum={0} AND adi = '{1}' AND sifre = '{2}'", 1, textBox1.Text, textBox2.Text); connection.Open(); Reader = command.ExecuteReader(); Reader.Read();
if (textBox1 .Text ==""&& textBox2 .Text =="") { DialogResult cevap; cevap = MessageBox.Show("Kullanıcı Adı ve Şifre Giriniz", "UYARI", MessageBoxButtons.OK, MessageBoxIcon.Error); Reader.Close(); connection.Close();
}
if (Reader.HasRows) {
DialogResult cevap; cevap = MessageBox.Show("Girişiniz Onaylandı.","Hoş Geldiniz", MessageBoxButtons.OK, MessageBoxIcon.Information ); frm8.ShowDialog(); connection.Close(); } else { DialogResult cevap; cevap = MessageBox.Show("Kullanıcı Adı veya Şifre Hatalı", "UYARI", MessageBoxButtons.OK, MessageBoxIcon.Error); Reader.Close(); connection.Close(); }