TUTO SUR LE SITE - TEST PROBLEME

Suivre ce topic
Ce topic est suivi par : C_L
C_L

C_L Le 19 avril 2016 à 23:26 (Édité le 25 janvier 2019 à 17:50)

Bonsoir,

J'ai testé le tuto sur ce site : Créer un espace membre !
C'est excellent, c'est une base pour commencer, pour comprendre facilement le code. Merci 😉

J'ai testé quelque chose d'autre d'assez 'simple' mais cela ne fonctionne pas. :/
Quand nous sommes à la page profil (je suis connecté, les infos sont bien affiché) en bas j'ai mis un autre lien qui est 'test.php'. C'est exactement la même page du profil c'est juste pour voir la manipulation des données... et là ... page blanche :o je ne comprend pas. Dans ma barre de navigation il y a pas le nom de la page test mais rien.

voici le code de 'profil.php' :
<?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="test.php"> Test </a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>
<?php   
}
?> 
et voici le code 'test.php'

<?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="test.php">Test</a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>

<?php   
}
?>

Les autres fichiers sont resté tel quel. J'imagine que cela ne doit pas être grand chose, surement une direction de page.. je ne sais pas ???
En attente d'une réponse merci.
C_L
Malib

Malib Le 19 avril 2016 à 23:42

Salut, les deux fichiers sont dans le même dossier? ou tout les deux à la racine?
C_L

C_L Le 19 avril 2016 à 23:48 (Édité le 19 avril 2016 à 23:49)

Dans le même dossier qui est la racine lol
Ranarxhag

Ranarxhag Le 20 avril 2016 à 00:37 (Édité le 20 avril 2016 à 00:45)

Bah.. Où sont les paramètres dans l'URL ?

Sur la première page, tu as pensé à passer les paramètres dans l'URL mais ensuite, tu crée un lien qui redirige bêtement vers test.php. Et puisque ton contenu ne s'affiche que lorsque $_GET['id'] existe ou est supérieur à 0, rien ne s'affiche. 😀

Petite erreur de débutant, ça arrive tout le temps ! 😀 

Correction : test.php?id=4 (chiffre choisi au hasard)

Ranarxhag ;) 
C_L

C_L Le 20 avril 2016 à 08:23

C'est à dire, je mentionne ceci dans la page "test.php"  ? peut tu me mettre dans le code pour que je puisse comprendre s'il te plait 😀
Ranarxhag

Ranarxhag Le 20 avril 2016 à 09:19 (Édité le 20 avril 2016 à 09:19)

Alors.. je vais pas juste me contenter de mettre dans le code. Faut quand-même que tu comprennes ce que tu fais. 😀

Tout d'abord, commence par regarder ton URL quand tu es dans ta page profil.php. Normalement, ça doit ressembler à ça : www.domain.com/profil.php?id=1 (chiffre choisi au hasard)

Si tu as bien suivi le tutoriel de PrimFX, tu te doutes que sur ta page profil.php, si tu as les informations concernant l'utilisateur, c'est parce que tu les a transmis via la methode GET (transmission de données par l'URL).

Seulement, toi, quand tu fais ton lien vers ta page test.php, tu ne renvoies plus ces paramètres. Du coup, page blanche !

Donc pour ce qui est du code, voici : (j'ai commenté à la ligne où ça change)

<?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="test.php?id=<?php echo $_GET['id']; ?>"> Test </a> // ICI, CA CHANGE !
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>
<?php   
}
?> 
Je suis pas du genre balèze pour faire comprendre à quelqu'un qui ne comprend pas donc j'espère que tu auras... compris. 😀 

Amicalement,
Ranarxhag
Dwardower

Dwardower Le 20 avril 2016 à 09:19

J'arrive sur PC car je crois avoir vu des erreurs dans ton code ^^
C_L

C_L Le 20 avril 2016 à 19:47

MERCI BEAUCOUP CELA FONCTIONNE MAINTENANT 😄 😄 !!!!
C_L

C_L Le 21 avril 2016 à 12:02

Remarque assez bizarre ... =S =S
Quand j'utilise le navigateur Opéra , je ne vois pas mon Id s'afficher dans l'URL. En revanche pour Mozilla et Internet Explorer ok  😉
Vous aurez une idée pourquoi ?
C_L

C_L Le 21 avril 2016 à 12:52 (Édité le 21 avril 2016 à 12:53)

Voilà j'ai un lien avec une image de cette façon  :
<a href="<?php echo ROOT_PATH.'/10.RECETTE/unerecette.php'; ?>" class="titre"> <img src="IMAGES/ajoutrecette.fw.png" alt="espaceperso" class="espaceperso" width="500px" height="80px"> 
J'aurais aimé l'écrire avec c'est paramètre en plus :
     <a href="nomdelapage.php?id=<?php echo $_GET['id']; ?>"> 
Comment ? merci : )
C_L

C_L Le 21 avril 2016 à 13:27

C'est bon j'ai trouvé : )
<a href="<?php echo ROOT_PATH.'/10.RECETTE/unerecette.php?id='.$_GET['id']; ?>
C_L

C_L Le 21 avril 2016 à 13:29

Un autre problème qui m’embête : / >>>>

Donc en fait j'ai crée un espace membre, la connexion se fait impeccable, j'arrive à une page de mon compte.
Mais par exemple si je clic sur l'acc' dans mon menu ou autre rubriques en haut , je suis déconnecté de ma session et donc il ne
reconnait plus les variables que j'ai mis sur le côté de mon site par exemple

alors qu'il y a bien session_start() sur ma page ..

C_L

C_L Le 21 avril 2016 à 20:27

Je précise :

Alors que j'ai bien mis une session_start() dans index.. mais peut être que cela vient des liens ..
J'ai des includ qui compose ma stucture internet, dont un includ pour ma barre de navigation ou figure toutes mes rubriques es-ce la dedans ? 
Je suis bloqué, en attente, merci ;-)
C_L

Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte