Couper une boucle avec des includes - PHP - Programmation
Marsh Posté le 22-12-2009 à 18:37:53
t'as essayer en fermant pas les balise PHP a la fin des fichiers
pas de '?>'
Marsh Posté le 22-12-2009 à 19:01:54
Mmmh ca n'aurait aucun sens
De plus j'ai du code HTML dans mon header.php juste après le check en php. C'est pour le doctype, head, toussa...
Mais dis-moi, c'est possible de faire ça ou bien je suis pas censé le faire ?
Parce que si je referme les accolades dans mes fichiers inclus, d'un coup il m'exécute joyeusement mon code...
Ca veut bien dit que c'est ça qui l'ennuie... Et ya aucun gros code de oufzor hein, c'est super classique comme vérification...
Marsh Posté le 22-12-2009 à 19:16:51
c'est pas terrible ouai
et ton session_start() ne devrai pas etre dans ton header
par exemple : index.php
Code :
|
apres je voi pa trop le coup du if geant, qui di if dis else , donc sinon quoi ? il affche autre chose ?
Marsh Posté le 22-12-2009 à 20:18:47
La connexion utilisateur est représentée par une variable session $_SESSION['id']
Je veux que ma page ne soit accessible que si le visiteur est connecté.
Donc j'ai mon code :
Code :
|
Comme j'ai plein de page de ce genre à faire, je fais un header avec le IF et un footer avec le ELSE
Pourquoi ? C'est mal ?
Marsh Posté le 22-12-2009 à 22:15:02
C'est laid
Ya vraiment rien d'autre que "exit" ??
Ca me gène de casser le script comme ça...
Question de...propreté... d'éthique...
Vraiment rien d'autre ? Mmmh
Marsh Posté le 22-12-2009 à 23:47:03
je sais pas, on me critique bien parce j'utilise la bufferisation de sortie alors que dans les code source de certaine grosse lib c'est utilisé
dans les commentaires de la doc y'a plusieur exemple avec exit;
Marsh Posté le 23-12-2009 à 22:23:14
Le exit() permet de forcer php à ne pas continuer d'interpréter le reste du script. Placer un exit() après chaque header() est une pratique recommandée, puisque tu n'as plus besoin du reste du script...
Et la bufferisation de sortie, c'est le bien.
Sans ça il devient lourd de faire un système de cache dans un code contenant des require et un tas d'objets qui crachent ce que bon leur semble.
Marsh Posté le 24-12-2009 à 12:35:13
Pascal le nain a écrit : C'est laid |
tu fais la même chose mais avec des accolades qui se trouvent dans des fichiers différents et tu trouves ça laid ?
Marsh Posté le 28-12-2009 à 02:32:19
sinon si t'as php >= 5.3.0 tu peu utilisé "goto"
http://www.php.net/manual/fr/contr [...] s.goto.php
Marsh Posté le 28-12-2009 à 11:35:01
stealth35 a écrit : sinon si t'as php >= 5.3.0 tu peu utilisé "goto" |
Marsh Posté le 28-12-2009 à 13:30:18
Pascal le nain a écrit : C'est laid |
A la limite, tu peux toujours commencer par alimenter une variable en fonction du test, et la tester dans chaque include.
Ou mettre ton test dans ta page principale, et faire tes include en fonction :
Code :
|
Mais la solution du exit est quand même la meilleure...
Marsh Posté le 29-12-2009 à 12:04:48
[troll]
Quand on veut faire propre on code en mvc
[/troll]
Marsh Posté le 29-12-2009 à 21:38:43
Le mieux c'est quand même de faire :
Code :
|
Vous, ça ne vous fait peut-être rien, mais moi... ça m'exit for !
Marsh Posté le 30-12-2009 à 00:03:24
il m'a fallu environ 1024 itérations pour comprendre la blague
Marsh Posté le 30-12-2009 à 20:52:09
Pascal le nain a écrit : C'est laid |
Non exit c'est très bien. Si tu veux faire des choses à l'arret du script, utilise register_shutdown_function() etc.
Marsh Posté le 22-12-2009 à 18:28:02
Bonjour,
C'est marrant, ca doit être une question archibasique, mais j'ai jamais eu affaire à ce genre de problème...
Je veux faire un backoffice rapide.
Donc je check la session à chaque page pour savoir si l'utilisateur est connecté.
J'utilise un systeme classique d'inclusions selon le schéma header/contenu/footer.
La vérification de la permission se fait à chaque début de page par une condition if dans mon header.php.
Le problème c'est que la boucle if commence dans le header et se termine dans le footer.
Et ça, ça lui plait pas, au petit php. Il préférerait que je termine ma boucle avant la fin du header.php...
Donc ma question est simple : n'y a-t-il pas moyen de commencer une boucle dans le header, d'ouvrir des accolades, de faire toute ma merdouille dans ma page, puis de refermer les accolades lors du footer ?
Merci d'avance