import sqlite3
con = sqlite3.connect("üyeler.db")
cursor = con.cursor()
def olustur():
cursor.execute("CREATE TABLE IF NOT EXISTS ÜYELER (İSİM TEXT, ŞİFRE TEXT)")
con.commit()
def ekle():
cursor.execute("INSERT INTO ÜYELER VALUES(?,?)",(b,c))
con.commit()
def kontrol():
cursor.execute("SELECT * FROM ÜYELER WHERE İSİM = ? and ŞİFRE = ?",(d,e))
data = cursor.fetchall()
if d and e in data:
print(d + "Hoşgeldin")
else:
print("Şifre Ve Kullanıcı Adınızı Kontrol ediniz")
con.commit()
a = str(input("1- Kayıt Ol\n2- Giriş Yap\n"))
if a == "1":
b = str(input("İsminiz : "))
c = str(input("Şifreniz : "))
ekle()
elif a == "2":
d = str(input("İsminiz : "))
e = str(input("Şifreniz : "))
kontrol()
kodlar bu şekilde
ama istediğim şekilde çalışmamakta
1- Kayıt Ol
2- Giriş Yap
2
İsminiz : bjk
Şifreniz : bjk
Şifre Ve Kullanıcı Adınızı Kontrol ediniz
halbuki bana bjk hoşgeldin demeli çünkü veri tabanımda isimi bjk şifresi de bjk olan bir satır var
bakabilirsiniz
bu arada ekle fonksiyonu çalışmakta
-
ekle
fonksiyonundan önce olustur
fonksiyonu çağırarak veritabanını oluşturmanız gerekiyor.
-
ekle
ve kontrol
fonksiyonları input
ile alınan değerleri parametre olarak almalı.
-
ekle
ve kontrol
fonksiyonları parametreler kullanılarak çağrılmalı.
-
if d and e in data
ifadesi if (d, e) in data
şeklinde değiştirimeli.
Kodlarınızın düzenlenmiş hali:
import sqlite3
con = sqlite3.connect("üyeler.db")
cursor = con.cursor()
def olustur():
cursor.execute("CREATE TABLE IF NOT EXISTS ÜYELER (İSİM TEXT, ŞİFRE TEXT)")
con.commit()
def ekle(b, c):
cursor.execute("INSERT INTO ÜYELER VALUES(?,?)",(b,c))
con.commit()
def kontrol(d, e):
cursor.execute("SELECT * FROM ÜYELER WHERE İSİM = ? and ŞİFRE = ?",(d,e))
data = cursor.fetchall()
if (d, e) in data:
print(d + "Hoşgeldin")
else:
print("Şifre Ve Kullanıcı Adınızı Kontrol ediniz")
con.commit()
olustur()
a = str(input("1- Kayıt Ol\n2- Giriş Yap\n"))
if a == "1":
b = str(input("İsminiz : "))
c = str(input("Şifreniz : "))
ekle(b, c)
elif a == "2":
d = str(input("İsminiz : "))
e = str(input("Şifreniz : "))
kontrol(d, e)
teşekkürler farklı bir çözümde burada
Çözüm
import sqlite3
con = sqlite3.connect("userregister.db")
cursor = con.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS kayit(name TEXT , surname TEXT)")
kayit_olma=int(input("Kayıt olmak için 1\nGiriş yapmak için 2 Giriniz: "))
def register():
if kayit_olma ==1:
name = input("Adınızı Girin: ")
surname = input("Soyadı: ")
cursor.execute("INSERT INTO kayit VALUES(?,?)", (name, surname))
print("Kayıt başarıyla oluştu")
con.commit()
con.close()
def loginuser():
if kayit_olma == 2:
name = input("Adınızı Girin: ")
surname = input("Soyadınızı Girin: ")
user = ("SELECT * FROM kayit WHERE name = ? AND surname =?")
cursor.execute(user,[(name),(surname)])
resurt = cursor.fetchall()
if resurt:
for i in resurt:
print("-"*36)
print("----Hoşgeldiniz----\n","İsim: ",i[0],
"\nSoyad: ",i[1] ,"\n")
print("-"*36)
else:
print("Hatalı Giriş Bilgisi: ")
def main():
register()
loginuser()
if __name__ == "__main__":
main()