cs_aKheNathOn
Messages postés575Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention23 octobre 2012
-
6 avril 2010 à 10:07
negstek76
Messages postés10Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention 6 janvier 2014
-
24 avril 2010 à 00:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
negstek76
Messages postés10Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention 6 janvier 2014 24 avril 2010 à 00:28
En fait je crois que pour ce genre de question une des meilleures méthodes consisterait à tout mettre dans la mémoire tampon avant d'envoyer gràca au buffer de temporisation.
Pour ceux qui ne connaissent pas, vous pouvez vous référer au rapide tuto d'alex, c'est pas mal fait pour apréhender le concept:
cs_aKheNathOn
Messages postés575Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention23 octobre 2012 6 avril 2010 à 23:10
salut, dslé pour l'anglicisme, un line-break c'est un retour à la ligne tout simplement.
Autre truc pas très bon à ce sujet, les retours à la ligne sont composés de \r\n c'est un script fait très probablement avec un editeur sous windows, et dans chaque fichier tu as un ?>, avec en plus un saut de ligne, en require ou bien en include cela execute le buffer de sortie (exemple : admin/editpost.php)
Ce qui est à la "mode" en ce moment en PHP c'est "d'oublier" volontairement le ?> à la fin d'un fichier de librairie PHP pour éviter ce genre d'erreurs (j'ai vérifié pas de retour à la ligne pour functions et dbco mais le ?> reste inutile)
Du coup ma remarque est la suivante, lors d'une commande de type :
<?php ... ?> blabla
Le moteur PHP interpréte le <?php ... ?> puis passe à la sortie HTML blabla. En écrivant :
Il y a le risque à terme que le script ne fonctionne plus - actuellement php ne respecte pas vraiment la fin du ?> et fait un trim mais si un jour il devient plus stricte le session_open ne passera plus ...
:)) c'est un peu pointilleux comme remarque lol
Sinon ça me plait, pas assez orienté objet et classes mais on sent le gros effort de dév et j'aime bien la finition du projet :)
negstek76
Messages postés10Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention 6 janvier 2014 6 avril 2010 à 21:52
En fait je suis juste le traducteur de l'affichage, ce n'est pas moi qui ai fais la conception... J'ai donc dévouvert le code en réalisant la version française!
En fait dbcon.php contient la config de la base de donnée et functions.php contient toute les fonctions du livre d'or; ces deux pages sont require et non include elles n'affichent donc rien directement et servent juste de bibliothèque où de référence au code situé au-dela du
session_start();
donc ici pas de pb de headers
par contre effectivement si vous inserez cette page via un include d'une autre page générant de l'affichage, bonjour les problèmes de headers.... en bref si vous ne voulez pas avoir à tout changer, la pade d'index doit rester une master page appelant des pages secondaires ou alors faut déplacer l'ouverture de session...
PS dslé je sais pas ce que c'est le line-break peux tu avoir l'amabilité de m'expliquer stp akhenathon?
cs_aKheNathOn
Messages postés575Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention23 octobre 2012 6 avril 2010 à 10:07
Quand tu ouvres et refermes les balises comme ça il y a le risque que PHP rajoute un line-break non ? Ta session risque d'en pâtir si les headers partent trop tôt ...
J'ai pas encore testé mais ça mérite un 10 facile vu la finition et le travail !
24 avril 2010 à 00:28
Pour ceux qui ne connaissent pas, vous pouvez vous référer au rapide tuto d'alex, c'est pas mal fait pour apréhender le concept:
http://www.siteduzero.com/tutoriel-3-38102-la-tamporisation-de-sortie-en-php.html
7 avril 2010 à 17:26
de toute façon php6 ça doit pas être pour tout de suite...
C'est ton métier j'imagine?
Sinon j'ai réalisé mon premier lecteur audio media à
http://negstek.com évidemment faut aimer la hardtek...
Le livre d'or y figure en fin de page!
6 avril 2010 à 23:10
Autre truc pas très bon à ce sujet, les retours à la ligne sont composés de \r\n c'est un script fait très probablement avec un editeur sous windows, et dans chaque fichier tu as un ?>, avec en plus un saut de ligne, en require ou bien en include cela execute le buffer de sortie (exemple : admin/editpost.php)
Ce qui est à la "mode" en ce moment en PHP c'est "d'oublier" volontairement le ?> à la fin d'un fichier de librairie PHP pour éviter ce genre d'erreurs (j'ai vérifié pas de retour à la ligne pour functions et dbco mais le ?> reste inutile)
Du coup ma remarque est la suivante, lors d'une commande de type :
<?php ... ?> blabla
Le moteur PHP interpréte le <?php ... ?> puis passe à la sortie HTML blabla. En écrivant :
<?php require('../data/dbcon.php'); ?> [\r\n]
<?php require('../data/functions.php'); ?>
Il y a le risque à terme que le script ne fonctionne plus - actuellement php ne respecte pas vraiment la fin du ?> et fait un trim mais si un jour il devient plus stricte le session_open ne passera plus ...
:)) c'est un peu pointilleux comme remarque lol
Sinon ça me plait, pas assez orienté objet et classes mais on sent le gros effort de dév et j'aime bien la finition du projet :)
6 avril 2010 à 21:52
En fait dbcon.php contient la config de la base de donnée et functions.php contient toute les fonctions du livre d'or; ces deux pages sont require et non include elles n'affichent donc rien directement et servent juste de bibliothèque où de référence au code situé au-dela du
session_start();
donc ici pas de pb de headers
par contre effectivement si vous inserez cette page via un include d'une autre page générant de l'affichage, bonjour les problèmes de headers.... en bref si vous ne voulez pas avoir à tout changer, la pade d'index doit rester une master page appelant des pages secondaires ou alors faut déplacer l'ouverture de session...
PS dslé je sais pas ce que c'est le line-break peux tu avoir l'amabilité de m'expliquer stp akhenathon?
6 avril 2010 à 10:07
Juste une remarque :
<?php require('../data/dbcon.php'); ?>
<?php require('../data/functions.php'); ?>
<?php
session_start();
Quand tu ouvres et refermes les balises comme ça il y a le risque que PHP rajoute un line-break non ? Ta session risque d'en pâtir si les headers partent trop tôt ...
J'ai pas encore testé mais ça mérite un 10 facile vu la finition et le travail !
Bonne continuation,
akh