Probleme pour le membre profil

Ce topic a été résolu
karim603

karim603 Le 18 avril 2017 à 00:24 (Édité le 25 janvier 2019 à 17:53)

Bonjour, tout d'abord j'ai suivi les trois tutos l'espace membre de primfx tout fonctionne bien mais le membre profil il a un problem. Je m'inscris OK 
je me connecte OK ça me redirige vers le membre profil OK mais il n'y a rien tout est blanc mais le html est vide j'ai verifié d'etre dans le bon fichier et c'est bien celui la.
Zbuu

Zbuu Le 18 avril 2017 à 04:19

Bonjour, 

Tu pourrais nous montré ton code de ta page profil ça nous permettrai de voir si il y a une erreur parce que "tout est blanc" ça nous aide pas vraiment 😄 

Je n'ai pas regarder le tutoriel en question mais je suppose que pour accéder au profil d'un utilisateur tu dois avoir une url du genre : profil.php?id=ID-DE-LUTILISATEUR ? Si oui tu accèdes bien à ta page en passant les bon paramètres ? 
karim603

karim603 Le 18 avril 2017 à 11:01 (Édité le 18 avril 2017 à 11:10)

Tout d'abord quand ça me redirige dans membre profil sa me met ça dans l'url rien de l'id: localhost/chat/membre-profil.php

Voici le code pour la connexion : 
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
if(isset($_POST['formconnexion'])) {
   
   $mailconnect = htmlspecialchars($_POST['mailconnect']);
   $mdpconnect = sha1($_POST['mdpconnect']);
   
   if(!empty($mailconnect) AND !empty($mdpconnect)) 
   {
      $requser = $bdd->prepare("SELECT * FROM membre 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: membre-profil.php');
      } 
      else 
      {
         $erreur = "Mauvais mail ou mot de passe !";
      }
      
      } 
      else 
      {
         $erreur = "Tous les champs doivent être complétés !";
      }
   }
   ?>
<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Connexion</h2>
         <br /><br />
         <form method="POST" action="">
            <input type="email" name="mailconnect" placeholder="Mail" />
            <input type="password" name="mdpconnect" placeholder="Mot de passe" />
            <br /><br />
            <input type="submit" name="formconnexion" value="Se connecter !" />
         </form>
         <?php
         if(isset($erreur)) {
            echo '<font color="red">'.$erreur."</font>";
         }
         ?>
      </div>
   </body>
</html>
et voici e code de membre profil :
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
if(isset($_GET['id']) AND $_GET['id'] > 0) {
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
         ?>
         <br />
         <a href="editionprofil.php">Editer mon profil</a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>
<?php   
}
?>

steve225

steve225 Le 18 avril 2017 à 11:34

 Bonjour Karim je pense que l'erreur vient d'ici :

header('Location: membre-profil.php');     ((Montre moi le nom et le code de ton espace profil))
Balatharas

Balatharas Le 18 avril 2017 à 12:52

Bah en même temps tu met pas d'id dans l'url alors la page n'affiche rien parce que tu as une condition if(isset($_GET['id']))
Zbuu

Zbuu Le 18 avril 2017 à 12:54

Tout d'abord quand ça me redirige dans membre profil sa me met ça dans l'url rien de l'id: localhost/chat/membre-profil.php 
C'est de la que viens ton problème, tu ne passe aucun paramêtre alors que dans ton profil tu demandes à ce qu'un id existe et soit supérieur a 0. 

Alors dans ta page connexion modifie : 
header('Location: membre-profil.php');
Par : 
header('Location: membre-profil.php?id=' . $_SESSION['id']);
karim603

karim603 Le 18 avril 2017 à 16:39

Merci pour vos réponses ;)
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte