IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

header location et error_log


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut header location et error_log
    Bonjour à tous,

    Je suis en train de faire mon petit système de gestion d'erreurs php, par le biais d'une fonction bien connue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    function error_handler($error_type, $string_error, $file_error, $line_error)
    	{
    	$date = date('d/m/Y - H:i:s');
     
    	$return_error = $date.": " ;
     
    	switch($error_type)
    		{
            case E_USER_ERROR:
                $return_error .= "Erreur fatale : ".$string_error ;
                $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
            break ;
     
            case E_USER_WARNING:
                $return_error .= "Avertissement : ".$string_error ;
                $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
            break ;
            //dans le cas ou une erreur est déclenché volontairement
    		/*
    		trigger_error() nécessite 2 arguments :
    		le message d'erreur ;
    		le type d'erreur (optionnel, par défaut E_USER_NOTICE).
    		*/
            case E_USER_NOTICE:
                $return_error .= "Note : ".$string_error ;
                $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
            break ;
     
            default:
                $return_error .= "Erreur inconnue [".$error_type."] : ".$string_error ;
                $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
            break ;
    		}
    	error_log($return_error, 3, "error/error.log");
    	header("location:error_page.php") ;
    	exit() ;
    	}
     
    set_error_handler('error_handler') ;
    Dans le cas ou surviendrait une erreur php au cours d'un processus, j'enregistre un message d'erreur dans un fichier .log et je redirige vers une page d'erreur.

    Quand une erreur survient dans une page ou il n'y a que du php, pas de problème la fonction exécute ce qui lui est demandé, mais dans le cas ou une erreur survient dans une page ou se mélange html, javascript et php, j'ai le droit au classique : "Cannot modify header information...."

    Comment puis-je gérer cette réaction pour le moins normale sans trop de complication mis à part avec une tamporisation de sortie ?

    Merci à tous pour vos réponses!

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Par défaut
    Toujours appeler la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Header('Location :http://www.tresorunikin.com');
    avant les balises head de html... Vois comment tu peux commencer par appeler cette fonction avant l'envois des entêtes http! donc du php au dessus et le hml viendra en dessous! It works

Discussions similaires

  1. Mon header("Location: page.php"); ne fonctionne pa
    Par Flushovsky dans le forum Langage
    Réponses: 17
    Dernier message: 24/03/2006, 23h49
  2. [header location]
    Par agougeon dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2006, 20h26
  3. Actualiser une page après un "header location"
    Par salva57 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 10/01/2006, 22h09
  4. header('Location:$url') VS session_start()
    Par Paniez dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 22h30
  5. [FTP] problème header("location:......")
    Par K4trix dans le forum Langage
    Réponses: 23
    Dernier message: 30/11/2005, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo