Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  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 Ajouter une page de login

    Bonjour,

    Je suis lycéen et je dois faire une application dans le cadre d'un projet scolaire. Je voudrais faire une page de login qui fonctionne comme dans le lien de votre tutoriel : http://dsilvera.developpez.com/tutor...es-script-php/

    Le problème est que je n'arrive pas à comprendre où rentrer le script de la base de données. J'ai vu qu'on pouvait rentrer à peu près les mêmes choses dans des tables sur PHPMyAdmin mais je n'y arrive pas trop et puis je trouve le script de votre tutoriel plus clair.

    Donc, quelqu'un saurait-il m'expliquer comment procéder pour insérer cette page de login et la faire fonctionner ?

    Voici ce que j'ai déjà fait :
    Login.java
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    package com.example.gyropode;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
     
    public class Login extends Activity {
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_login);
            Intent intent = getIntent();
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_login, menu);
            return true;
        }
    }
    activity_login.xml
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".Login" >
     
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="28dp"
            android:padding="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:text="@string/conseil_login"
            android:textSize="16sp"
            android:textStyle="italic" />
     
        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/editText2"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="48dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="@string/utilisateur" />
     
        <EditText
            android:id="@+id/editText2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/editText1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="45dp"
            android:ems="10"
            android:inputType="textPassword"
            android:text="@string/password" >
     
            <requestFocus />
        </EditText>
     
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="44dp"
            android:text="@string/Connecter" />
     
    </RelativeLayout>
    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné

    Homme Profil pro Pierre-Emmanuel Mercier
    Ingénieur développement logiciels
    Inscrit en
    octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre-Emmanuel Mercier
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : octobre 2006
    Messages : 70
    Points : 670
    Points
    670

    Par défaut

    Bonjour,

    Le script SQL doit être injecté dans l'onglet SQL de phpmyadmin.

    Pour le côté Android.

    2 champs textbox + un bouton

    Clic sur le bouton
    • Récupération des valeurs
      Validation des données (champs vides)
      Cryptage du MDP
      Envoie du Login + Mdp à la page PHP (Get ou Post)
      Retour de la page PHP avec un code (0,1,2,3, message d'erreur)
      Lecture du code
      Utilisateur authentifié Oui / Non
      Si oui envoie vers une autre activity
      Si non afficher un message d'erreur

  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

    Bonsoir,

    Merci de ta réponse acesyde,
    Citation Envoyé par acesyde Voir le message
    Le script SQL doit être injecté dans l'onglet SQL de phpmyadmin.
    Merci de ta réponse, je vais voir si j'y arrive.
    EDIT : Lorsque je met sa dans SQL :

    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
    -- 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'));
    Il me dit que aucune base n'a été selectionnée. Faut-il changer une valeur ? De plus je pense qu'il y a certaines valeurs que je dois modifier mais je ne sais pas trop lesquelles (je ne veux pas me tromper).

    Citation Envoyé par acesyde Voir le message
    Pour le côté Android.

    2 champs textbox + un bouton

    Clic sur le bouton
    • Récupération des valeurs
      Validation des données (champs vides)
      Cryptage du MDP
      Envoie du Login + Mdp à la page PHP (Get ou Post)
      Retour de la page PHP avec un code (0,1,2,3, message d'erreur)
      Lecture du code
      Utilisateur authentifié Oui / Non
      Si oui envoie vers une autre activity
      Si non afficher un message d'erreur
    Alors là je te remercie de me lister les choses que je dois faire ou qu'il se passe pour le login, mais je ne vois pas comment faire tous sa. Est-ce que le lien que j'ai donné dans le 1er message explique comment faire tous sa ?

    Merci.

  4. #4
    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

    J'ai changé quelques trucs :
    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
     
    -- 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'));
    Mais j'ai un autre 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
    Merci pour toute aide

  5. #5
    Modérateur

    Homme Profil pro Nicolas Romantzoff
    Ingénieur systèmes et réseaux
    Inscrit en
    février 2007
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Romantzoff
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2007
    Messages : 3 692
    Points : 6 415
    Points
    6 415

    Par défaut

    manque des parenthèses
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre chevronné

    Homme Profil pro Pierre-Emmanuel Mercier
    Ingénieur développement logiciels
    Inscrit en
    octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre-Emmanuel Mercier
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : octobre 2006
    Messages : 70
    Points : 670
    Points
    670

    Par défaut

    En faite ton premier script était bon.

    Dans MySQL il faut créer une base, ensuite tu vas dedans et tu retrouves un onglet "SQL" et c'est ici que tu injectes ton script.

    Et effectivement il te manque ")" dans ton dernier script de create table

  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

    Bonjour,

    J'ai enfin trouvé comment mettre le script dans la base de donné MySQL mais quand je met ce 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
    -- 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'obtiens cette 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
    Est-ce que la parenthèse oubliée ou mal placée, est-elle au bon endroit ? Et comment corriger cette erreur ?

    Merci

  8. #8
    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

    J'ai essayé également en ajoutant une virgule à la ligne 20 :
    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'));
    Sans succès

  9. #9
    Modérateur

    Homme Profil pro Nicolas Romantzoff
    Ingénieur systèmes et réseaux
    Inscrit en
    février 2007
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Romantzoff
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2007
    Messages : 3 692
    Points : 6 415
    Points
    6 415

    Par défaut

    Peut être plus de chances sur le forum mySQL / PHPMyAdmin (à désinstaller très très vite vu la quantité de brute force attack qu'il y a sur php-my-admin dès qu'un serveur web est ouvert).

    Sinon, je reviens sur la première réponse (coté android):
    Clic sur le bouton
    Récupération des valeurs
    Validation des données (champs vides)
    Cryptage du MDP
    Envoie du Login + Mdp à la page PHP (Get ou Post)
    Retour de la page PHP avec un code (0,1,2,3, message d'erreur)
    Lecture du code
    Utilisateur authentifié Oui / Non
    Si oui envoie vers une autre activity
    Si non afficher un message d'erreur
    Devrait être:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    A1: Au Click sur le bouton:
       Récupération des valeurs
       Affichage d'une progress-bar
       Lancement d'une tâche de login (AsyncTask)
     
    A2: A la réception de la clé d'authentication:
       Dismiss de la progress-bar
       Finish de l'activité de login (avec la clé en paramètre)
     
    A3: A la réception d'une erreur d'authentication:
       Dismiss de la progress-bar
       Eventuellement affichage de l'erreur
     
    T1: Dans la tâche de login (background):
       Hashage du mot-de-passe.
       Utilisation de HTTPS pour l'envoi du username/md5 (attention HTTPS est obligatoire, sinon, aucune sécurité)
       Reception du résultat
     
    T2: Dans la tâche de login (post-execute)
       Appel de A2 ou A3 selon le résultat.
    Pour éviter l'emploi de HTTPS, il faut recourir à un double appel... Le serveur renvoyant une 'clé' pour encrypter mot-de-passe & username.
    Voir les implémentation HTTP de digest-authentication...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  10. #10
    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,

    Je passe par le biais de EasyPHP mais qui fonctionne par PHPmyadmin. Comme je débute tout juste dans le PHP, je ne veux pas trop me compliquer la tâche en changeant sans cesse de site, hebergeur ?.
    Merci pour les changements sur l'explication du fonctionnement côté android, mais malgrès sa je reste toujours bloqué sur ce bout de code qui me donne toujours la même erreur.

  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

    Bonjour,

    J'ai enfin réussi à mettre le script dans la base de donnée :
    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'));
    .

    Maintenant j'aimerai savoir comment procéder pour la suite.
    Merci

    Rappel : http://dsilvera.developpez.com/tutor...es-script-php/

  12. #12
    Responsable Android

    Avatar de Feanorin
    Inscrit en
    avril 2004
    Messages
    4 124
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 4 124
    Points : 7 690
    Points
    7 690

    Par défaut

    Maintenant j'aimerai savoir comment procéder pour la suite.
    Merci
    Sur quelle partie exactement ?

  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

    Bonsoir,

    Pour la partie avec le script PHP, la deuxième en faite.

    Merci

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
  •