Récupérer le nom du connecter

Eléphant du PHP | 70 Messages

09 mars 2009, 10:27

Bonjour à tous, voici mon problème

Dans mon application, j'ai une page d'acceuil ou l'utilisateur doit saisir son N°d'employer afin de ce connecter. Une fois connecter, il arrive a une page menu qui lui offre donc divers choix pour divers fonctionnalités, dans une de c'est fonctionnalités, je souhaiterais récupérer le Nom de la l'utilisateur connecter, mais comment faire?

Avez-vous une idée?

Ps: c'est pas facil a expliquer donc si vous voulez plus de renseignement hesitez pas a me demander
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 254 Messages

09 mars 2009, 11:08

Salut,

Si le nom de ton employé est stocké en base de donnée et qu'il correspond au numéro qu'il a rentré pour se connecter alors oui c'est possible

Eléphant du PHP | 353 Messages

09 mars 2009, 11:11

bonjour.
A première vue, je dirais que tu dois avoir une base de donnée liée à ton site et que dans cette base de données se trouve une table listant les utilisateurs.

Il faut donc :
- Sauvegarder en session les identifiants que rentre l'utilisateur, si ce n'est pas déjà fait.
- te connecter à la base de données si ce n'est pas déjà fait.
- Faire une requête sur la table des utilisateurs en utilisant les identifiants renseignés par l'utilisateur lors de sa connexion
- Enregistrer le résultat de la requête dans une variable.
- Afficher le résultat (nom et prénom) là ou tu le veux sur ta page.

Ce n'est pas plus compliqué que cela :wink:

Eléphant du PHP | 70 Messages

09 mars 2009, 11:44

Tout d'abord merci furiouslol et yaug de me repondre,

Donc j'ai presque reussi a resoudre mon probleme, j'ai realiser toutes les etapes lister par yaug et tout fonctionne sauf pour laffichage ou il me renvoi un

Code : Tout sélectionner

ressourceid #4
, je sais que c'est une erreur banal mais j'arrive pas a la remplacer par le bon resultat rrrr....

voici ma requete

Code : Tout sélectionner

$declarant=$_SESSION['num_employe']; $sql = "SELECT Nom, Prenom FROM employer WHERE NumEmploye='$declarant'"; //Requete permettant de savoir si la valeur est dans la base de donnees $res = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 353 Messages

09 mars 2009, 11:56

Héhé.
En fait.;
Vu ton erreur je pense que tu récupère mal ton résultat.
Ton soucis est à mon avis que tu exploites directement ta variable $res.
Cette variable contient certe le résultat de ta requete, mais il n'est pas lisible directement.

Pour pouvoir lire le résultat de ta requête, il te faut faire comme ceci.
$sql = "ta requete";
$res = mysql_query($sql);
$resultat = mysql_fetch_assoc($res);

//$resultat['Nom'] contiendra le nom
//$resultat['Prenom'] contiendra le prénom

Eléphant du PHP | 70 Messages

09 mars 2009, 12:06

Merci Yaug t'as solution est la bonne et merci a toi oci furiouslol de m'avoir accorder un interet..

mais desormais j'ai un autre probleme, car l'enregistrement du contenu du formulaire ne s'effectue plus
il me met le message suivant

Code : Tout sélectionner

Cannot add or update a child row: a foreign key constraint fails (`incidents_editiques/incidents`, CONSTRAINT `fk_Employer` FOREIGN KEY (`NumEmploye`) REFERENCES `employer` (`NumEmploye`))
Voici mon code qui doit me permettre l'enregistrement
<?php
	require_once('../connexion.php');
	if ($db)
	{
		if(isset($_POST['enregistrer']))
		{
			//allocation des variables
			//$numFiche="";
			$LienFiche="";
			$dateicdt=$_POST['AnotherDate'];
				$date = preg_replace('/^(.{2})\/(.{2})\/(.{4})$/','$3-$2-$1', $dateicdt);
			$heuricdt=$_POST['heure_icdt'];
			$desicdt=$_POST['descrip_icdt'];
			$desresol="";
			$dateresol="";
			$heuresol="";
			$inter="";
			$observ=$_POST['observation'];
			$motifreouv="";
			$teamtrack="";
			$remarqueresp="";
			$majeur1=$_POST['choix'];
				if ($majeur1=="true")
				{
					$majeur="1";
				}
				elseif ($majeur1=="false")
				{
					$majeur="0";
				}
			$impactsocietaire=$_POST['choix2'];
			$matereiel=$_POST['lstmateriel'];
			$secteur=$_POST['lstSecteur'];
			$staticdt="OUV";
			$statuprod=$_POST['lstStatutProd'];
			$declarant=$_POST['declarant'];
			echo $_POST['declarant'];
				//Execution de la requete, cela me renvoi une ressource 
				$query="SELECT NumEmploye FROM employer WHERE Nom='".$declarant."';";  
				$rsc = mysql_query($query);   
				//Transformation de la ressource en résultat
				$result = mysql_fetch_assoc($rsc);  
				//Exploitation du résultat 
				$numemployer = $result['NumEmploye'];
			$prestataire=$_POST['lstPrestataire'];
				
			 
			$query="INSERT INTO incidents (`num_fiche`,`lien_fiche`,`date_icdt`,`heure_icdt`,`descrip_icdt`,`descrip_resol`,`date_resol`,`heure_resol`,`Intervenant`,`observation`,`motif_r_icdt`,`num_teamtrack`,`remarque_resp`,`icdt_majeur`, `ImpactSocietaire`,`CodeMateriel`,`CodeSecteur`,`CodeStatutIncident`,`CodeStatutProd`,`NumEmploye`,`CodePrestataire`)
			VALUES('','$LienFiche','$date','$heuricdt','$desicdt','$desresol','$dateresol','$heuresol','$inter','$observ','$motifreouv','$teamtrack','$remarqueresp','$majeur','$impactsocietaire','$matereiel', '$secteur','$staticdt','$statuprod','$numemployer','$prestataire')";
			$result= mysql_query($query) or die(mysql_error()); 
			include("IncidentsEnregistrer.html");
		}
		else
		{
			echo 'Aucunes données n\'est transmises au formulaire';
		}
	}
	else
	{
		'Problème à la connexion';
	}
?>
ok je viens de trouver le probleme, il venait du disabled

Code : Tout sélectionner

<td style="width: 33%"><font face="arial" color='#01796F'><center><b>Déclarant de l'incident :</b> <?php $declarant=$_SESSION['num_employe']; $sql = "SELECT Nom FROM employer WHERE NumEmploye='$declarant'"; $res = mysql_query($sql); $resultat = mysql_fetch_assoc($res); ?> <input type="text" name="declarant" style="width: 150px;" value="<?php echo $resultat['Nom'];?>" disabled></td>
donc maintenant l'enregistrement s'effectue bien mais comment faire pour que l'utilisateur ne puisse pas modifier ce champs sans utiliser le disabled?
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 mars 2009, 15:38

Un champ qui est désactivé n'est pas envoyé par le formulaire...

Tu peux utiliser l'attribut readonly pour restreindre l'accès en écriture... le mieux étant peut être de passer cette info dans un champ caché du formulaire ou encore de la garder en session de manière à ce que l'utilisateur ne puisse pas l'altérer :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 70 Messages

09 mars 2009, 15:58

Merci rylede ta réponse, car en effet il m'a suffit de changer mon disabled par le readonly.

merci
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!