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

Langage PHP Discussion :

Formulaire d'identification


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yohan0262
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 159
    Par défaut Formulaire d'identification
    Bonjour à tous,

    je suis en ce moment entrain de travailler sur un formulaire d'identification mais je rencontre quelques problèmes. Le formulaire se trouve sur une page formulaire.php dont l'action du bouton renvois sur connexion.php.

    C'est d'ailleurs cette page qui me pose problème. L'utilisateur rentre son login et son mdp et je voudrais que l'authentification se fasse suivant les données stockées dans ma table. Suivant si c'est ok ou refusé, un message s'affiche quelques secondes avec une redirection automatique. Mais je ne vois pas comment faire de redirection et je vois pas ce qui cloche dans ma requête...

    Voici 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
     
    <?						
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $SQL="select * from test where pseudo='".$_GET["pseudo"]."', pass='".$_GET["pass"]."'";
    $result=mysql_query($SQL);
     
    if(mysql_num_rows($result)<1){ // Il n'est pas dans la liste
    	echo "<center><b>Veuillez resaisir et vérifier vos identifiants.</b></center>"; 
    	//redirection à cet endroit
    }
    else{ // Il est dans la liste
    	echo "<center><b>Authentification réussie. Patientez, vous allez être redirigé.</b></center>";
    	//redirection à cet endroit
    }			
     
    ?>
    Pour la redirection j'avais pensé à header("location:......) mais il me semble que cela ne fonctionne pas quand on a une balise html présente auparavant dans le code....

  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
    Par défaut
    On n'insere pas directement dans une requete les données saisies par l'utilisateur.
    Et pour separer tes deux conditions c'est 'AND'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SQL="select * from test where pseudo='".mysql_real_escape_string($_GET["pseudo"])."' AND pass='".mysql_real_escape_string($_GET["pass"])."'";
    pour la redirection :
    http://php.developpez.com/faq/?page=...ts_redirection
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de yohan0262
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 159
    Par défaut
    Réponse rapide, merci !

    je vais consulter et tester cela de suite...

    Edit : je viens de tester avec les header et ça ne marche pas, le problème c'est pas les balises html ?

    Sinon je suis toujours refusé alors que les identifiants sont bien dans la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Veuillez resaisir et vérifier vos identifiants.
     
    Warning: Cannot modify header information - headers already sent by (output started at ............../connexion.php:1) in ................/connexion.php on line 161

  4. #4
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Citation Envoyé par yohan0262 Voir le message
    Edit : je viens de tester avec les header et ça ne marche pas, le problème c'est pas les balises html ?
    Ce sont toutes les données textuelles envoyées avant le header : http://php.developpez.com/faq/index....s_already_sent.

    Lis bien le lien donné par sabotage, tu peut faire ta redirection en html ou en javascript, ce qui ne donnera pas cette erreur...

  5. #5
    Membre confirmé Avatar de yohan0262
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 159
    Par défaut
    Ok mais le problème c'est qu'en html et en javascript, je ne pourrais faire qu'une redirection par page puisqu'il faut la mettre dans le <head>. Or là, il m'en faudrait deux possibles suivant la condition comprise dans le if.

    Sinon votre requête ne fonctionne pas...

  6. #6
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Il me semble que tu n'as pas mis tout ton code ?

    Si tu mets tes traitements php au début du fichier, tu pourra faire une redirection par header, ainsi qu'une redirection html ou javascript associée à une condition...

    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
    <?						
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $SQL="select * from test where pseudo='".$_GET["pseudo"]."', pass='".$_GET["pass"]."'";
    $result=mysql_query($SQL);
     
    if(mysql_num_rows($result)<1){ // Il n'est pas dans la liste
    	$result_rech = 'non';
    	//redirection à cet endroit
    }
    else{ // Il est dans la liste
    	$result_rech = 'oui';
    	//redirection à cet endroit
    }	 		
    ?>
     
    code html...
     
    <?php
    if ($result_rech == 'non') {		
        echo "<center><b>Veuillez resaisir et vérifier vos identifiants.</b></center>";
    } elseif ($result_rech == 'oui') {
        echo "<center><b>Authentification réussie. Patientez, vous allez être redirigé.</b></center>";
    }
    ?>
    Ceci est un exemple assez schématique pour te donner une idée de comment faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. formulaire d'identification en vb
    Par maynousha dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 17/03/2008, 13h18
  2. Créer un formulaire d'identification
    Par Carnage76 dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/05/2007, 13h21
  3. Pb formulaire d'identification (sécurité)
    Par kollyv dans le forum Langage
    Réponses: 6
    Dernier message: 03/10/2006, 15h27
  4. [MySQL] Formulaire d'identification ok en local mais pas sur le serveur
    Par hoangeric dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 24/04/2006, 20h49
  5. [SSL] Formulaire d'identification sécurisé
    Par akecoocoo dans le forum Sécurité
    Réponses: 1
    Dernier message: 05/01/2006, 17h59

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