lient avec GET

Petit nouveau ! | 5 Messages

12 sept. 2011, 11:11

Bonjour a tous,

Je débute en php, je crée mon site (enfin j'essai) j'ai donc une zone inscription/connexion/déconnexion qui fonctionne bien.
La je voudrais faire une zone "profil" pour que vous le savez le membre puisse modifier son profil.

Seulement voila je veux faire un lien dans mon menu intitulé "profil" mais je ne sais pas comment le faire avec $_GET['id] ? Si oui comment le formuler ? car sa me renvoi soit des messages d'erreur soi rien du tout...

Je vous remercie d'avance

ViPHP
ViPHP | 2577 Messages

12 sept. 2011, 11:27

<a href="toto.php?id=12345">lien</a>
et dans toto.php, tu peux traiter $_GET['id']

Par contre il faut vérifier que $_GET['id') est défini (fonction isset()), c'est à dire que quelqu'un n'a pas mis "toto.php" directement dans le navigateur. De même, il faut vérifier la valeur qui a pu être modifiée par l'internaute.

Petit nouveau ! | 5 Messages

12 sept. 2011, 12:06

Merci pour ta réponse donc si j'ai bien compris ce n'est pas dans mon lien même que je me sert de GET ?

Car moi en bonne babache que je suis j'ai mis cela dans mon nemu
<?php if (isset ($_GET['id'])) { ?>
        <ul>
			<li><a href="index.php">Accueil</a></li>
		</ul>
        
<?php } else { ?>
        <ul>
		<?php($_SESSION['id']); ?>
			<li><a href="index.php?module=membres&action=afficher_profil">Profil</a></li>
		</ul>
et lorsque je clic sur profil j'ai mon message d'errreur comme quoi le profil n'est pa exsitant

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

12 sept. 2011, 14:08

Logiquement, si ton utilisateur est passé par une phase d'inscription / connexion, cela veut généralement dire que tu as les informations de l'utilisateur connecté stockées en session (tout du moins son ID). A partir de là, pas besoin de mettre cette valeur dans tes liens, il suffit dans ta page profil, d'aller la chercher dans ta session (ce qui accessoirement évite aussi aux petits malin de changer l'identifiant du lien pour ouvrir le profil de quelqu'un d'autre) :)

En gros, tu aurais un lien "Editer mon profil" qui pointe vers ta page "profil.php" (ou autre), et dans profil.php, quand tu as besoin de récupérer l'identifiant de l'utilisateur pour charger ses informations, tu fais appel à ta variable $_SESSION['id'] qui je suppose contient l'id de l'utilisateur authentifié :)

Pour l'utilisation de $_GET (et $_POST), c'est effectivement pour récupérer une information qui a été envoyée par la page précédente (via l'url si c'est du get, ou un formulaire si c'est du post). Mais cela implique donc d'avoir fait apparaître l'identifiant dans l'url du lien cliqué par l'utilisateur...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 5 Messages

12 sept. 2011, 14:25

Merci pour ta réponse ! Voyons voir si j'ai bien tout compris....

mon lien reste donc "basique"

<li><a href="index.php?module=membres&action=afficher_profil">Profil</a></li>
Juste ça c'est cela ?

C'est dans "afficher_profil" que je dois faire appel a $_SESSION['id'] (oui tu suppose bien c'est l'id de l'utilisateur authentifié^^)c'est toujours ça ?
et dans "modifier_profil" également ? c'est cela ??

Pour $_GET ce n'est doncs pas une bonne idée de le mettre dans lien si je comprend bien^^

Petit nouveau ! | 5 Messages

12 sept. 2011, 15:02

Merci aus personnes qui m'on aider ! j'arrive a afficher le profil du membre me reste a bosser sur le lien permettant sa modification et donc les modification !