Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1490 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  masquer les warnings (help!)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

masquer les warnings (help!)

n°188873
deadmethen​y
Posté le 02-08-2002 à 17:11:42  profilanswer
 

Salut à tous,
 
je cherche un moyen pour masquer les éventuels Warnings pour éviter d'afficher des infos qui ne regarde pas l'utilisateur.
 
exemple :
 
(Je travail en local avec easyphp)
 
J'affiche une page avec des requetes, pas de probléme la page s'affiche normalement.
Maintenant j'arréte easyphp pour simuler une panne de serveur.
J'actualise la page, et il m'affiche ces 2 Warnings :
 
 Warning: Can't connect to MySQL server on 'localhost' (10061) in c:\arborescence\page.php on line 9
 
 Warning: MySQL Connection Failed: Can't connect to MySQL server on 'localhost' (10061) in c:\arborescence\page.php on line 9
 Can't connect to MySQL server on 'localhost' (10061)
 
 
Ici l'erreur vient de la connection a la base, je rajoute donc un test avec message d'erreur:
 mysql_connect($hostname, $username, $password) or die("mon message d'erreur" );
 
 
En cas d'erreur, il m'affiche bien le message mais il laisse les 2 warnings (!) :
 
 Warning: Can't connect to MySQL server on 'localhost' (10061) in c:\arborescence\page.php on line 9
 
 Warning: MySQL Connection Failed: Can't connect to MySQL server on 'localhost' (10061) in c:\arborescence\page.php on line 9
 mon message d'erreur
 
 
Je cherche donc un moyen pour empecher l'affichage de TOUS les messages en les remplaçant par mes propres messages d'erreurs.
 
Merci pour votre aide.
 
@+
 
Dead.metheny

mood
Publicité
Posté le 02-08-2002 à 17:11:42  profilanswer
 

n°188880
z0rglub
Posté le 02-08-2002 à 17:22:43  profilanswer
 

rajoute un "@" devant tes fonctions.
exemple : @mysql_connect(...)


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
n°188900
Snipe Foo
Head Shot !!!
Posté le 02-08-2002 à 18:06:00  profilanswer
 

edit ton php.ini et reporte toi a la section :
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
tu choisis le niveau de report
le mien comporte cette ligne :
error_reporting  = E_ALL & ~(E_NOTICE | E_USER_NOTICE | E_WARNING | E_COMPILE_WARNING | E_CORE_WARNING | E_USER_WARNING) ; display all errors
 
et je n'ai que les erreur, pas les warnings

n°188991
Dost67
Posté le 02-08-2002 à 20:38:45  profilanswer
 

:ouch:
C grave pour ton application le fait que tu ne sache pas comment changer le report d'erreur. En effet, si tu ne sais pas, c'est que tu n'as pas programmé ton application en E_ALL puisque par défaut c'est en E_ALL & ~E_NOTICE.
Or il faut TOUJOURS programmer en E_ALL.
Une fois sur le Web tu mets alors le error_reporting sur 0.


Message édité par Dost67 le 02-08-2002 à 20:39:21
n°189005
Snipe Foo
Head Shot !!!
Posté le 02-08-2002 à 20:53:26  profilanswer
 

Euh, c'est pour qui que tu dis ça ?

n°189010
Dost67
Posté le 02-08-2002 à 20:57:18  profilanswer
 

Je l'ai dit pour tt le monde... Développez tjrs en E_ALL.

n°189011
Snipe Foo
Head Shot !!!
Posté le 02-08-2002 à 20:57:56  profilanswer
 

quel est le risque sinon ?

n°189025
Dost67
Posté le 02-08-2002 à 21:11:46  profilanswer
 

Sinon c'est mal programmé... Car il reste des erreurs. Des fois ça aide aussi pour aller + vite, si par exemple tu fais une faute dans le nom d'une variable tu t'en rendras compte immédiatement en E_ALL.

n°189028
Dost67
Posté le 02-08-2002 à 21:13:35  profilanswer
 

Ex l'autre jour j'avais une variable $newProject. A un moment j'ai fait :

Code :
  1. echo $newPoject


Eh bien PHP ne m'a pas raté /--> Undefined variable $newPoject...
Sinon je ne me serais pas rendu compte de l'erreur aussi vite.


Message édité par Dost67 le 02-08-2002 à 21:13:41
n°189041
Snipe Foo
Head Shot !!!
Posté le 02-08-2002 à 21:22:47  profilanswer
 

ouais mais moi j'ai plein de notice, c'est chiant...

mood
Publicité
Posté le 02-08-2002 à 21:22:47  profilanswer
 

n°189088
deadmethen​y
Posté le 02-08-2002 à 21:52:39  profilanswer
 

Ok, c'était bien le @.
Merci.
 
@+
 
Dead.metheny

n°189323
Dost67
Posté le 03-08-2002 à 16:28:45  profilanswer
 

Snipe Foo a écrit a écrit :

ouais mais moi j'ai plein de notice, c'est chiant...




C parce que c'est mal programmé :D:D.
 
