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 :

afficher les données d'un client [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut afficher les données d'un client
    Salut à tous !!

    Je développe actuellement un site de vente en ligne de meubles de salon d'intérieur (dans le cadre d'un projet fictif) et j'ai un petit problème pour afficher les données des utilisateurs. En effet quand celui-ci se connecte, il peut modifier ses données en cliquant sur un lien "modifier vos données", qui ouvre donc une page où doivent s'afficher les données client. Pour cela, je souhaite récupérer l'adresse mail du client saisie dans le formulaire de connexion, rechercher cette adresse dans la base de données et afficher tous les renseignements sur le client correspondant. En regardant un peu, je me suis aperçu qu'il n'arrivait pas à récupérer cette adresse mail. Voici le code de mes fichiers de connexion et de modification :

    plugin_connexion.php

    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
    <?php
    	class plugin_connexion implements IPlugin {
     
    		function render (&$html, $args){
     
    				$buffer = "<form name='connexion' method='get' >" .
    				"<br><br>" .
    				"adresse email : <input type='text' name='mail'><br><br>" .
    				"mot de passe : <input type='password' name='passwd'><br><br>" .
    				"<input type='submit' value='Connexion client'/><br />" .
    				"<br><br>" .
    				"<b>Administrateur</b>" .
    				"<input type='password' name='tpassadmin'><br>" .
    				"<input type='submit' value='Connexion admin' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"><br />" .
    				"</form>";
     
    				if(isset($_GET['mail']) && isset($_GET['passwd'])){ //les informations ont été envoyées
    					$mail = $_GET['mail']; //parsing du mail
    					$passwd = $_GET['passwd']; //parsing du mot de passe
    					if((strlen($mail) != 0) && (strlen($passwd) != 0)){
    						$sql = "SELECT * FROM client WHERE MailClient = '".$mail."' and PasswordClient = '".$passwd."'";
    						$req = mysql_query($sql);
    						if(mysql_num_rows($req)) { //s'il existe des résultats à la requête
    							//session_start();
    							$buffer2 = "Vous êtes correctement identifié.<br /><br />";
    							$buffer2 .= '<a href=index.php?id=6&EmailPersonne=".$mail.">Cliquez ici pour modifier vos données.</a><br /><br />';
    							$buffer2 .= '<a href=index.php?id=0>Déconnexion</a><br /><br />';
    							$buffer = $buffer2;
    						}
    						else {
    							$buffer3 = "Vous n'êtes pas encore inscrit<br /><br />";
    							$buffer3 .= '<a href=index.php?page=0>Retour</a><be /><br />';
    							$buffer = $buffer3;
    						}	
    					}
    					else {
    						$buffer4 = "Vous n'avez pas saisi votre mot de passe ou votre email.<br /><br />";
    						$buffer = $buffer4;
    					}
    				}
     
     
    			return $buffer;
     
    		}
    	}
    ?>
    plugin_modification.php

    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
    <?php
    	class plugin_modification implements IPlugin {
     
    		function render (&$html, $args){
     
    			//Connexion SQL
    			$dbhote = 'localhost';
    			$dbuser = 'root';
    			$dbpass = '';
    			$dbbase = 'ms2006';
    			$link = mysql_connect($dbhote, $dbuser, $dbpass) or die("Impossible de se connecter : " . mysql_error());
    			mysql_select_db($dbbase, $link);
     
    			//Récupération de la variable mail
    			$mail = $_GET['EmailPersonne'];
     
    			//Requête SQL
    			$sql = "SELECT * FROM client WHERE MailClient = '$mail'";
     
    			//Exécution de la requête
    			$req = mysql_query($sql);
     
    			if(mysql_num_rows($req) > 0)
    				echo "J'ai des résultats";
    			else
    				echo "Pas de résultats";
     
    			//Affichage des résultats
    			if($result == mysql_fetch_object($req)){
    				$buffer = "<form name = 'modif_donnees' method='post' >" .
    					"<input type='hidden' name='id' value='<?php echo($id) ;?>" .
    					"Nom : <input type='text' name='tnom' value='<?php echo($result->NomClient);?>'>  <br>" .  
    					"Prénom : <input type='text' name='tprenom' value='<?php echo($result->PrenomClient);?>'><br>" .
    					"Adresse : <input type='text' name='tadresse' value='<?php echo($result->AdresseClient);?>'><br>" .
    					"Code postal : <input type='text' name='tcodepos' value='<?php echo($result->CodePostalClient);?>'><br>" .
    					"Ville : <input type='text' name='tville' value='<?php echo($result->VilleClient);?>'><br>" .
    					"Pays : <input type='text' name='tpays' value='<?php echo($result->PaysClient);?>'><br>" .
    					"Téléphone : <input type='text' name='ttel' value='<?php echo($result->TelClient);?>'><br>" .
    					"Adresse email : <input type='text' name='tmail' value='<?php echo($result->MailClient);?>'><br>" .
    					"Mot de passe : <input type='text' name='tpasswd' value='<?php echo($result->PasswordClient);?>'><br>" .
    					"<input type='submit' value='Sauvegarder les modifications' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"><br />" .
    					"</form>";
    				return $buffer;
    			}		  
     
    		}
     
    	}
    ?>

  2. #2
    Membre actif
    Homme Profil pro
    Programmeur Delphi
    Inscrit en
    Octobre 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmeur Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 183
    Points : 227
    Points
    227
    Par défaut
    Slt

    le soucis, si j'ai bien compris, c'est que tu ne parviens pas à récupérer l'adresse mail encodée par l'utilisateur pour pouvoir la chercher ds la base de données...

    Je te conseil, à l'authentification de l'utilisateur de sauvegarder l'email de l'utilisateur ds une variable de session
    Ainsi, durant tout le traitement, jusqu'au moment de supprimer les variables de sessions, tu pourras accéder à l'adresse mail de la personne authentifiée

    Création de la variable de session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <? session_start();
    $_SESSION['nomvariable'] = 'valeur email';
    ?>
    Accéder à la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?
    $val = $_SESSION['nomvariable'];
    ?>
    Suppression des variables de session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?
    $_SESSION = array();
    session_destroy();
    ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    J'ai fait ça et il m'affiche toujours le message suivant :

    Notice: Undefined index: session_mail in C:\Program Files\EasyPHP 2.0b1\www\projet_MS2006\plugins\modification\plugin_modification.php on line 15
    session_mail étant ma variable de session. J'ai rajouté ça dans plugin_modification.php à la place de "$mail = $_GET['EmailPersonne']"

  4. #4
    Membre actif
    Homme Profil pro
    Programmeur Delphi
    Inscrit en
    Octobre 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmeur Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 183
    Points : 227
    Points
    227
    Par défaut
    Affiche ton code en entier

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    plugin_connexion.php

    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
    <?php
    	class plugin_connexion implements IPlugin {
     
    		function render (&$html, $args){
     
    				$buffer = "<form name='connexion' method='post' >" .
    				"<br><br>" .
    				"adresse email : <input type='text' name='mail'><br><br>" .
    				"mot de passe : <input type='password' name='passwd'><br><br>" .
    				"<input type='submit' value='Connexion client'/><br />" .
    				"<br><br>" .
    				"<b>Administrateur</b>" .
    				"<input type='password' name='tpassadmin'><br>" .
    				"<input type='submit' value='Connexion admin' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"><br />" .
    				"</form>";
     
    				if(isset($_POST['mail']) && (isset($_POST['passwd']))){ //les informations ont été envoyées
    					$_SESSION['session_mail'] = $_POST['mail'];
    					$mail = $_SESSION['session_mail'];
    					echo "$mail";
    					$mail = $_POST['mail']; //parsing du mail
    					$passwd = $_POST['passwd']; //parsing du mot de passe
    					if((strlen($mail) != 0) && (strlen($passwd) != 0)){
    						$sql = "SELECT * FROM client WHERE MailClient = '".$mail."' and PasswordClient = '".$passwd."'";
    						$req = mysql_query($sql);
    						if(mysql_num_rows($req)) { //s'il existe des résultats à la requête
    							//session_start();
    							$buffer2 = "Vous êtes correctement identifié.<br /><br />";
    							$buffer2 .= "<a href=index.php?id=6&mail='$mail'>Cliquez ici pour modifier vos données.</a><br /><br />";
    							$buffer2 .= "<a href=index.php?id=0>Déconnexion</a><br /><br />";
    							$buffer = $buffer2;
    						}
    						else {
    							$buffer3 = "Vous n'êtes pas encore inscrit<br /><br />";
    							$buffer3 .= '<a href=index.php?page=0>Retour</a><be /><br />';
    							$buffer = $buffer3;
    						}	
    					}
    					else {
    						$buffer4 = "Vous n'avez pas saisi votre mot de passe ou votre email.<br /><br />";
    						$buffer = $buffer4;
    					}
    				}
     
     
    			return $buffer;
     
    		}
    	}
    ?>
    plugin_modification.php

    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
    <?php
    	class plugin_modification implements IPlugin {
     
    		function render (&$html, $args){
     
    			//Connexion SQL
    			$dbhote = 'localhost';
    			$dbuser = 'root';
    			$dbpass = '';
    			$dbbase = 'ms2006';
    			$link = mysql_connect($dbhote, $dbuser, $dbpass) or die("Impossible de se connecter : " . mysql_error());
    			mysql_select_db($dbbase, $link);
     
    			//Récupération de la variable mail
    			$mail = $_SESSION['session_mail'];
     
    			//Requête SQL
    			$sql = "SELECT * FROM client WHERE MailClient = '$mail'";
     
    			//Exécution de la requête
    			$req = mysql_query($sql);
     
    			if(mysql_num_rows($req) > 0)
    				echo "J'ai des résultats";
    			else
    				echo "Pas de résultats";
     
    			//Affichage des résultats
    			if($result == mysql_fetch_object($req)){
    				$buffer = "<form name = 'modif_donnees' method='post' >" .
    					"<input type='hidden' name='id' value='<?php echo($id) ;?>" .
    					"Nom : <input type='text' name='tnom' value='<?php echo($result->NomClient);?>'>  <br>" .  
    					"Prénom : <input type='text' name='tprenom' value='<?php echo($result->PrenomClient);?>'><br>" .
    					"Adresse : <input type='text' name='tadresse' value='<?php echo($result->AdresseClient);?>'><br>" .
    					"Code postal : <input type='text' name='tcodepos' value='<?php echo($result->CodePostalClient);?>'><br>" .
    					"Ville : <input type='text' name='tville' value='<?php echo($result->VilleClient);?>'><br>" .
    					"Pays : <input type='text' name='tpays' value='<?php echo($result->PaysClient);?>'><br>" .
    					"Téléphone : <input type='text' name='ttel' value='<?php echo($result->TelClient);?>'><br>" .
    					"Adresse email : <input type='text' name='tmail' value='<?php echo($result->MailClient);?>'><br>" .
    					"Mot de passe : <input type='text' name='tpasswd' value='<?php echo($result->PasswordClient);?>'><br>" .
    					"<input type='submit' value='Sauvegarder les modifications' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"><br />" .
    					"</form>";
     
    				return $buffer;
    			}		
     
    		}
     
    	}
    ?>
    Je confirme qu'il récupère bien mon adresse mail, mais j'ai maintenant des soucis avec la variable $result. Il me dit :
    Notice: Undefined variable: result in C:\Program Files\EasyPHP 2.0b1\www\projet_MS2006\plugins\modification\plugin_modification.php on line 30

  6. #6
    Membre actif
    Homme Profil pro
    Programmeur Delphi
    Inscrit en
    Octobre 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmeur Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 183
    Points : 227
    Points
    227
    Par défaut
    N'oublie pas ds ton code le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <? session_start();  ?>
    pour parcourir un "SELECT"
    il faut utiliser "mysql_fetch_array($result)"

    exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $ssql = "SELECT * FROM nomTable";
    $resultat = mysql_query($ssql);
    $nlignes = mysql_num_rows($resultat);
    if ($nlignes > 0)
    {
      for ($i=0 ; i<$nlignes ; $i++)
      {
        $ligne = mysql_fetch_array($resultat);
        $iid = $ligne[0];
        $snom = $ligne[1];
      }
    }
    tu gères les résultats comme si c'était un tableau ($ligne)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Mon session_start se trouve dans ma page index.php . J'ai modifié mon code et il m'indique, au lancement de mon navigateur, pour seule erreur "Undefined index session_mail in plugin_modification.php line 15". Ensuite, quand je me connecte, il affiche toujours "Undefined variable $result in plugin_modification.php line 29"

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Problème résolu Merci pour ton aide, jaduta !!!

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

Discussions similaires

  1. afficher les données
    Par fadwa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/05/2006, 18h32
  2. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 14h51
  3. [Excel] Comment afficher les données d'un fichier Excel (PHP)
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/05/2006, 16h01
  4. Réponses: 6
    Dernier message: 06/04/2006, 21h52
  5. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 16h53

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