IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Problème Python SqlLite


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut Problème Python SqlLite
    Bonjour,

    Etant actuellement en apprentissage du langage Python j'aimerais créer un site web.
    Actuellement j'ai réussi à faire des pages et à les connecter entre elles ainsi que connecter ma base de données sqlite et récupérer les données.
    J'aimerais désormais pouvoir tester ma page de connexion sur laquelle l'utilisateur rentre ses coordonnées.
    J'ai donc créé une fonction avec en paramètre adress et password qui permet de vérifier que les identifiants et le mot de passe sont corrects.
    C'est ici que se pose le problème lorsque je teste si l'adresse mail est correcte avec cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     cursor.execute("SELECT * FROM Utilisateur WHERE AdresseM = ?  ",(adress,))
       result1 = cursor.fetchone()
        print("resultat mot",result1)
    La ligne est bien retournée.
    Lorsque je fais la même chose pour l'adresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cursor.execute("SELECT * FROM Utilisateur WHERE Password = ? ",(password,))
        result2 = cursor.fetchone()
        print("resultat mot",result2)
    Cela fonctionne aussi.
    Lorsque je teste dans ma base SQL la ligne suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Utilisateur WHERE AdresseM = "pxnda@gmail.com" AND Password = "1234"
    La ligne est bien retournée.

    Mais lorsque j'écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     cursor.execute("SELECT * FROM Utilisateur WHERE AdressM = ? AND Password = ? ",("lea@gmail.com","01"))
        result3 = cursor.fetchone()
        print("resultat finale",result3)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     cursor.execute("SELECT * FROM Utilisateur WHERE AdressM = ? AND Password = ? ",(adress,password))
        result3 = cursor.fetchone()
        print("resultat finale",result3)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     data = [adress,password]
        print(data) // data s'affiche bien 
        cursor.execute("SELECT * FROM Utilisateur WHERE AdressM = ? AND Password = ? ",(data))
        result3 = cursor.fetchone()
        print("resultat finale",result3)
    Le résultat est toujours vide.

    Je pense que mon erreur est la façon dont je remplace les valeurs mais je ne trouve pas d'autres solutions si quelqu'un à une idée j'en serais très reconnaissante.
    De plus je n'ai aucune idée de comment faire pour ouvrir une page en python (je les ouvre actuellement en html)

    En vous remerciant d'avance pour votre réponse.

  2. #2
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Bonjour

    Vérifiez vos données en entré je dirais comme vous dites que ça viens d'un site web donc il peut y avoir une espace ou autre caractère pas forcément visible.
    Je dirais aussi de vérifier le type des données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    >>> import sqlite3
    >>> c = sqlite3.connect(":memory:")
    >>> c.execute("CREATE TABLE `users` (user VARCHAR(10), pwd VARCHAR(10))")
    <sqlite3.Cursor object at 0x000001D9C073EE30>
    >>> c.execute("INSERT INTO `users` VALUES ('utilisateur', 'azerty')")
    <sqlite3.Cursor object at 0x000001D9C073EEA0>
    >>> c.execute("SELECT * FROM `users`").fetchall()
    [('utilisateur', 'azerty')]
    >>> c.execute("SELECT * FROM `users` WHERE user='dfgdg' AND pwd='dfgh'").fetchall()
    []
    >>> c.execute("SELECT * FROM `users` WHERE user='utilisateur' AND pwd='azerty'").fetchall()
    [('utilisateur', 'azerty')]
    >>> c.execute("SELECT * FROM `users` WHERE user=? AND pwd=?", ("utilisateur", "azerty")).fetchall()
    [('utilisateur', 'azerty')]
    >>> c.execute("SELECT * FROM `users` WHERE user=? AND pwd=?", ("utilisateur", b"azerty")).fetchall()
    []
    comme vous le voyez b"azerty""azerty" (vous fait chier à échapper ce qu'il y dans les balises de codeline )


    ps :
    De plus je n'ai aucune idée de comment faire pour ouvrir une page en python (je les ouvre actuellement en html)
    c'est à dire, quelle est le cas d'utilisation ? ouvrir une page en html n'as pas vraiment de sens, le HTML n'est qu'un langage et une extension de fichier

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    merci beaucoup c'est résolu en mettant tout sur la même ligne ça fonctionne.
    Savez-vous comment faire pour ouvrir une page en python, c'est à dire que je voudrait si la vérification = True je veux ouvrir une nouvelle page mais je n'ai pas d'idée de comment m'y prendre.

    Merci d'avance pour votre réponse.

  4. #4
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Citation Envoyé par pxnda Voir le message
    merci beaucoup c'est résolu en mettant tout sur la même ligne ça fonctionne.
    Savez-vous comment faire pour ouvrir une page en python, c'est à dire que je voudrait si la vérification = True je veux ouvrir une nouvelle page mais je n'ai pas d'idée de comment m'y prendre.

    Merci d'avance pour votre réponse.
    désolé mais je ne comprends vraiment pas ce que vous voulez faire, est ce que vous voulez ouvrir un nouvel onglet une fois que vous êtes connecté ? c'est quoi cette histoire de vérification = True ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Oui c’est ça

    j’aimerai ouvrir un autre onglet avec un autre contenu

  6. #6
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    ouvrir un onglet se fait coté navigateur, cependant un site web étant (souvent) au minimum l'association entre du code javascript coté utilisateur (du "vanillaJS" ... je trouve le nom tellement con ... et pourquoi pas "vanilla JS retour au sources sans framework" , Jquery, angular, vuejs, ect...) et un coté serveur (pour votre part écrit en python mais on ne sais pas quel framework) qui sont étroitement lié, donc la réponse n'est pas simple dans le sens où il n'y a pas solution absolue, juste des concepts et des connaissances avec lesquels il faut composer la solution la plus viable pour un projet donné à un instant T donné.

    vous utilisez quoi actuellement ? des fichiers html statiques et un framework pour gérer une partie serveur comme bottle ou flask ?
    comment compter vous gérer l'authentification ? un cookie ? une session ? quelque chose dans l'url ? ou bien vous ne savez pas encore ?

Discussions similaires

  1. Problème python dans script shell et cron
    Par Tintin87 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 15/11/2011, 22h29
  2. problème python cmd.exe
    Par Burnam dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 30/12/2010, 17h46
  3. Problème python lancer un .exe dans son service windows python
    Par leyer dans le forum Général Python
    Réponses: 1
    Dernier message: 02/04/2010, 04h07
  4. [2 problèmes PYTHON] Interprétation IDLE + chaines
    Par devatt dans le forum Général Python
    Réponses: 9
    Dernier message: 25/02/2009, 19h37
  5. Problèmes python avec Internet explorer
    Par pascalcovolo dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 27/06/2008, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo