Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui
même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis
php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir
pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Le programme en question est articulé ainsi :
$sujet=$_GET['sujet'];
echo '<p><a href="gal.php?sujet=010">Intitulé du sujet n°10</a></p>';
if ($sujet=='010')
{echo 'Contenu du sujet n°10';}
echo '<p><a href="gal.php?sujet=009">Intitulé du sujet n°9</a></p>';
if ($sujet=='009')
{echo 'Contenu du sujet n°9';}
etc.
J'ai essayé en ne mettant le $_GET qu'après chaque lien cliquable, mais le
résultat est le même.
Par défaut, j'affiche des titres cliquables, et si on clique sur un titre,
le contenu est affiché.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
Le 16/02/2011 23:01, Pascale a écrit :
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Le programme en question est articulé ainsi :
$sujet=$_GET['sujet'];
Tu ne sembles pas traiter le cas où $_GET['sujet'] n'est pas défini (ce qui devrait correspondre au tout premier appel de la page).
Faire par exemple : $sujet = isset($_GET['sujet']) ? $_GET['sujet'] : 'Aucun';
J'ai essayé en ne mettant le $_GET qu'après chaque lien cliquable, mais le résultat est le même.
Ça... c'est sûr que faire un « echo » ne va pas remplir un élément de tableau ! (-:
Cordialement, -- Olivier Miakinen
Bonjour,
Le 16/02/2011 23:01, Pascale a écrit :
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui
même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis
php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir
pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Le programme en question est articulé ainsi :
$sujet=$_GET['sujet'];
Tu ne sembles pas traiter le cas où $_GET['sujet'] n'est pas défini (ce
qui devrait correspondre au tout premier appel de la page).
Faire par exemple :
$sujet = isset($_GET['sujet']) ? $_GET['sujet'] : 'Aucun';
J'ai essayé en ne mettant le $_GET qu'après chaque lien cliquable, mais le
résultat est le même.
Ça... c'est sûr que faire un « echo » ne va pas remplir un élément de
tableau ! (-:
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Le programme en question est articulé ainsi :
$sujet=$_GET['sujet'];
Tu ne sembles pas traiter le cas où $_GET['sujet'] n'est pas défini (ce qui devrait correspondre au tout premier appel de la page).
Faire par exemple : $sujet = isset($_GET['sujet']) ? $_GET['sujet'] : 'Aucun';
J'ai essayé en ne mettant le $_GET qu'après chaque lien cliquable, mais le résultat est le même.
Ça... c'est sûr que faire un « echo » ne va pas remplir un élément de tableau ! (-:
Cordialement, -- Olivier Miakinen
Mickael Wolff
On 16/02/11 22:01, Pascale wrote:
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les versions est devenu un peu plus tatillon.
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de production, jamais, au grand jamais on affiche les erreurs générées par PHP. Donc display_error devrait toujours être à Off. Si tu veux monitorer l'état de ton application, il faut surveiller les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active toutes les détections d'erreur et d'alerte, histoire de traquer les bogues les plus retords.
On 16/02/11 22:01, Pascale wrote:
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui
même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis
php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir
pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les
versions est devenu un peu plus tatillon.
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de
production, jamais, au grand jamais on affiche les erreurs générées par
PHP. Donc display_error devrait toujours être à Off.
Si tu veux monitorer l'état de ton application, il faut surveiller
les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active
toutes les détections d'erreur et d'alerte, histoire de traquer les
bogues les plus retords.
Des « notices » sont apparues sur à peu près tous mes sites aujourd'hui même. En attendant de comprendre ce que j'ai fait de travers, j'ai mis php_flag display_errors Off dans mon .htaccess, mais j'aimerais savoir pourquoi j'obtiens un message du style :
Notice: Undefined index: sujet in /home/lgv/www/... on line 33
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les versions est devenu un peu plus tatillon.
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de production, jamais, au grand jamais on affiche les erreurs générées par PHP. Donc display_error devrait toujours être à Off. Si tu veux monitorer l'état de ton application, il faut surveiller les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active toutes les détections d'erreur et d'alerte, histoire de traquer les bogues les plus retords.
Pascale
Mickael Wolff écrivait news:4d5cf567$0$25003$:
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les versions est devenu un peu plus tatillon.
Je pense que ces nouveaux avertissements sont dûs au fait que notre hébergeur a installé sans rien dire : http://www.hardened-php.net/ J'ai vu un petit avertissement tout minuscule écrit dans PHPMyAdmin et aussi dans le fichier info de PHP...
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de production, jamais, au grand jamais on affiche les erreurs générées par PHP. Donc display_error devrait toujours être à Off. Si tu veux monitorer l'état de ton application, il faut surveiller les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active toutes les détections d'erreur et d'alerte, histoire de traquer les bogues les plus retords.
Tu as parfaitement raison ! Quand j'écris un site, je mets display_error sur On, et normalement, je devrais le mettre à Off une fois que c'est fini... mais il m'arrive d'oublier de le faire, au point que c'est quasiment de l'oubli systématique )-:
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les
versions est devenu un peu plus tatillon.
Je pense que ces nouveaux avertissements sont dûs au fait que notre
hébergeur a installé sans rien dire : http://www.hardened-php.net/
J'ai vu un petit avertissement tout minuscule écrit dans PHPMyAdmin et
aussi dans le fichier info de PHP...
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de
production, jamais, au grand jamais on affiche les erreurs générées par
PHP. Donc display_error devrait toujours être à Off.
Si tu veux monitorer l'état de ton application, il faut surveiller
les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active
toutes les détections d'erreur et d'alerte, histoire de traquer les
bogues les plus retords.
Tu as parfaitement raison ! Quand j'écris un site, je mets display_error
sur On, et normalement, je devrais le mettre à Off une fois que c'est
fini... mais il m'arrive d'oublier de le faire, au point que c'est
quasiment de l'oubli systématique )-:
Alors Olivier a répondu au problème qui t'intéresse. PHP avec les versions est devenu un peu plus tatillon.
Je pense que ces nouveaux avertissements sont dûs au fait que notre hébergeur a installé sans rien dire : http://www.hardened-php.net/ J'ai vu un petit avertissement tout minuscule écrit dans PHPMyAdmin et aussi dans le fichier info de PHP...
Ceci dit, je vais aussi faire mon tatillon : sur le serveur de production, jamais, au grand jamais on affiche les erreurs générées par PHP. Donc display_error devrait toujours être à Off. Si tu veux monitorer l'état de ton application, il faut surveiller les logs d'erreur, et ça c'est dépendant de ta configuration.
Par contre, sur ta machine de développement et de test, tu active toutes les détections d'erreur et d'alerte, histoire de traquer les bogues les plus retords.
Tu as parfaitement raison ! Quand j'écris un site, je mets display_error sur On, et normalement, je devrais le mettre à Off une fois que c'est fini... mais il m'arrive d'oublier de le faire, au point que c'est quasiment de l'oubli systématique )-: