[RESOLU] Affiche le dernier inscrit au lieu du profil du connecté

Eléphant du PHP | 386 Messages

04 déc. 2012, 21:46

Bonjour,

Dans mon espace membre, j'ai une page profil qui affiche avec $_GET['id'] le profil du membre que l'on souhaite visiter.
Donc l'url du profil serait : "http://www.monsite.fr/profil.php?id=1"
Jusque là pas de problème.

Le problème : Dès que l'url de la page profil.php est affichée comme ça : "http://www.monsite.fr/profil.php" sans l'id renseigné, la page affiche le dernier membre inscrit.
Comme si dans mon script php, j'ai demandé à ma page profil.php de m'afficher le profil du dernier membre inscrit si l'id n'est pas renseigné.

Merci d'avance pour votre aide :)

Voici le code de la page profil.php :
<?php
session_start();
require($_SERVER["DOCUMENT_ROOT"].'/include/connect.inc.php');

if (!isset($_SESSION['pseudo']))
{
	header('Location: ../login/');
}
require($_SERVER["DOCUMENT_ROOT"].'/include/function.inc.php');
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8">
	<?php
		if(isset($_GET['id']))
		{
		$sql = connect_sql();
		$id = intval($_GET['id']);
		$pseudo_membre = $_SESSION['pseudo'];
		$requete =  mysql_query('SELECT * FROM wa_communaute WHERE id="'.$id.'"');
		if(mysql_num_rows($requete)>0) {
			$result = mysql_fetch_array ($requete);
				$nom = $result['nom'];
				$prenom = $result['prenom'];
	?>
	<title><?php echo htmlentities(ucfirst($prenom)); ?> <?php echo htmlentities(ucfirst($nom)); ?> | Web Astronomie</title>
	<?php } mysql_close(); } ?>
	<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" />
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/head.inc.php'); ?>
</head>
<body>
	<div id="header">
		<div class="container">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/header.inc.php'); ?>
		</div>
	</div>
	<div id="content" class="clearfix">
		<div class="container">
			<div id="leftCol" class="fl">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/sidebar-left.inc.php'); ?>
			</div>
			<div id="contentCol">
				<div id="rightCol" class="fr">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/sidebar-right.inc.php'); ?>
				</div>
				<div id="contentArea" class="fr">
					<div class="bloc">
						<div class="title">
							<div class="title-left">
								<div class="title-right">
									<div class="title-center">
										<?php if($_SESSION['id'] == $_GET['id']) { 
										echo '<h1>Mon profil</h1>'; }
										else {
										echo '<h1>Profil de '.htmlentities(ucfirst($prenom)).' '.htmlentities(ucfirst($nom)).'</h1>'; }
										?>
									</div>
								</div>
							</div>
						</div>
						<div class="bloc-content clearfix">
							<?php if($_SESSION['id'] == $_GET['id']) {
								if (file_exists($filename)) {
									echo'<img src="../images/upload/'.$_SESSION['id'].'.png" class="avatar" width="120" height="120" alt="" />';
								} else {
									echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
								} } else { if (file_exists($filename)) {
									echo'<img src="../images/upload/'.$id.'.png" class="avatar" width="120" height="120" alt="" />';
								} else {
									echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
								}
							}
							?>
							<?php if($_GET['id'] == 0) {
							
							}
							?>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
	<div id="footer">
		<div class="container">
		
		</div>
	</div>
</body>
</html>
J'ai essayé avec ce code :
<?php if($_GET['id'] == 0) { } ?>
Sans succès :(

Eléphant du PHP | 111 Messages

04 déc. 2012, 21:52

test si ta variable $_GET['id'] n'est pas vide, si c'est le cas tu renvoie l'utilisateur sur ta page index.

Eléphant du PHP | 386 Messages

04 déc. 2012, 22:16

J'ai fais ce que tu m'a dit, voici le code :
<?php
session_start();
if(isset($_GET['id'])) {
require($_SERVER["DOCUMENT_ROOT"].'/include/connect.inc.php');

if (!isset($_SESSION['pseudo']))
{
	header('Location: ../login/');
}
require($_SERVER["DOCUMENT_ROOT"].'/include/function.inc.php');
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8">
	<?php
		if(isset($_GET['id']))
		{
		$sql = connect_sql();
		$id = intval($_GET['id']);
		$pseudo_membre = $_SESSION['pseudo'];
		$requete =  mysql_query('SELECT * FROM wa_communaute WHERE id="'.$id.'"');
		if(mysql_num_rows($requete)>0) {
			$result = mysql_fetch_array ($requete);
				$nom = $result['nom'];
				$prenom = $result['prenom'];
	?>
	<title><?php echo htmlentities(ucfirst($prenom)); ?> <?php echo htmlentities(ucfirst($nom)); ?> | Web Astronomie</title>
	<?php } mysql_close(); } ?>
	<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" />
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/head.inc.php'); ?>
</head>
<body>
	<div id="header">
		<div class="container">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/header.inc.php'); ?>
		</div>
	</div>
	<div id="content" class="clearfix">
		<div class="container">
			<div id="leftCol" class="fl">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/sidebar-left.inc.php'); ?>
			</div>
			<div id="contentCol">
				<div id="rightCol" class="fr">
<?php include($_SERVER["DOCUMENT_ROOT"].'/include/sidebar-right.inc.php'); ?>
				</div>
				<div id="contentArea" class="fr">
					<div class="bloc">
						<div class="title">
							<div class="title-left">
								<div class="title-right">
									<div class="title-center">
										<?php if($_SESSION['id'] == $_GET['id']) { 
										echo '<h1>Mon profil</h1>'; }
										else {
										echo '<h1>Profil de '.htmlentities(ucfirst($prenom)).' '.htmlentities(ucfirst($nom)).'</h1>'; }
										?>
									</div>
								</div>
							</div>
						</div>
						<div class="bloc-content clearfix">
							<?php if($_SESSION['id'] == $_GET['id']) {
								if (file_exists($filename)) {
									echo'<img src="../images/upload/'.$_SESSION['id'].'.png" class="avatar" width="120" height="120" alt="" />';
								} else {
									echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
								} } else { if (file_exists($filename)) {
									echo'<img src="../images/upload/'.$id.'.png" class="avatar" width="120" height="120" alt="" />';
								} else {
									echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
								}
							}
							?>
							<?php } else { header('Location: index.php'); } ?>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
	<div id="footer">
		<div class="container">
		
		</div>
	</div>
</body>
</html>
Maintenant le problème c'est que dès qu'on visite le profil d'un membre même de notre profil, il y a la photo de profil du dernier inscrit :(

Eléphant du PHP | 111 Messages

05 déc. 2012, 10:40

remplace :
if($_SESSION['id'] == $_GET['id'])
par
                                                       <?php if(isset($id)) {
                                                                if (file_exists($filename)) {
                                                                        echo'<img src="../images/upload/'.$_SESSION['id'].'.png" class="avatar" width="120" height="120" alt="" />';
                                                                } else {
                                                                        echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
                                                                } } else { if (file_exists($filename)) {
                                                                        echo'<img src="../images/upload/'.$id.'.png" class="avatar" width="120" height="120" alt="" />';
                                                                } else {
                                                                        echo'<img src="'.$adresse_image.'" class="avatar" width="120" height="120" alt="" />';
                                                                }
                                                        }
                                                        ?>

Eléphant du PHP | 386 Messages

06 déc. 2012, 02:57

Merci ca fonctionne