session = pseudo

Eléphant du PHP | 299 Messages

23 mai 2009, 20:42

Salut les gens, je voyais pas trop quoi mettre de court en titre.


J' ai un site ue je suis en train de faire (sans blague? :D ) etpour l' instant tout le systeme d ' identification que j' ai fait fonctionne bien.

J' ai créé une page membre avec le detail de chaque membre.

J' aurai voulu que si je suis connecté et que je vais sur la page membre me concernant profil.php?pseudo=moimeme, je puisse avoir un menu a gauche pour modifier mes infos. En casq contraire, une annonce google verticale apparait.

J' ai donc pour commencer fait ceci:
							<?php
if(isset($_SESSION['pseudo']))
{


                         echo '<table width="180" border="0" cellspacing="0" cellpadding="0"><tr><td height="20" background="images/moncompte/mh.gif">&nbsp;</td></tr><tr><td height="141" valign="top" background="images/moncompte/mm.gif"><table width="170" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td>Mes infos<br />Mon avatar</td></tr></table></td></tr><tr><td height="20" background="images/moncompte/mb.gif">&nbsp;</td></tr></table>';
}
else
{

   echo '<script type="text/javascript"> google_ad_client = "pub-2988340172457918"; google_ad_slot = "6212945609"; google_ad_width = 160; google_ad_height = 600; </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>';
}
?>
Alors si je suis connecté bien sur je vois le menu a la place de la pub gogole.

Le probleme? Si je vais sur la page de tous les membres je peux accéder au menu.

Normal me direz vous puisque pour avoir le menu je lui ai demandé d' avoir une $SESSION ouverte ce qui est le cas, mais pas de lui préciser que si $SESSION ouverte + pagemembre=moimeme alors j' ai le menu .

Ce que je pense vous avez compris, si l' utilisateur est connecté, il ne puisse accéder au menu que par sa page membre et pas par celle des autres.

Alors j' ai pensé a un truc du genre:
if(isset($_SESSION['pseudo'])) == pseudodelapagemembreaffichée

Le hic est que je vois pas trop comment faire puisque ma page est du genre profil.php?pseudo=moimeme.

Pourriez vous me guider un petit peu svp?

Merci d' avance :roll:



edit:

j' ai bien tenté un
if(isset($_SESSION['pseudo']) == ($donnees[pseudo]))
sachant que $donnees[pseudo] vient de plus haut dans ma page et qu' il me sert a avoir la liste des membres enregistrés:
						$donnees[pseudo]=$_GET['pseudo']; 
						$reponses = mysql_query("SELECT * FROM connexion WHERE pseudo='". $donnees[pseudo] ."'");

						while ($donnees = mysql_fetch_array($reponses) )

Mais du coup je n' ai plus que la pub google. connecté ou pas :(


reédit: personne n' aurait une idée ou un conseil?

ViPHP
AB
ViPHP | 5818 Messages

23 mai 2009, 22:23

J'ai pas tout lu en détail mais sur le principe quand on veut afficher ou donner des droits différents suivant l'utilisateur connecté, on crée une colonne "droits" ou "statu" dans la table qui enregistre les membres. En fonction de ce que tu récupère dans cette colonne tu peux faire des traitements différents.

Eléphant du PHP | 299 Messages

23 mai 2009, 22:50

Non non ce n' est pas une histoire de rang auquel j' avais affaire, il s' agit d' un espace membre, donc j' ai la liste des membres affichés, mais quand je consulte la mienne , je peux voir le menu de modif des infos me concernant.


J' ai trouvé la solution, si ca peut servir un jour a un autre:


remplacer la premiere ligne de mon code par:

if(isset($_SESSION['pseudo']) && $_SESSION['pseudo'] == $_GET['pseudo'])
Qui se traduirait par:

le visiteur peut voir le menu si "1 - il est connecté" et "2 - et si son pseudo correspond a la fiche membre qu' il est en train de visionner".


Affaire reglée, merci les gens quand meme et bonne soirée :D