Gérer une connexion $_SESSION - PHP - Programmation
Marsh Posté le 20-04-2018 à 16:24:57
tu as placé un session_start() au début de ton code ?
Marsh Posté le 20-04-2018 à 18:42:58
Lu,
à noter que c'est <?php et non <php?
+1 pour le session_start, sans oublier qu'il devrait être placé avant la moindre sortie (avant tout code HTML, echo, etc).
Tant qu'on y est, ne pas fermer les balises PHP pour les rouvrir derrière (cf tes include), le saut de ligne situé entre les deux serait envoyé au client et toute fonction d'entête (set(raw)cookie, header et session_start) s'en retrouverait "bloquée" (du moins pour un serveur configuré avec un output_buffering à off).
En fait toute cette partie :
Code :
|
N'est pas bonne, il y a mélange PHP/HTML.
UNE correction possible :
Code :
|
Marsh Posté le 20-04-2018 à 20:37:28
Pour commencer, merci à vous 3 pour votre lecture et les réponses apportées.
Harkonnen a écrit : tu as placé un session_start() au début de ton code ? |
J'avais bien mis un session_start() dans mon fichier pdo qui est include juste avant.
J'ai oublié de le préciser, méa culpa
Pour le var dump, cela me donne un encadré blanc avec le texte suivant :
Code :
|
Bien vu pour le php?, j'ai tellement trituré mon bout de code dans tout les sens que j'ai finis par écrire mes balises avec des fautes.
Du coup, il faut que je revois mon code parce que j'ai du me mélanger les pédales avec le php/html à d'autre endroits, c'est surement ça qui n'allais pas.
En corrigeant la syntaxe ça fonctionne merci.
Si je peux me permettre, que veux dire cette partie ? Ça lui dit d'afficher le contenus de $_SESSION['id'] grâce au "=" ?
<?= $_SESSION['id'] ?>
En tout cas merci à vous, vous m'avez aidé à retirer épine qui m'a pas mal emmerdé
Marsh Posté le 20-04-2018 à 22:01:57
Pour répondre rapidement à la dernière question, c'est simplement une syntaxe écourtée :
http://php.net/manual/fr/function.echo.php
http://php.net/manual/fr/ini.core. [...] t-open-tag
Tout comme tu peux choisir d'écrire un If avec des accolades :
Code :
|
Ou par mot-clés :
Code :
|
Marsh Posté le 23-04-2018 à 10:44:48
Ah merci pour l'info et les liens de la doc.
Pratique comme raccourcis, ça évite de mettre des points d’interrogation après un php
Marsh Posté le 20-04-2018 à 15:59:54
Bonjour à tous,
Je débute en dev, je me suis mis en tête de réaliser un petit projet pour apprendre le PHP.
Dans mon projet, j'ai une page index.php qui include navbar.php qui est mon menu.
Mon but est de faire en sorte que lorsqu'un user se connecte, le menu qu'il vois change.
J'aimerais savoir pourquoi mon code ne fonctionne pas, et qu'elle est la best practice pour gérer une session.
Mon code à juste pour but de dire Si $_SESSION['id'] existe alors je lui affiche un lien qui va le rediriger vers l'accueil en lui passant sont id de session dans le liens.
Et si non je lui met le liens basique de redirection.
Il y a deux ligne parce que j'ai trouvé ces deux façons de faire mais aucune d'entre elle à l'air de fonctionner.
Autre question, quand on include une page on ouvre des balises PHP, cela veut-il dire que tout le code de la page sera interprété en PHP ?
Parce que si oui, je devrais peut être pas ouvrir une balise php dans mon navbar.php.
Merci
Message édité par lolight le 20-04-2018 à 16:01:33
---------------
--- Mon topik d'Ach/Ven ---