C'est pas mission impossible... Je le fais et d'autre le font (Je@nb je crois aussi fait de la pub pour le E_ALL).

n°189452
Je@nb
Kindly give dime
Posté le 04-08-2002 à 01:59:27  profilanswer
 

oué, E_ALL rulezzzz, c un puissant debuggeur et qd on est perfectionniste comme moi, c vraiment la classe.
 
Règle n°1 : E_ALL
Règle n°2 : register global sur off
Règle n°3 (si c hébergé sur un serveur où on peut changer le php.ini) : magic quote gpc off

n°189496
Snipe Foo
Head Shot !!!
Posté le 04-08-2002 à 12:54:03  profilanswer
 

voila pourquoi j'ai des notice (exemple) je fais un $lang=$_GET['lang']; mais il est possible que la page est été appelée sans l'extention ?lang=fr donc j'ai une notice qui me dit que $_GET['lang'] existe pas, logique. Y'a une technique pour éviter ça sans rajouter trop de code ?

n°189497
Snipe Foo
Head Shot !!!
Posté le 04-08-2002 à 12:54:54  profilanswer
 

comme g la flemme de chercher, c koi magic quote, c'est un truc qui met des quote ou t'as oublié ?

n°189500
Stligar
Posté le 04-08-2002 à 13:05:07  profilanswer
 

Snipe Foo a écrit a écrit :

voila pourquoi j'ai des notice (exemple) je fais un $lang=$_GET['lang']; mais il est possible que la page est été appelée sans l'extention ?lang=fr donc j'ai une notice qui me dit que $_GET['lang'] existe pas, logique. Y'a une technique pour éviter ça sans rajouter trop de code ?




 
tu teste si la variable existe :  

Code :
  1. if (isset($_GET['lang'])
  2. {
  3. ...
  4. }

n°189502
Snipe Foo
Head Shot !!!
Posté le 04-08-2002 à 13:09:23  profilanswer
 

ok c'est plus clean, mais ça ajoute du code, quelles sont les conséquences d'un notice ?

n°189572
Je@nb
Kindly give dime
Posté le 04-08-2002 à 19:43:26  profilanswer
 

une faille dans ton code
 
 
sinon magic quote, regarde il i a 2 article sur phpinfo : une sur les magic quote et un sur les spécifications du nouvo php (php 4.1.0 normalement)

n°189573
Snipe Foo
Head Shot !!!
Posté le 04-08-2002 à 19:47:30  profilanswer
 

une faille dans mon code, c'est a dire ? Cette variable n'est pas du tout importante...
 
merci pour phpinfo :jap:

n°189575
Je@nb
Kindly give dime
Posté le 04-08-2002 à 20:11:51  profilanswer
 

Snipe Foo a écrit a écrit :

une faille dans mon code, c'est a dire ? Cette variable n'est pas du tout importante...
 
merci pour phpinfo :jap:  




 
dans ce cas, c bon, mais évite d'en avoir trop.
Aussi, pk utilise tu $lang o lieu de $_GET['lang'] ?, ça te fait une affectation supplémentaire et d'autres je pense si tu le fait pour tout.
 
Enfin, c pas mon script, moi je suis trop perfectionniste

n°189580
Snipe Foo
Head Shot !!!
Posté le 04-08-2002 à 20:24:34  profilanswer
 

merci de ces conseils :jap:  
 
a propos des magiques quotes, tu as fait ta propre methode pour les addslashes, ou tu force le magiquequote au debut du script ?

n°189582
Je@nb
Kindly give dime
Posté le 04-08-2002 à 20:38:29  profilanswer
 

hébergeant sur mon serveur perso @home, g magicquote sur off donc je fait les addslashes qd besoin est

n°195982
Dost67
Posté le 16-08-2002 à 13:47:10  profilanswer
 

Toutes les variables à récupérer doivent être récupérées comme ça :

Code :
  1. empty($_GET['lang']) ? $lang = '' : $lang = trim(urldecode(stripslashes($_GET['lang'])));


Message édité par Dost67 le 16-08-2002 à 13:47:22
n°195984
Dost67
Posté le 16-08-2002 à 13:49:07  profilanswer
 

Je@nb a écrit a écrit :

hébergeant sur mon serveur perso @home, g magicquote sur off donc je fait les addslashes qd besoin est




 
Fais attention avec ça ... Moi je laisse l'auto-addslashes parce que quand je mets mes scripts sur un serveur qui les ajoute auto j'ai des pb.
Mais je fais tjrs un stripslashes() au début.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  masquer les warnings (help!)

 

Sujets relatifs
[NB] Help, c'est quoi la différence entre PL-SQL et SQLneed help pour mettre a jour un select
pb fermeture session.. help!!!!! moi pa comprendre....MySQL et DSN => HELP...
[help please] base programmation et javascript???[CSS] Tableless -> Need HELP
[ JS ] erreur HELPBase de donnée Access et sécurité? HELP.. URGENT (merci)
[Calques] Help ! La position relative me decale tout ![Help] Soft qui clique automatiquement sur un bouton....
Plus de sujets relatifs à : masquer les warnings (help!)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR