2010-07-26 3 views
0

Si j'ai une page avec plusieurs sections <?php ... ?> interspresed avec des sections HTML pur. Je remarque qu'un $_SESSION ensemble variable dans une section <?php ... ?> n'est pas disponible dans un autre sur la même page.Session PHP et plusieurs sections mixtes PHP/HTML dans une page

Alors, quelle est la meilleure pratique? 1) appeler le session_start() comme première ligne de chaque section <?php ... ?>? 2) seulement une section <?php ... ?> qui couvre toute la page? Si oui, je dois emballer chaque section HTML dans echo, ce qui est ennuyeux de ce qu'ils sont des éléments de formulaire HTML. Peut-être heredoc eux?

C'est la première fois que j'essaie ce genre de chose, mais je ne suis pas le premier à le faire - quelle est la meilleure pratique acceptée?


Éditer: Aplogies, ma faute stupide. L'une des sections PHP a commencé avec <? et non <?php

Répondre

3

Si j'ai une page avec plusieurs sections interspresed avec des sections pures HTML. Je remarque qu'un $ _SESSION variable ensemble dans une section n'est pas disponible dans un autre sur la même page.

Les sections des balises php <?php ... ?> n'ont rien à voir avec la session. Assurez-vous que vous mettez:

session_start()

en haut de votre page.

+0

+! Merci. C'est ce que j'ai compris (à partir de la lecture, pas de la pratique, mais ça ne fonctionne pas de cette façon.) Une seule page avec 3 sections PHP Session_start() dans le premier, définissez une variable $ _SESSION [] dans la seconde, var_dump() dans le troisième et il est null.Avertissement - J'utilise Xampp et les pages sont sur lcoalhost - cela a donné d'autres problèmes dans le passé – Mawg

+0

oups, désolé - mauvais code - voir la question ci-dessus – Mawg

+0

@mawg: o ceux droit sont stupides mais difficile de trouver des erreurs parfois :) – Sarfraz

1

Tant que vous définissez l'en-tête avant d'effectuer une sortie, vous ne devriez rencontrer aucun problème avec la session (car la fonction session_start() définit également l'en-tête).

Il n'y a vraiment aucun problème à avoir plusieurs sections PHP sur une page. Mais je recommande fortement, de faire toute la logique (lecture de la base de données, le traitement des données de formulaire) dans un fichier séparé OU dans la première section.

+0

+1 merci. Comme je l'ai dit plus haut, cela pourrait être un problème de Xampp. Je vais télécharger sur un vrai site web, pas localhost, et là-bas. – Mawg

+0

oups, désolé - mauvais code - voir la question ci-dessus. – Mawg

Questions connexes