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 :

probleme avec requete SQL [MySQL]


Sujet :

PHP & Base de donn�es

  1. #1
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut probleme avec requete SQL
    bonjour � tous. je suis debutant en php et je suis confront� � probl�me. j'ai une base de donn�e nomm�e bd_fortitude dans laquele un table nomm�e super_admin contient les champs suivants ainsi que cette seule ligne :

    user_cod--> 1
    user_login-->luc
    user_pwd-->luckyluc

    pourque ce utilisateur puisse avoir acc�s � une page, j'ai mis le code php suivant
    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
     
     
    //recupperation des valeurs entrées par l'utilisateurs
    $U_login = $_POST['user_login'];
    $U_pwd = $_POST['usr_pass'];
    $U_type = $_POST['user_type'];
     
    $connexion = mysql_pconnect('localhost', 'root', '');
    if($connexion==0){
    header('Location:serv_error.php'); //redirection vers page d'erreur
    mysql_close();
    exit;}
     
    //connexion à la base de donnée
    if(!mysql_select_db('bd_fortitude',$connexion)){
    header('Location:connex_error.php'); //redirection vers page d'erreur
    mysql_close();
    exit;}
     
     
    //recherche des infos de l'utilisateur
    if($U_type=="adm"){
    	$resultat = mysql_query("SELECT user_cod FROM super_admin WHERE user_login LIKE '$U_login' AND user_pwd LIKE '$U_pwd'");
    	if($resultat->user_cod != 1){
    	header('Location:connex_error.php');
    	mysql_close();
    	exit;}
    	else{
    	header('Location:home_admin.php');
    	mysql_close();
    	}
    }
    	?>
    je v�rifie donc que le $resultat contient quelque chose pour diriger l'utilisateur vers la bonne page.
    le probl�me est que m�me quand je tape de fausses informations je ne tombe pas sur la page d'erreur mais sur la bonne page. je pense que $resultat contient quand m�me quelque chose.
    comment je pourrais contr�ler le contenu de $resultat.
    merci de porter votre attention.

  2. #2
    Expert confirm�
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par d�faut
    Bonjour,

    J'ai repris ton code pour te mettre sur la voie, mais je t'invite � lire quelques tutoriaux histoire d'acqu�rir les bases :
    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
    <?php
     
    // recupperation des valeurs entrées par l'utilisateurs
    $login = isset($_POST['user_login']) ? $_POST['user_login'] : '';
    $pwd   = isset($_POST['usr_pass'])   ? $_POST['usr_pass']   : '';
    $type  = isset($_POST['user_type'])  ? $_POST['user_type']  : '';
     
    $cnx = mysql_pconnect('localhost', 'root', ''); // CONNEXION PERSISTANTE
     
    if (false === $cnx){
       header('Location:serv_error.php'); //redirection vers page d'erreur
       // mysql_close(); // tu n'as pas à refermer une connexion qui n'a pas pu être ouverte !
       exit;
    }
     
    if ( ! mysql_select_db('bd_fortitude', $cnx)) {
       mysql_close($cnx); // POUR FERMER UNE CONNEXION PERSISTANTE IL FAUT PRECISER EXPLICITEMENT QUELLE CONNEXION FERMER SINON PAS DE FERMETURE
       header('Location:connex_error.php'); //redirection vers page d'erreur
       exit;
    }
     
    //recherche des infos de l'utilisateur
    if ($type === 'adm') {
     
       $sql = "SELECT user_cod FROM super_admin WHERE user_login = '".mysql_real_escape_string($login)."' AND user_pwd = '".mysql_real_escape_string($pwd)."'";
       $qry = mysql_query($sql);
       $nb  = mysql_num_rows($qry);
     
       if($nb != 1) {
          mysql_close($cnx); // POUR FERMER UNE CONNEXION PERSISTANTE IL FAUT PRECISER EXPLICITEMENT QUELLE CONNEXION FERMER SINON PAS DE FERMETURE
          header('Location:connex_error.php');
          exit;
       }
       else {
          mysql_close($cnx); // POUR FERMER UNE CONNEXION PERSISTANTE IL FAUT PRECISER EXPLICITEMENT QUELLE CONNEXION FERMER SINON PAS DE FERMETURE
          header('Location:home_admin.php');
       }
    }
    ?>

  3. #3
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut
    merci de vous �tes pench� sur ma question. j'ai cherch� � savoir ce que voulais dire toutes ces nouvelles fonctions pour moi et je crois que �a va je vois leur utilit�, mais ce script me ram�ne toujours � la page erreur apr�s le test sur le nombre de ligne dans le resultat de la requ�te.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if($nb != 1){
    mysql_close($connexion);
    header('Location:connex_error.php');

  4. #4
    Expert confirm�
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par d�faut
    Ok, il serait possible d'avoir tout le code du formulaire ?

  5. #5
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut
    oui le voici

    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
     
    <form action="authent.php" method="POST" >
    	<!-- <img src="../IMAGES/fond_corps.jpg" /> -->
    	<table border="0">
    		<tr>
    		<td class="logo" width="0"><img  src="../IMAGES/logo_FLC3.gif" /></td>
    		<td class="lib" width="0">
    		<label>Nom d'utilisateur</label></br></br>
    		<label>Mot de passe</label></br></br></br></br></br></br></br></br></br></br>
     
     
    		</td>
    		<td width="0" ><input class="txtbox" type="text" size="30" name="user_login"  /></br></br>
    		<input class="txtbox" type="password" size="30" name="usr_pass"  /></br></br>
     
    		<input type="radio" name="user_type" value="adm" /><label>Administrateur </label></br>
    		<input type="radio" name="user_type" value="forma" /><label>formateur </label></br>
    		<input type="radio" name="user_type" value="etu" checked="1"/><label>Etudiant </label></br></br></br>
    		<input type="image" src="../IMAGES/bouton_connex.jpg" value="Connexion" />
     
    		</td>
    		</tr>
    	</table>
     
    </form>

  6. #6
    Membre �clair�
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Z�lande

    Informations professionnelles :
    Activit� : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Par d�faut
    Voil� j'ai retap� un peu ton 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
    if($U_type=="adm"){
    $U_login=mysql_real_escape_string($U_login);
    $U_pwd=mysql_real_escape_string($U_pwd);
    	$resultat = mysql_query("SELECT user_cod FROM super_admin WHERE user_login = '".$U_login."' AND user_pwd '".$U_pwd."'");
    	$nb  = mysql_num_rows($qry);
    	if($nb != 1){
    	header('Location:connex_error.php');
    	mysql_close();
    	exit;}
    	else{
    				// On demarre Session
                    session_start (); 
                    // on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
                    $_SESSION['login'] = $U_login; 
                    $_SESSION['password'] = $U_pwd;
    	header('Location:home_admin.php');
    	mysql_close();
    	}
    }
    ?>
    il te reste que de contr�ler les variable $_SESSION dans ta page home_admin.php

  7. #7
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut
    merci, mais �a ne marche toujours pas, avec ou sans la gestion des sessions c'est zero. je me suis tap� une bonne nuit de documentation en php j'en suis � mes d�buts et je crois que je suis vraiment nul avec ce langage.
    soit ma requ�te est mauvaise soit j'utilise mal les variables soit $nb prend une valeur sans que je ne m'en rende compte . je ne comprend vraiment plus.

  8. #8
    Expert confirm�
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par d�faut
    Salut,

    V�rifies tes donn�es avec ce script :
    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
    <?php
     
    // recupperation des valeurs entrées par l'utilisateurs
    $login = isset($_POST['user_login']) ? $_POST['user_login'] : '';
    $pwd   = isset($_POST['usr_pass'])   ? $_POST['usr_pass']   : '';
    $type  = isset($_POST['user_type'])  ? $_POST['user_type']  : '';
     
    echo <<<SC
    <pre>
    user : $user
    pwd  : $pwd
    type : $type
    SC;
     
    $cnx = mysql_pconnect('localhost', 'root', ''); // CONNEXION PERSISTANTE
     
    if (false === $cnx){
       header('Location:serv_error.php'); //redirection vers page d'erreur
       exit;
    }
     
    if ( ! mysql_select_db('bd_fortitude', $cnx)) {
       mysql_close($cnx);
       header('Location:connex_error.php'); //redirection vers page d'erreur
       exit;
    }
     
    //recherche des infos de l'utilisateur
    if ($type === 'adm') {
     
       $sql = "SELECT user_cod FROM super_admin WHERE user_login = '".mysql_real_escape_string($login)."' AND user_pwd = '".mysql_real_escape_string($pwd)."'";
       $qry = mysql_query($sql);
       $nb  = mysql_num_rows($qry);
       mysql_close($cnx);
       echo <<<SC
    <pre>
    sql : $sql
    qry : $qry
    nb  : $nb
    SC;
    }
    ?>

  9. #9
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut
    merci j'ai trouv� d'o� venait le probl�me. il s'agissait des variables d�identification de l'utilisateur qui �taient mal envoy�s.

  10. #10
    Membre tr�s actif Avatar de hi-wave
    Inscrit en
    D�cembre 2009
    Messages
    136
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 136
    Par d�faut
    toutes mes excuses pour cet oubli.
    merci de m'avoir apport� cette solution merci a tous.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probleme avec Requete SQL
    Par mfofana dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 23/04/2014, 21h23
  2. probleme avec requete SQL dans code VB6
    Par captainamerica75 dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 30/05/2007, 21h36
  3. [C# 2.0] Probleme avec requete SQL
    Par Sion_Sempai dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 18/09/2006, 23h45
  4. probleme avec requetes SQL contenant des dates dans la clause WHERE
    Par reeda dans le forum Requ�tes et SQL.
    R�ponses: 3
    Dernier message: 18/09/2006, 20h55
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 24/02/2004, 14h45

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