Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 27
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut insertion code dans phpmyadmin

    Bonjour,

    Je souhaite faire ce tuto http://dsilvera.developpez.com/tutor...es-script-php/ mais je bloque sur la première partie : l'insertion du code pour la base de donnée dans phpmyadmin :

    Lorsque que je met le code :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    -- phpMyAdmin SQL Dump
    -- version 2.6.4-pl4
    -- http://www.phpmyadmin.net
    -- 
    -- Host: localhost
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Création Table `auth_table`
    -- 
     
    CREATE TABLE IF NOT EXISTS auth_table (
      user_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      username varchar(20) NOT NULL DEFAULT '',
      password varchar(32) NOT NULL DEFAULT '',
      PRIMARY KEY  (user_id),
      UNIQUE KEY username (username),
    ) TYPE = InnoDB;
     
    -- 
    -- Insertion Table `auth_table`
    -- 
     
    INSERT INTO auth_table (username, password)
    VALUES ('test', MD5('pass'));
    j'ai toujours la même erreur :
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=InnoDB' at line 20
    Merci de m'aider.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    20 696
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 20 696
    Points : 27 012
    Points
    27 012

    Par défaut

    Remplace par

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    Désolé toujours le même problème :
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ENGINE = InnoDB' at line 20

  4. #4
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    Bonsoir,

    vire la , à cette ligne :
    Code :
    UNIQUE KEY username (username),
    ligne 20 dans ton scirpt.

    Et remplace TYPE par ENGINE comme l'a dit précédemment sabotage.

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Dans la version originale il n'y a pas de virgule à la fin de la ligne 20 et avec cette version mais en remplacant "TYPE" par "ENGINE" comme ceci :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    -- phpMyAdmin SQL Dump
    -- version 2.6.4-pl4
    -- http://www.phpmyadmin.net
    -- 
    -- Host: localhost
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Création Table `auth_table`
    -- 
     
    CREATE TABLE IF NOT EXISTS auth_table (
      user_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      username varchar(20) NOT NULL DEFAULT '',
      password varchar(32) NOT NULL DEFAULT '',
      PRIMARY KEY  (user_id),
      UNIQUE KEY username (username)
    ) ENGINE = InnoDB;
     
    -- 
    -- Insertion Table `auth_table`
    -- 
     
    INSERT INTO auth_table (username, password)
    VALUES ('test', MD5('pass'));
    Cela me donne :
    #1062 - Duplicate entry 'test' for key 'username'

  6. #6
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    Code :
    UNIQUE KEY username (username)
    cette ligne veut dire que tu ne peut pas avoir deux fois la même valeur pour deux ligne différente,

    exemple :
    Code :
    1
    2
    3
    username | password
    test     | 12345
    test     | 12345
    donc tu doit déjà avoir dans ta table un user avec username avec test.

  7. #7
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par Exia93 Voir le message
    Code :
    UNIQUE KEY username (username)
    cette ligne veut dire que tu ne peut pas avoir deux fois la même valeur pour deux ligne différente,

    exemple :
    Code :
    1
    2
    3
    username | password
    test     | 12345
    test     | 12345
    donc tu doit déjà avoir dans ta table un user avec username avec test.
    Merci pour la réponse mais je comprend pas, je dois rajouter qqc ou en enlever ?

  8. #8
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    ça dépend de ton besoin,

    cette contrainte fait que deux utilisateur ne pourront pas avoir le même username,

    donc si tu a besoin de cette contrainte laisse la.

  9. #9
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Oui j'ai besoin de cette contrainte. Donc le script est bon ? Parce que j'ai toujours cette erreur...
    Et que donc je ne peux pas insérer ce script dans phpmyadmin.

  10. #10
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    Ton scirpt fait plusieurs chose,

    Code :
    CREATE TABLE IF NOT EXISTS auth_table
    il va te créer une table auth_table si elle n'existe pas,

    dans ton cas je pense qu'elle existe déjà et que des données sont présente déjà,

    ensuite dans ta table tu à la contrainte uniquesur la colonne username,

    tu essaye ensuite d'insérer via la requête :
    Code :
    1
    2
    INSERT INTO auth_table (username, password)
    VALUES ('test', MD5('pass'));
    une nouvelle ligne avec comme valeur username = 'test' et password = MD5('pass');

    j'image que dans ta table tu à déjà une ligne avec comme username test donc ta requête d'insertion plante.

    Donc soit tu vide la table auth_table dans ta base de données soit tu supprime la table,

    ton script s'occupera de la recréer et de la re-remplir avec les données contenu dans ton scirpt.

    ATTENTION vide pas ta table directement, fait un back-up de ta table ( à par si ton script est déjà un back-up)

  11. #11
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Effectivement, la table était déjà rentré donc j'ai supprimer l'ancienne et ré exécuter le script et cela fonctionne. Maintenant comme je souhaite suivre ce tuto : http://dsilvera.developpez.com/tutor...es-script-php/ je voudrai savoir (je débute tous juste dans le php) qu'est-ce que je doit faire ensuite et que veut dire mon code ? Si par la suite qqn souhaite s'identifier est-ce que son username devra être "test" et le mot de passe défini par phpmyadmin ? Désolé je débute...

  12. #12
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    Ensuite,

    tu va devoir faire un formulaire avec deux champs,

    username et password,

    l'utilisateur va les remplir par exemple test et pass,

    en php tu va récupérer les valeurs du formulaire et vérifier dans ta BDD si un utilisateur utilise l'username test et pass comme password ( attention vue que tu hash le password avec la fonction MD5() dans ta requête de vérification tu devra aussi l'utiliser).

  13. #13
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par Exia93 Voir le message
    Ensuite,

    tu va devoir faire un formulaire avec deux champs,

    username et password,

    l'utilisateur va les remplir par exemple test et pass,
    Sa j'ai compris.

    en php tu va récupérer les valeurs du formulaire et vérifier dans ta BDD si un utilisateur utilise l'username test et pass comme password ( attention vue que tu hash le password avec la fonction MD5() dans ta requête de vérification tu devra aussi l'utiliser).
    Là par contre j'aimerai savoir si c'est a moi de définir tous les username autorisés avec leurs mot de passe ?

    Et je n'ai pas compris ce que tu veux dire par "hasher le password avec la fonction".

    Merci

  14. #14
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    après à toi de voir si tu accepte la création de compte ou si c'est toi qui créer les comptes à la main.

    Pour le mot de passe il vaut mieux ne pas les stocker en clair dans la BDD au cas ou une personne venait à accéder à la BDD,

    donc pour éviter cela on hash le mot de passe, pour cela des fonctions toutes faite existe qui utilise des algorithmes de chiffrement ( exemple MD5, SHA1, ...),

    par exemple pour ton mot de passe 'pass' en BDD il sera stocké une chaîne de caractère tel que 'a7zeez15rez3251rez9',

    donc lorsqu'un utilisateur va se connecter avec les informations username 'test' et mot de passe 'pass', si tu lui demande simplement si un utilisateur utilise ces informations la BDD te répondra non car le mot de passe 'pass' n'est pas stocké en BDD,

    il faut d'abord chiffrer le mot de passe avec l'algorithme que tu à choisit (MD5 dans ton cas) et ensuite demander à la BDD avec ces nouvelles informations.

  15. #15
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par Exia93 Voir le message
    après à toi de voir si tu accepte la création de compte ou si c'est toi qui créer les comptes à la main.

    Pour le mot de passe il vaut mieux ne pas les stocker en clair dans la BDD au cas ou une personne venait à accéder à la BDD,

    donc pour éviter cela on hash le mot de passe, pour cela des fonctions toutes faite existe qui utilise des algorithmes de chiffrement ( exemple MD5, SHA1, ...),

    par exemple pour ton mot de passe 'pass' en BDD il sera stocké une chaîne de caractère tel que 'a7zeez15rez3251rez9',

    donc lorsqu'un utilisateur va se connecter avec les informations username 'test' et mot de passe 'pass', si tu lui demande simplement si un utilisateur utilise ces informations la BDD te répondra non car le mot de passe 'pass' n'est pas stocké en BDD,

    il faut d'abord chiffrer le mot de passe avec l'algorithme que tu à choisit (MD5 dans ton cas) et ensuite demander à la BDD avec ces nouvelles informations.
    Donc si je comprend bien, pour chaque nouvel utilisateur, je dois lui créer son username et son mot de passe (si c'est sa, cela me convient). Et cette fonction en gros permet de créer un mot de passe "aléatoirement" comme celui que tu m'a donné. Dans mon cas je n'ai donc créer qu'un utilisateur non ? Le username serai "test" et le mot de passe, un truc du style : "a7zeez15rez3251rez9" (pour ne pas donner le vrai) ?

  16. #16
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    voila sauf que aléatoirement n'est pas le terme exact car si tu re hash le mot 'pass' il te donnera toujours le même mot de passe chiffré.

  17. #17
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    D'accord mais si maintenant je veux créer un 2ème utilisateur, comment je fais ?

  18. #18
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    tu va devoir créer dans ta table un nouvel utilisateur ayant un nom différent.

  19. #19
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par Exia93 Voir le message
    tu va devoir créer dans ta table un nouvel utilisateur ayant un nom différent.
    Comment ?

  20. #20
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 763
    Points : 1 230
    Points
    1 230

    Par défaut

    Code :
    1
    2
    INSERT INTO auth_table (username, password)
    VALUES ('nom', MD5('pass'));
    cette requête SQL va ajouter une ligne à la table auth_table avec comme username nom ou pour chaque ligne tu doit avoir un username différent des autres lignes.

    Mais si tu ne connais pas comment communiquer avec une BDD il va falloir que tu commence par la car pour pouvoir vérifier si l'utilisateur a bien rentré les bonne information tu devras aussi passé par une requête SQL.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •