Hello,
1- session_start() en toute 1ere instruction.
Qui sait ce qui pourra se trouver ensuite dans les fichiers inclus ?
J'irai plus loin. Puisqu'on peut avoir des fichiers susceptibles d'être utilisés indépendemment ou en inclusion, je mets :
<?php if(empty(session_id())) session_start();
Et le tour est joué : on peut l'avoir dans plusieurs fichiers sans générer d'erreur.
2- include() ou require() ?
Voir la DOC !
En cas d'erreur, le comportement est différent.
require est identique à include mis à part le fait que lorsqu'une erreur survient, il produit également une erreur fatale de niveau E_COMPILE_ERROR.
En d'autres termes,
il stoppera le script alors que
include n'émettra qu'une alerte de niveau E_WARNING, ce qui permet au script de continuer.
3- par conséquent : si tu as un fichier config.php, tu l'inclus en require en tete de tes fichiers avec, DEDANS, l'ouverture de la session !
config.php :
1 2 3 4 5 6 7 8 9 10 11 12
| <?php if(empty(session_id())) session_start();
// ------------
// autoload
spl_autoload_register(function ($class) {
require_once( __DIR__.'/classes/' . $class . '.class.php';
});
// ------------
// Config : constantes,......
.....
// ------------
// Connexion à la bdd
$pdo = .....; |
Fichier xxxxx.php :
1 2
| <?php require_once( __DIR__.'/config.php' );
..... |
- require_once() : une seule fois
Partager