Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Java & Mobiles > Android
Android Forum d'entraide sur Android, la plateforme mobile de Google pour téléphones portables et Smartphones. Avant de poster -> FAQ Android
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/12/2012, 20h19   #1
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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.
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 11h31   #2
acesyde
Membre chevronné
 
Homme Pierre-Emmanuel Mercier
Ingénieur développement logiciels
Inscription : 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 : 671
Points : 671
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
acesyde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 19h34   #3
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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.
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 21h39   #4
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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 :
Citation:
#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
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 21h47   #5
nicroman
Modérateur
 
Homme Nicolas Romantzoff
Ingénieur systèmes et réseaux
Inscription : février 2007
Messages : 2 863
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 : 2 863
Points : 4 916
Points : 4 916
Envoyer un message via Skype™ à nicroman
manque des parenthèses
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
Et surtout
nicroman est actuellement connecté   Envoyer un message privé Réponse avec citation 11
Vieux 14/12/2012, 08h44   #6
acesyde
Membre chevronné
 
Homme Pierre-Emmanuel Mercier
Ingénieur développement logiciels
Inscription : 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 : 671
Points : 671
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
acesyde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 11h13   #7
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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 :
Citation:
#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
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 22h27   #8
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2012, 00h06   #9
nicroman
Modérateur
 
Homme Nicolas Romantzoff
Ingénieur systèmes et réseaux
Inscription : février 2007
Messages : 2 863
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 : 2 863
Points : 4 916
Points : 4 916
Envoyer un message via Skype™ à nicroman
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):
Citation:
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
nicroman est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2012, 01h28   #10
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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.
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2012, 23h41   #11
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
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/
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 23h59   #12
Feanorin
Responsable Android

 
Avatar de Feanorin
 
Inscription : avril 2004
Messages : 3 271
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 3 271
Points : 5 286
Points : 5 286
Envoyer un message via Skype™ à Feanorin
Citation:
Maintenant j'aimerai savoir comment procéder pour la suite.
Merci
Sur quelle partie exactement ?
Feanorin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 17h52   #13
bouzoubad
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 3
Points : 3
Bonsoir,

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

Merci
bouzoubad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h44.


 
 
 
 
Partenaires

Hébergement Web