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

PHP & Base de données Discussion :

problème vérification identifiants [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Points : 51
    Points
    51
    Par défaut problème vérification identifiants
    bonjour,

    je créé une appli et pour ma page de connexion dont le code est celui ci :

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <?php
    include "connexion.inc";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans titre</title>
    <style type="text/css">
    <!--
    body {
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    	background-color: #000000;
    }
    -->
    </style>
    <link href="style.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    a:link {
    	text-decoration: none;
    }
    a:visited {
    	text-decoration: none;
    }
    a:hover {
    	text-decoration: underline;
    }
    a:active {
    	text-decoration: none;
    }
    -->
    </style></head>
     
    <body LINK="#FFFFFF" VLINK="#FFFFFF">
    <table width="1024" border="0">
      <tr>
        <td align="center"><img src="images/baniere.jpg" longdesc="images/baniere.jpg" /></td>
      </tr>
    </table>
    <table width="1024" height="500" border="0">
      <tr>
        <td align="center" valign="middle" background="images/elfe_noir.jpg">
    <form action="verif.php" method="post">		
    		<table width="300" border="0">
      <tr>
        <td width="300" align="center"><font class="intitule">Login</font></td>
      </tr>
      <tr>
        <td width="300" height="28" align="center"><input name="login" type="text" size="15" maxlength="15" /></td>
      </tr>
      <tr>
        <td width="300" align="center"><font class="intitule">Password</font></td>
      </tr>
      <tr>
        <td width="300" align="center"><input name="pass" type="password" size="15" maxlength="15" /></td>
      </tr>
    </table>
    <br />
    <table width="300" border="0">
      <tr>
        <td width="300" align="center"><input name="connexion" type="submit" value="Connexion" /></td>
    </form>
      </tr>
    </table>
     
    <br /><table width="1024" border="0">
      <tr>
        <td align="center"><font class="lien"><a href="inscription.php">Enregistrer un nouveau joueur</a></font></td>
      </tr>
    </table>
     
    	</td>
      </tr>
    </table>
    </body>
     
    </html>
    j'envoi les verif grace au form dans cette page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <? 
    include "connexion.inc"; 
     
    $query = mysql_query("Select * From Joueur");
     
    if ($_POST['login'] != login_joueur) && ($_POST['pass'] != pass_joueur){
    	header("Location: connexion.php"); }
    else {
    	header("Location: accueil.php"); 
    }
    ?>
    mais mon navigateur me donne cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: parse error in c:\ngadd\verif.php on line 6
    Pouvez vous m'aider s'il vous plait

    merci

  2. #2
    Membre averti Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Points : 325
    Points
    325
    Par défaut
    bonjour,

    plusieurs choses pausent problème:
    Tu n'affecte pas le resultat de ta requete, tu peux utiliser par exemple mysql_fetch_array()
    Il manque des parathèse dans la contion de ton if
    Je te conseil de tester si tes varaibles existes, avec par exemple isset()
    Ensuite l'exmple suppose que tu n'as qu'un seul joueur dans ta db
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php include "connexion.inc";   
    $query = mysql_query("Select * From Joueur");  
    $RowUser = mysql_fetch_array($query );
     
     if (isset($_POST['login']) && isset($_POST['pass'])  && ($_POST['login'] != $RowUser['login_joueur']) && ($_POST['pass'] != $RowUser['pass_joueur'])){ 
      header("Location: connexion.php"); 
      } else {  
      header("Location: accueil.php"); } ?>
    Autre exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php include "connexion.inc";   
    if (isset($_POST['login']) && isset($_POST['pass']) { // test des l'existances des variables
    $sqlQuery = "Select login_joueur, pass_joueur 
    	FROM Joueur
    	WHERE login_joueur = '".addslashes($_POST['login'])."'
    	AND  pass_joueur = '".addslashes($_POST['pass'])."'"; // voir egalement mysql_real_escape_string() pour proteger ta requete des injections SQL
    $result = mysql_query($sqlQuery);  
    if(mysql_num_rows($result) > 0){ //si ton mpd et login est unique ==1
      header("Location: connexion.php"); 
      }   
     } 
    header("Location: accueil.php"); } ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Points : 51
    Points
    51
    Par défaut
    Merci pour ton aide je vai essayer des ce midi

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    addslashes, quelle horreur ! De plus pourquoi ne pas faire directement un COUNT() dans votre requête au lieu de faire un select normal puis de n'utiliser le résultat qu'au travers de mysql_num_rows :
    Code PHP : 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
    <?php
    include('connexion.inc');
     
    if (isset($_POST['login']) && isset($_POST['pass'])) { // test des l'existances des variables
        $sqlQuery = "Select COUNT(*) 
            FROM Joueur
            WHERE login_joueur = '".mysql_real_escape_string($_POST['login'])."'
            AND  pass_joueur = '".mysql_real_escape_string($_POST['pass'])."'";
        $result = mysql_query($sqlQuery);
        $array = mysql_fetch_row($result);
        if($array[0] == 1) {
            header("Location: accueil.php");
        } else {
            header("Location: connexion.php");
        }
    }
    ?>

    Par ailleurs, je vous recommande de hasher les mots de passe de vos utilisateurs au lieu de les conserver en clair.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Points : 51
    Points
    51
    Par défaut
    merci ca marche nickel

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

Discussions similaires

  1. Problème vérification existance d'un identifiant
    Par ShowLess dans le forum Général Java
    Réponses: 8
    Dernier message: 07/06/2013, 14h05
  2. [SQL Serveur 2000] - Problème QUOTED-IDENTIFIER
    Par Silvia12 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2007, 14h17
  3. [Dates] Problème vérification date+champ
    Par skippy86 dans le forum Langage
    Réponses: 5
    Dernier message: 04/06/2007, 16h04
  4. Problème récupération identifiant
    Par smazaudi dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2007, 12h52

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