Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Notices

3 réponses
Avatar
Pascale
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é.

C'est mal, mon truc ?

--
Pascale
http://www.la-grille-verte.net

3 réponses

Avatar
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
Avatar
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.
Avatar
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 )-:

--
Pascale
http://www.la-grille-verte.net