[PHP] Problème, bouton profil ne fonctionne pas bien

Fermé
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016 - 4 mai 2016 à 15:57
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 9 mai 2016 à 08:56
Bonjour,

J'ai un espace membre sur mon site avec un profil. Donc pour y accéder je veux mettre un bouton "Profil" pour y accéder. Ce bouton je veux le mettre dans une div et j'y arrive sans problème. Mais je veux aussi que lorsque l'utilisateur n'est pas connecté ce bouton ne s'affiche pas mais que quand celui-ci l'est, le bouton s'affiche. Ca je sais le faire. Mais le problème c'est le lien dans le
 <a href></a> 


profil.php?id=

C'est le id qui me pose problème. En effet quand je met ce lien dans le a href:
 profil.php?id=<?php echo $_SESSION['id']; ?> 


L'id est bon mais que sur certaines pages ! Par exemple je suis l'user 1, mon id est de 1. Donc quand je clique sur le bouton Profil dans la page connexion.php ça m'emmène bien a mon profil mais quand je suis sur index.php et que je clique sur le même (exactement le même) bouton, ça m'amène sur profil.php?id=

Merci d'avance à ceux qui auront l'amabilité de m'aider ^^
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
4 mai 2016 à 16:19
Salut,

Un oubli d'appel de session_start() au début de ton script ?

Bonne journée,
0
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
4 mai 2016 à 16:25
Salut, non j'y ai pensé également mais le
session_start()

est présent.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
4 mai 2016 à 16:35
Les données en session sont elles modifiées entre les deux pages ?

Tu peux afficher le contenu du tableau $_SESSION juste après l'appel de session_start() comme ceci :
session_start();
var_dump($_SESSION);

-> les données affichées via ce code sont elles correctes ?

Peux t-on voir un extrait de ton code sinon ?
0
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
Modifié par MrLeBeignet le 4/05/2016 à 16:46
Quand je rajoute
var_dump($_SESSION);

Cela m'affiche comme "texte":
array (size=3)
  'id' => string '1' (length=1)
  'pseudo' => string 'MrLeBeignet' (length=11)
  'mail' => string '******.***@*******.fr' (length=21)


Par la suite j'ai essayé de remplacer $_SESSION par $userinfo qui est une variable que j'ai mise dans mon code. Le résultat est exactement le même: ça marche dans connexion.php mais pas dans index.php.

Voilà le PHP de mon module de connexion:
<?php
session_start();
require ('bdd.php');

if(isset($_POST['formconnexion']))
{
 $mailconnect = htmlspecialchars($_POST['mailconnect']);
 $mdpconnect = sha1($_POST['mdpconnect']);
 if(!empty($mailconnect) AND !empty($mdpconnect))
 {
  $requser = $bdd->prepare("SELECT * FROM membres WHERE mail = ? AND motdepasse = ?");
  $requser->execute(array($mailconnect, $mdpconnect));
  $userexist = $requser->rowCount();
  if($userexist == 1)
  {
   $userinfo = $requser->fetch();
   $_SESSION['id'] = $userinfo['id'];
   $_SESSION['pseudo'] = $userinfo['pseudo'];
   $_SESSION['mail'] = $userinfo['mail'];
   header("Location: profil.php?id=".$_SESSION['id']);
  }
  else
  {
   $erreur = "Vos informations de connexions sont fausses ! Veuillez réessayer !";
  }
 }
 else
 {
  $erreur = "Tous les champs doivent être complétés !";
 }
}

?>
0
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016 > MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
4 mai 2016 à 16:43
Ah ! J'ai remarqué que quand je me connecte et que je vais dans index.php, le var_dump affiche le code précédent, et quand je ne suis pas connecté, il affiche:
array (size=0)
  empty
0
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
4 mai 2016 à 17:47
Désolé j'aime pas trop envoyer ce genre de message mais

UP s.v.p ;(
0
MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
4 mai 2016 à 20:06
Up....
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524 > MrLeBeignet Messages postés 19 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 31 mai 2016
9 mai 2016 à 08:56
Peux tu nous montrer le code de la page index.php où tu insère l'id du profil dans le href ?
0