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

Android Discussion :

Ajouter une page de login


Sujet :

Android

  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 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 : 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
    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 : 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
    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 éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 70
    Points : 681
    Points
    681
    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
    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
    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 : 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
    -- 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
    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
    J'ai changé quelques trucs :
    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
     
    -- 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
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    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 éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 70
    Points : 681
    Points
    681
    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
    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,

    J'ai enfin trouvé comment mettre le script dans la base de donné MySQL mais quand je met ce 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
    -- 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
    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
    J'ai essayé également en ajoutant une virgule à la ligne 20 :
    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'));
    Sans succès

  9. #9
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    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 : 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
     
    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
    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,

    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
    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,

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

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

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

  12. #12
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Maintenant j'aimerai savoir comment procéder pour la suite.
    Merci
    Sur quelle partie exactement ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  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
    Bonsoir,

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

    Merci

Discussions similaires

  1. Struts + Hibernate pour une page de Login
    Par Viscapon dans le forum Struts 1
    Réponses: 1
    Dernier message: 04/10/2008, 08h39
  2. Réponses: 1
    Dernier message: 08/09/2008, 15h27
  3. [Inno Setup] ajouter une page avec des checkbox
    Par cotede2 dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 28/05/2007, 23h01
  4. Réponses: 7
    Dernier message: 15/05/2007, 12h05
  5. [servlet][jsp] Creer une page de login
    Par Beuj dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/03/2004, 17h55

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