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 récupérer donnée [MySQL]


Sujet :

PHP & Base de données

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Par défaut problème récupérer donnée
    Bonjour voila mon code que j'ai écrit pour récupérer le numéro d'utilisateur de la personne qui s'identifie

    Voila c'est la page ou l'utilisateur rentre son log et son pass

    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
    <form action="connexion.php" method="post">
            <table>
    		<tr>
    <?php
    		$sql = "SELECT * FROM users";
    		$sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
    		while ($Tab = mysql_fetch_array($sql_exe)) 
    	    {  
    ?>
             <td width="300" height="28" align="center"><input name="numuser" type="hidden" value="<?php echo $Tab['num_user']; ?>"/></td>
    <?php } ?>
            </tr>	
    		</table>	
    		<table width="300" border="0">
    		<tr>
             <td width="300" align="center"><span class="intitule">Login</span></td>
            </tr>
            <tr>
             <td width="300" height="28" align="center"><input name="login" type="text" /></td>
            </tr>
    		<tr>
             <td width="300" height="28" align="center"></td>
            </tr>
            <tr>
             <td width="300" align="center"><span class="intitule">Password</span></td>
            </tr>
            <tr>
             <td width="300" align="center"><input name="pass" type="password" /></td>
            </tr>
            </table>
    <br />
            <table width="300" border="0">
             <tr>
              <td width="300" align="center"><input name="entrer" type="submit" value="Connexion" /></td>
    </form>
    Malheureusement dans la page suivante je récupère bien un numéro mais ce n'est pas celui de la personne identifié mais c'est le numéro de la dernière personne dans la base

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Par défaut reponse
    Bonjour,

    Je suis pas sur de ma reponse mais tu peux toujours essayer de faire ca comme ca :

    deja tu dois avoir un session_start(); au debut

    les input tu les remplace comme ca :

    <input type="text" name="name" value="<?= $_POST['name'] ?>">

    et dans ta page suivante tu utilises

    <input type="text" name="name" value="<?= $_SESSION['name']?>">


    Ca devrait marche je pense

  3. #3
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Normal vu ta requete !!

    Tu selectionne tout les utilisateurs ! lequel prendre ? bein il prend automatiquement le dernier qui apparait dans ta table user.

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Par défaut
    Bonjour,

    J'ai essayé de faire du code un peu plus propre et je vous ai rajouté comment faire la modification, il vous suffit de remplacer :
    [Nom de la table ayant le compte]
    et
    [Nom de la table contenant le mp]
    Par le nom des tables comme c'est indiqué.

    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
    <?php
    if(isset($_POST['Connexion']))
    {
    	$sql = "SELECT * FROM users WHERE [Nom de la table ayant le compte]=".$_POST['login']." and [Nom de la table contenant le mp]=".$_POST['pass'];
    	$sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
    	$Tab = mysql_fetch_assoc($sql_exe);
    	echo "<td width='300' height='28' align='center'><input name='numuser' type='hidden' value=".$Tab['num_user']."/></td>";
    }
     ?>
     <form action="connexion.php" method="post">
            <table>
    		<tr>
     
            </tr>	
    		</table>	
    		<table width="300" border="0">
    		<tr>
             <td width="300" align="center"><span class="intitule">Login</span></td>
            </tr>
            <tr>
             <td width="300" height="28" align="center"><input name="login" type="text" /></td>
            </tr>
    		<tr>
             <td width="300" height="28" align="center"></td>
            </tr>
            <tr>
             <td width="300" align="center"><span class="intitule">Password</span></td>
            </tr>
            <tr>
             <td width="300" align="center"><input name="pass" type="password" /></td>
            </tr>
            </table>
    <br />
            <table width="300" border="0">
             <tr>
              <td width="300" align="center"><input name="entrer" type="submit" value="Connexion" /></td>
    </form>

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Par défaut
    Juste une question sur ce code

    Vous avez mis le début du form après le td dans lequel on il y a un input avec le num_user donc je ne pourrai pas récupérer le nom d'utilisateru dans la page suivant grâce au post.

    A quoi correspond : if(isset($_POST['Connexion']))


    merci

  6. #6
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    A quoi te sert exactement cette page ?

    C'est pour se logger ? modifier son compte ?

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Par défaut
    c'est pour se loguer et je veux récupérer le uméro de l'utilisateur qui se log pour pouvoir ensuite réutiliser se numéro dans mes sessions utilisateurs.

    En fait une fois que l'utilisateru s'est logué je l'envoi sur une page d'accueil où apparaissent toutes les demandes qu'il à effectué et je compte pour cela utiliser les sessions, je pense que s'est la meilleure manière non?

  8. #8
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    oui mais la tu essaye de récuperer le numéro d'un utilisateur qui ne s'est pas encore loggé, difficile non ?

    Je te conseil plutot de laisser ton utilisateur se logger et ensuite récupérer son numéro. Ca devrait mieux marcher dans ce sens la

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut
    Sinon tu fais directement avec son identifiant si ils sont uniques, ça t'évite une requete

  10. #10
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Par défaut
    J'avais pas compris ceci dans ce sens là. Je pensais que vous rappeliez votre page pour y récupérer le num_user (j'avais pas vu que vous l'aviez intégré à un input).
    Je ne sais pas si cela est la meilleure solution au niveau de la sécurité, mais ce que j'enregistre dans mes sessions lorsque l'utilisateur a été correctement identifié se sont son nom de compte, et son mot de passe au format md5.
    Ensuite, lorsqu'il doit accéder à une page ou des fonctions à utilisateur limité, je fais une vérification par l'intermédiaire d'une fonction sur les sessions compte et mot de passe avant de lui donner l'acces.

    Mais il est clair que quelques soit votre choix, vous serez obligé de faire comme l'a écrit Drop, à savoir : faire d'abord la vérification avant d'essayer de récupérer un numéro qui sera forcément impossible à récupérer s'il n'y a pas de close de WHERE possible sur le nom et le mot de passe.

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 108
    Par défaut
    Voila c'est bon ça marche mais je fais face un problème assez casse noix

    je m'explique mes utilisaterus vont faire les demandes d'interventions donc j'ai créé cette page qui leur permet de saisir le descriptif de la demande :

    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
    <?php
    $date = date("d-m-Y");
    $heure = date("H:i");
    $sql = "SELECT 
    I.num_interv, I.date_demande, I.heure_demande, I.description, I.num_user,US.login_user, US.pass_user, S.num_service, S.nom_service,
    I.num_service, I.num_urg, U.num_urg, U.nom_urg, US.num_user, US.nom_user, US.prenom_user, I.num_tech, T.num_tech, T.nom_tech, T.prenom_tech
    
    FROM intervention I, urgence U, users US, technicien T, service S
    WHERE U.num_urg = I.num_urg
    AND I.num_user = US.num_user
    AND I.num_tech = T.num_tech
    AND S.num_service = I.num_service";
     
    $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
    while ($Tab = mysql_fetch_array($sql_exe)) 
        {
    ?>
    		<br>
    		<form action="envoi_demande.php" method="post">	
    		<table>
    		  <tr>
    		    <td width="220"><span class="intitule_lig">Demandeur : </span></td>
    			<td>&nbsp;&nbsp;<input name="demandeur" type="text" size="31" readonly="enable" value="<?php echo $Tab["prenom_user"] ?> <?php echo $Tab["nom_user"] ?>"></td>
    		  </tr>
    		</table>
    		<table>
    		  <tr>
    		    <td width="220"><span class="intitule_lig">Date de la demande : </span></td>
    			<td>&nbsp;&nbsp;<input name="date" type="text" size="31" readonly="enable" value="<?php print_r($date) ?>"></td>
    		  </tr>
    		</table>
    		<table>
    		  <tr>
    		    <td width="220"><span class="intitule_lig">Heure de la demande : </span></td>
    			<td>&nbsp;&nbsp;<input name="heure" type="text" size="31"  readonly="enable" value="<?php print_r($heure) ?>"></td>
    		  </tr>
    		</table>
    		<table>
    		  <tr>
    		    <td width="220"><span class="intitule_lig">Service : </span></td>
    			<td>&nbsp;&nbsp;<input name="service" type="text" size="31"  readonly="enable" value="<?php echo $Tab["nom_service"] ?>"></td>
    		  </tr>
    		</table>
    		<table>
    		  <tr>
    		    <td><span class="intitule_lig">Description de la demande : </span></td>
    		  </tr>
    		</table>
    		<table>
    		  <tr>
    		    <td><textarea name="descrip" cols="80" rows="10"></textarea></td>
    		  </tr>
    		</table>
    		<br>
    		<table width="650" border="0" cellpadding="0">
             <tr>
              <td align="right"><input name="envoi" type="submit" value="Envoyer" /></td>
              <td align="left"><input name="reset" type="reset" value="Annuler" /></td>
             </tr>
            </table>
    		</form>
    <?php } ?>
    Donc tous les champs sont remplis automatiquement sauf le descriptif

    Je récupère les informations du demandeur grâce à mes variables de session,
    la date et l'heure avec les fonctions adéquats, le service je vais le chercher dans ma table service grâce au nom d'utilisateur.*

    Donc mon problème vient de l'enregistrement des champs dans ma table intervention car pour le demandeur je récupère des champs texte alors que dans ma table j'enregistre le numéro du demandeur et c'est pareil pour le service.

    Voila si je me suis fait bien comprendre

    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/04/2011, 09h52
  2. Problème de récupérer données
    Par waterman dans le forum Accès aux données
    Réponses: 8
    Dernier message: 07/05/2007, 11h37
  3. [JTable] Récupérer données d'une cellule éditée
    Par lilou77 dans le forum Composants
    Réponses: 9
    Dernier message: 14/09/2005, 10h34
  4. [Servlet] Méthode Get : récupérer données de l'url
    Par david71 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 01/02/2005, 11h52
  5. [Fichier] Récupérer donnée d'un fichier
    Par johnlehardos dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 11/05/2004, 13h42

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