Python Flash mesajları gösterilmiyor

Rewalt

Femtopat
Katılım
14 Temmuz 2023
Mesajlar
19
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Yanlış şifre girdiğimde "yanlış parola" gibi bir şey demesi gerekirken başarıyla giriş yaptınız deyip devam ediyor.
 

Dosya Ekleri

  • login.PNG
    login.PNG
    52,8 KB · Görüntüleme: 35
Son düzenleyen: Moderatör:
Nasıl yapacağım yardımcı olur musun?
Bu kadar kodu nasıl şifre kontrolü yapacağını bilmeden mi yazdın?

Sorgun kullanıcı adına göre sonuç getiriyor. Getirdiğin sonuçların içerisinde şifre de var. Getirdiğin şifre sütunundaki veriyle, kullanıcıdan gelen veriyi kıyaslayacaksın. Eğer eşleşiyorsa yönlendireceksin index'e. Şuan yaptığın if else gönderilen formun methodunu kontrol ediyor. else gereksiz orada. python'da sorgudan dönen satırı nasıl işliyorsun bilmiyorum. Ama işledikten sonra;
Python:
if password_entered == userPass:
    #giriş yapıldıktan sonra yapılacaklar

Geçmiş konuna baktım da, @özgün deniz sana zaten password kontrolü olan bir örnek falanda paylaşmış.

Python:
# Login İşlemi
@app.route("/login", methods=["GET", "POST"])
def login():
    form = LoginForm(request.form)

    if request.method == "POST":
        username = form.username.data
        password_entered = form.password.data
        cursor = mysql.connector.cursor()
        sorgu = "Select * From users where username = %s"
        result = cursor.execute(sorgu, (username,))

        if result > 0:
            data = cursor.fetchone()
            real_password = data["password"]
            if sha256_crypt.verify(password_entered, real_password):
                flash("Başarıyla Giriş Yaptınız...", "success")
                return redirect(url_for("index"))
            else:
                flash("Parolanızı Yanlış Girdiniz...", "danger")
                return redirect(url_for("login"))
        else:
            flash("Böyle Bir Kullanıcı Bulunamadı...", "danger")
            return redirect(url_for("login"))

    return render_template("login.html", form=form)


Nasıl eklediniz kodunuza? Database seçimi yapmanız ve giriş yapmanız vs. gerekiyor normalde.

  • MySQL Server'ini aktifleştirmemiş olabilirsiniz.
  • Username ve Password girmemiş olabilirsiniz
  • Database parametresi girmemiş olabilir veya girdiğiniz parametredeki database aktif olmayabilir.

Bağlantınız şuna benzemelidir:

Python:
connection = mysql.connector.connect(
    host="localhost",
    user="user",
    password="password",
    database="database_name"
)
 
Son düzenleme:
Bu kadar kodu nasıl şifre kontrolü yapacağını bilmeden mi yazdın?

Sorgun kullanıcı adına göre sonuç getiriyor. Getirdiğin sonuçların içerisinde şifre de var. Getirdiğin şifre sütunundaki veriyle, kullanıcıdan gelen veriyi kıyaslayacaksın. Eğer eşleşiyorsa yönlendireceksin Index'e. Şu an yaptığın if else gönderilen formun methodunu kontrol ediyor. Else gereksiz orada. Python'da sorgudan dönen satırı nasıl işliyorsun bilmiyorum. Ama işledikten sonra;
Python:
if password_entered == userPass:
 #giriş yapıldıktan sonra yapılacaklar

Geçmiş konuna baktım da, @özgün deniz sana zaten password kontrolü olan bir örnek falanda paylaşmış.

Böyle basit şeylere gelince nedense kafam duruyor. Teşekkür ederim. Deneyip sonucu yazacağım.

Denedim ancak olmadı farklı kodlarla deneyeceğim.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı