session php: verification par une fonction au début de chaque page?

session php: verification par une fonction au début de chaque page? - PHP - Programmation

Marsh Posté le 12-03-2003 à 14:19:54    

bonjour :-)  
 
pour les sessions php, il faut vérifier si la session est enregistrer pour permettre ou non d'acceder à certaines pages... (aprés une identification)  
par ceci:
 

Code :
  1. //à chaque début de page...pour l'identification...
  2. // On inclut le fichier de configuration
  3. require ("conf_connexion_mysql.php" );
  4. // On ouvre la session avant tout  
  5. session_start();
  6. // On vérifie si la session "login" est enregistrée  
  7. // Si la session "login" n'est pas enregistrée  
  8. if(!session_is_registered(login)) {
  9. // On affiche ce message d'erreur  
  10. echo "<center>Vous devez vous identifier pour accéder à cette page</center>";
  11.    
  12. // On affiche le formulaire d'identification  
  13. include ("identification_adm.php" );
  14. }
  15. // sinon, la session "login" est enregistrée  
  16. else {
  17. // On affiche le message de bienvenue  
  18. echo "<center>Bienvenu sur votre espace membre $login</center>";
  19. }
  20. //fin de l'identification


 
au lieu de faire un copier coller au début de chaque page: peut on mettre ça dans une fonction, dans le fichier qui est requis au début par exemple: "conf_connexion_mysql.php"
et appeler la fonction identification() à la place? ça ne va rien changer?

Reply

Marsh Posté le 12-03-2003 à 14:19:54   

Reply

Marsh Posté le 12-03-2003 à 14:44:15    

Normalement, ça change rien.

Reply

Marsh Posté le 12-03-2003 à 15:01:34    

d'accord :-) merci

Reply

Marsh Posté le 12-03-2003 à 17:34:49    

par contre, en utilisant la fonction, il faudrait une fonction qui arrete l'execution de la page:
je vous explique
j'ai une page php
 
dedans j'appelle la fonction verif_identification()
et en dessous, je mets d'autres choses..;
 
dans la fonction verif_identification, il faudrait quelque chose qui arrete l'exécution aprés l'include de la page d'identification
pour pas que la page qui appelle la fonction continue à s'executer...

Reply

Marsh Posté le 12-03-2003 à 17:43:16    

exit;


---------------
...oups kernel error...
Reply

Marsh Posté le 12-03-2003 à 17:44:05    

merci, c'est bon, ça marche :-) nickel

Reply

Marsh Posté le 12-03-2003 à 19:03:08    

Si tu as ton propre serveur, tu peux configurer php.ini pour qu'il fasse un include automatique au début et/ou à la fin de chaque script PHP.
 
Options de php.ini:
 
auto_prepend_file = Nom d'un script PHP
auto_append_file = Nom d'un script PHP
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-03-2003 à 20:14:55    

J'ai eu l'occasion de faire un site utilisant une authentification. J'ai tout mis dans un fichier que j'incluais au début de tout les scripts où il fallait vérifier l'authentification. C'est pratique, ca permet de modifier le moyen utilisé sans devoir reprendre tous les scripts :)  
 
Pour les cas d'erreurs, un autre fichier, organisé comme ca :
<?
function ExitOnError($msg) {
?>
<html>
<body>Il y a eu une erreur <br>
<? echo $msg?>
</body>
</html>
<?
  exit;
}
?>
Il suffit d'appeller la fonction en cas de problème pour afficher la page d'erreur et quitter directement le script (seul restriction : traiter les cas d'erreurs avant de commencer à afficher la page principale) :)

Reply

Marsh Posté le 12-03-2003 à 21:29:10    

mrBebert a écrit :

(seul restriction : traiter les cas d'erreurs avant de commencer à afficher la page principale) :)  


 
Ou bien on utilise ob_start() / ob_end_flush();
 
Avec çà, on fait comme on veut !
 
Bon c'est moins propre, c'est certain, mais çà permet par exemple de tracer un certain nombre de choses sur le site.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed