Page 1 sur 1

message d'erreur bisare après activation des erreurs php

Posté : 14 août 2016, 00:31
par juvamine
bonjour,
dans /etc/php5/apach2/php.ini
j'ai modifié la ligne 466 display_errors =off en on et de faire un restart d'apache2 pour activer les messages d'erreurs (ce qui m'a bien servi pour qqes trucs) mais maintenant même si mon site est fonctionnel il me claque quand même des messages d'erreurs.
les erreurs indiqué sont sur cette partie de code

Code : Tout sélectionner

if($_GET["action"]=="suppr") { $sql="DELETE FROM registre_client WHERE client_id=$_GET[client_id]"; mysql_query($sql) or die(mysql_error()); } elseif($_GET["action"]=="modif") { $sql="UPDATE registre_client SET client_nom='$_POST[client_nom]', client_prenom='$_POST[client_prenom]', client_cat='$_POST[client_cat]', client_siret='$_POST[client_siret]', client_email='$_POST[client_email]', client_telephone_pro='$_POST[client_telephone_pro]', client_telephone='$_POST[client_telephone]', client_adresse='$_POST[client_adresse]', client_cp='$_POST[client_cp]', client_ville='$_POST[client_ville]', client_localisation='$_POST[client_localisation]', client_siteweb='$_POST[client_siteweb]', client_cat_probleme='$_POST[client_cat_probleme]' WHERE client_id='$_GET[client_id]'"; mysql_query($sql) or die(mysql_error()); } elseif($_GET["action"]=="insert") { $sql="INSERT INTO registre_client SET id='', client_id='$_POST[client_id]', client_nom='$_POST[client_nom]', client_prenom='$_POST[client_prenom]', client_cat='$_POST[client_cat]', client_siret='$_POST[client_siret]', client_email='$_POST[client_email]', client_telephone_pro='$_POST[client_telephone_pro]', client_telephone='$_POST[client_telephone]', client_adresse='$_POST[client_adresse]', client_cp='$_POST[client_cp]', client_ville='$_POST[client_ville]', client_localisation='$_POST[client_localisation]', client_siteweb='$_POST[client_siteweb]', client_cat_probleme='$_POST[client_cat_probleme]', client_inscrit='$_POST[client_inscrit]'"; mysql_query($sql) or die(mysql_error()); } elseif($_GET["action"]=="insert-c-rendu") { $sql = "INSERT INTO c_rendu SET id='', client_id='$_POST[client_id]', crendu='$_POST[crendu]', date='$_POST[date]'"; mysql_query($sql) or die(mysql_error()); } elseif($_GET["action"]=="modif-c-rendu") { $sql="UPDATE c_rendu SET crendu='$_POST[crendu]' WHERE client_id=$_GET[client_id]"; mysql_query($sql) or die( mysql_error());
un des messages d'erreur est:
Notice: Undefined index: action in /home/juju/www/intranet/liste.php on line 10
pouvez vous me dire pourquoi?
pourtant mon site fonctionne tres bien...

Re: message d'erreur bisare après activation des erreurs php

Posté : 14 août 2016, 14:22
par @rthur
Bonjour,

Cela veut dire qu'à la ligne 10 de ton code, tu fais appel à un tableau en indiquant la clé "action" mais que cette clé n'existe pas dans ce tableau.
La solution pour éviter ce message d'erreur est de tester d'abord son existence :
if(isset($_GET["action"]) && $_GET["action"]=="truc") { ...

Re: message d'erreur bisare après activation des erreurs php

Posté : 15 août 2016, 13:52
par juvamine
merci
en effet ça ne me met plus de message d'erreur.
en revanche, pourquoi tester si la clé est existante si elle l'ai? j'ai pas bien compris.

Re: message d'erreur bisare après activation des erreurs php

Posté : 15 août 2016, 14:05
par Naroth
Bonjour,

Ce message d'erreur :

Code : Tout sélectionner

Notice: Undefined index: action in /home/juju/www/intranet/liste.php on line 10
Veut dire que justement à un moment précis ta clé n'existe pas.

Re: message d'erreur bisare après activation des erreurs php

Posté : 17 août 2016, 21:00
par juvamine
ok merci à tous