TUTO SUR LE SITE - TEST PROBLEME
- Accueil
- Forum
- Programmation
- PHP
- TUTO SUR LE SITE - TEST PROBLEME
C_L Le 19 avril 2016 à 23:26 (Édité le 25 janvier 2019 à 17:50)
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 Le 19 avril 2016 à 23:42 (Édité le 1 janvier 1970 à 01:00)
C_L Le 19 avril 2016 à 23:48 (Édité le 19 avril 2016 à 23:49)
Ranarxhag Le 20 avril 2016 à 00:37 (Édité le 20 avril 2016 à 00:45)
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 Le 20 avril 2016 à 08:23 (Édité le 1 janvier 1970 à 01:00)
Ranarxhag Le 20 avril 2016 à 09:19 (Édité le 20 avril 2016 à 09:19)
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 Le 20 avril 2016 à 09:19 (Édité le 1 janvier 1970 à 01:00)
C_L Le 20 avril 2016 à 19:47 (Édité le 1 janvier 1970 à 01:00)
C_L Le 21 avril 2016 à 12:02 (Édité le 1 janvier 1970 à 01:00)
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 Le 21 avril 2016 à 12:52 (Édité le 21 avril 2016 à 12:53)
<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 Le 21 avril 2016 à 13:27 (Édité le 1 janvier 1970 à 01:00)
<a href="<?php echo ROOT_PATH.'/10.RECETTE/unerecette.php?id='.$_GET['id']; ?>
C_L Le 21 avril 2016 à 13:29 (Édité le 1 janvier 1970 à 01:00)
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 Le 21 avril 2016 à 20:27 (Édité le 1 janvier 1970 à 01:00)
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