[RESOLU] Infos d'un autre membre au lieu du membre connecté

Eléphant du PHP | 386 Messages

26 déc. 2012, 06:15

Bonjour,

Dans ma page sécurisée, j'affiche le nom, le prénom, l'id, le pseudo et l'email du membre connecté.
Le problème c'est que ça affiche l'id, le nom, le prénom d'un autre membre inscrit.

Je sais d'où vient le problème : c'est un script d'affichage des infos de tous les membres inscrits (avatar, nom, prénom, id), mais je ne sais pas comment le corrigé :cry:

Infos : le script est placé dans un include qui est affiché dans la page principale sécurisée

Voici le code du script :
<?php
										$sql = connect_sql();
										$query = mysql_query('SELECT * FROM wa_communaute');
										if ($query) {
										while ($resultat = mysql_fetch_array ($query)) {
										$prenom = $resultat['prenom'];
										$nom = $resultat['nom'];
										$id = $resultat['id'];
										$sexe = $resultat['sexe'];
										$adresse_image = $sexe ==1 ? ''.$_SERVER["DOCUMENT_ROOT"].'/img/upload/homme.png' : ''.$_SERVER["DOCUMENT_ROOT"].'/img/upload/femme.png';
										$filename = ''.$_SERVER["DOCUMENT_ROOT"].'/img/upload/'.$id.'-mini.png';
										if (file_exists($filename)) {
										?>
											
											<td>
												<a href="home/profil.php?id=<?php echo $id; ?>#!<?php echo htmlentities(ucfirst($prenom)); ?><?php echo htmlentities(ucfirst($nom)); ?>" class="tooltip">
												<img src="<?php echo $url_site; ?>/img/upload/<?php echo $id; ?>-mini.png" width="50" height="50" alt="" />
												<span class="tooltip"><span class="arrow"></span><?php echo htmlentities(ucfirst($prenom)); ?> <?php echo htmlentities(ucfirst($nom)); ?></span>
												</a>
											</td>
											<?php } else { ?>
												
											<td>
												<a href="home/profil.php?id=<?php echo $id; ?>#!<?php echo htmlentities(ucfirst($prenom)); ?><?php echo htmlentities(ucfirst($nom)); ?>" class="tooltip">
												<img src="<?php echo $adresse_image; ?>" width="50" height="50" alt="" />
												<span class="tooltip"><span class="arrow"></span><?php echo htmlentities(ucfirst($prenom)); ?> <?php echo htmlentities(ucfirst($nom)); ?></span>
												</a>
											</td>
											<?php } } mysql_close(); } ?>
Et le code de la requête de la page sécurisée :
<?php
session_start();
require('include/function.inc.php');
if (!isset($_SESSION['pseudo']))
{
	header('Location: '.$url_site.'/index.php');
}
$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM wa_communaute WHERE pseudo='".$pseudo_membre."'"); 
$result = mysql_fetch_array ($requete);

$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$nom = $result['nom'];
$prenom = $result['prenom'];
$sexe = $result['sexe'];
$temps = $result['temps'];
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8">
	<title>Web Astronomie</title>
	<meta name="description" content="Web Astronomie vous permet de publier vos photos, vos actualités, vos articles avec vos amis et les internautes du site. Inscrivez-vous dès maintenant !" />
	<meta name="keywords" content="Web Astronomie, Web-astronomie, Astronomie, Web-astro, Webastro, Web, Communauté, Réseau, Social" />
	<meta name="google-site-verification" content="MuLDj47hIOGv8WGogFlITztArNdmoZTsgQd1NUpMz7g" />
	<base href="http://www.web-astronomie.fr/">
	<link rel="shortcut icon" href="img/favicon.ico" />
	<link type="text/css" rel="stylesheet" href="css/global.css" />
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript" src="js/elastic.js"></script>
	<script type="text/javascript" src="js/fadefix.js"></script>
	<script type="text/javascript" src="js/global.js"></script>
</head>
<body>
	<div id="header">
		<div class="container">
<?php include('../include/header.inc.php'); ?>
		</div>
	</div>
	<div id="nav">
		<div class="container">
<?php include('../include/nav.inc.php'); ?>
		</div>
	</div>
	<div id="content">
		<div class="container">
			<div id="contentCol">
				<div id="rightCol" class="float-r">
<?php include('../include/sidebar-right.inc.php'); ?>
				</div>
				<div id="contentArea" class="float-l">
					<?php echo $pseudo; ?>
					<?php echo $id; ?>
					<?php echo $nom; ?>
					<?php echo $prenom; ?>
					<?php echo $mail; ?>
				</div>
			</div>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div class="container">
<?php include('../include/footer.inc.php'); ?>
		</div>
	</div>
</body>
</html>
Merci d'avance pour votre aide

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

09 janv. 2013, 12:12

Bonjour,

Parmi les bonnes habitudes, on met toujours une instruction exit() après le redirecteur header() car après toute redirection le programme doit se terminer net. Si tu n'arrête pas le programme après header, php continue à traiter la suite du programme et des fois comme dans ton cas certaines surprises inattendue peuvent en résulter (surtout si t'as des instructions qui modifient les contenus des données de session).

Donc la première correction serait:
if (!isset($_SESSION['pseudo']))
{
        header('Location: '.$url_site.'/index.php'); exit();
}
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène