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 :

Warning: Cannot modify header information


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut Warning: Cannot modify header information
    Bonjour à toutes et à tous,

    Lors du premier test de mise en ligne, j'obtiens les messages suivants:
    Strict Standards: date(): We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/36/d231885863/htdocs/proginet/appGenealium/libraries/defines.php on line 25

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/36/d231885863/htdocs/proginet/appGenealium/libraries/defines.php:25) in
    /homepages/36/d231885863/htdocs/proginet/appGenealium/logout.php on line 21

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/36/d231885863/htdocs/proginet/appGenealium/libraries/defines.php:25) in
    /homepages/36/d231885863/htdocs/proginet/appGenealium/logout.php on line 22

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/36/d231885863/htdocs/proginet/appGenealium/libraries/defines.php:25) in
    /homepages/36/d231885863/htdocs/proginet/appGenealium/logout.php on line 24
    La ligne 25 du code complet est la ligne 9 de l'extrait ci-dessous.

    et le code du fichier defines.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    require('config.php');
     
    // Chemins
    // ...
     
    // Paramètres divers
    define('LANGUAGES_TABLE', "lst_languages");
    date_default_timezone_set('Europe/Berlin');
    define('TODAY_SQL', date('Y-m-d'));
    // ...
    et le fichier config.php inclus dans defines.php
    Code php : 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
    // Chemins
    define('URL_SITE', "http://genealium.proginet.eu/");
     
    // Base de données
    // ...
     
    define('IS_LOCAL', false);
     
    // Consignes de gestion des erreurs
    // Afficher les erreurs à l'écran
    //ini_set('display_errors', 1);
    // Enregistrer les erreurs dans un fichier de log
    ini_set('log_errors', 1);
    // Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
    ini_set('error_log', URL_SITE . 'LOG/log_error_php.txt');
    // Afficher les erreurs et les avertissements
    error_reporting(E_ALL);

    J'ai ajouté la ligne date_default_timezone_set() ce qui a résolu (provisoirement) la première erreur et consécutivement les 3 autres.

    Mes questions

    1) Dans les consignes de gestion des erreurs, pourquoi les erreurs s'affichent à l'écran au lieu de s'enregistrer dans le fichier log.
    2) Comment connaître et sélectionner automatiquement le fuseau de l'utilisateur ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    1) parce que commenter la ligne qui activel'affichage, ce n'est pas pareil que désactiver l'affichage. Si la valeur par défaut est également 1, ça va rester activé Essaye en mettant ini_set('display_errors', 0);.

    2) PHP ne connait pas la configuration de l'utilisateur, uniquement celle du serveur, et la timezone ne fait pas partie des entêtes HTTP, donc il ne peut pas la récupérer dans les entêtes.
    Il va falloir faire une action spécifique comme récupérer l'information au niveau du navigateur et l'envoyer au serveur (via AJAX par exemple).
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    Merci. Le point 1 est résolu. Mais pour le point 2, comment récupérer le fuseau au niveau du navigateur?

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    côté fuseau horaire en php je ne pense pas que cela soit possible vue que c'est côté client ...
    du coup en javascript voir avec getTimezoneOffset (http://fr.craftjs.com/dterminer-la-f...ilisateur.html)
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    @Vil'Coyote: Merci pour ce lien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Encore des soucis avec les listes.
    Par marco056 dans le forum Général Python
    Réponses: 7
    Dernier message: 25/04/2015, 11h31
  2. encore des soucis avec DFDSS
    Par syrius1509 dans le forum z/OS
    Réponses: 2
    Dernier message: 26/08/2011, 20h45
  3. [CognosScript] Encore des soucis avec une connexion ODBC
    Par ben_harper dans le forum Cognos
    Réponses: 1
    Dernier message: 23/06/2009, 19h08
  4. Souci de mise en ligne
    Par chantal38 dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 06/05/2007, 00h42

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