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

EDI, CMS, Outils, Scripts et API PHP Discussion :

insertion code dans phpMyAdmin [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    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 : 8
    Points
    8
    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 : 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
    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
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Remplace par
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    vire la , à cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UNIQUE KEY username (username),
    ligne 20 dans ton scirpt.

    Et remplace TYPE par ENGINE comme l'a dit précédemment sabotage.
    une réponse vous a permis d'avancer ?

  5. #5
    Futur Membre du Club
    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 : 8
    Points
    8
    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 : 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
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    username | password
    test     | 12345
    test     | 12345
    donc tu doit déjà avoir dans ta table un user avec username avec test.
    une réponse vous a permis d'avancer ?

  7. #7
    Futur Membre du Club
    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 : 8
    Points
    8
    Par défaut
    Citation Envoyé par Exia93 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    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.
    une réponse vous a permis d'avancer ?

  9. #9
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Ton scirpt fait plusieurs chose,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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)
    une réponse vous a permis d'avancer ?

  11. #11
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    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).
    une réponse vous a permis d'avancer ?

  13. #13
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    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.
    une réponse vous a permis d'avancer ?

  15. #15
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    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é.
    une réponse vous a permis d'avancer ?

  17. #17
    Futur Membre du Club
    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 : 8
    Points
    8
    Par défaut
    D'accord mais si maintenant je veux créer un 2ème utilisateur, comment je fais ?

  18. #18
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    tu va devoir créer dans ta table un nouvel utilisateur ayant un nom différent.
    une réponse vous a permis d'avancer ?

  19. #19
    Futur Membre du Club
    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 : 8
    Points
    8
    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 expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    une réponse vous a permis d'avancer ?

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

Discussions similaires

  1. Insertion code dans commandButton
    Par ninette24 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 28/03/2008, 14h30
  2. [MySQL] Génération d'un code dans une requete d'insertion
    Par caro_tpl dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/05/2006, 11h14
  3. Réponses: 3
    Dernier message: 30/01/2006, 15h26
  4. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 16h03

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