Tester si une variable est un array

Petit nouveau ! | 2 Messages

06 nov. 2007, 22:53

Bonsoir/Bonjour,

Je voulais savoir quels sont les moyens possibles pour éviter l'affichage d'un fullpath lors d'une erreur.
Par exemple j'ai une url http://site/index.php?id=3 et si je transforme la variable en array http://site/index.php?id[]= j'ai une erreur comme celle-ci :
Warning: preg_match() expects parameter 2 to be string, array given in /*/*/*/*/dossier/index.php on line 14
Hélàs elle donne trop d'information qui pourrait servir à une futur exploitation :)
Donc voilà je cherche a camoufler ce genre d'erreur et je me demandais comment procédé pour vérifier si la variable "id" est un array, pour si c'est le cas afficher un message "non autorisé" ou autres..

Merci d'avance,

Retro

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 nov. 2007, 22:58

est-ce que is_array() te conviendrais ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

06 nov. 2007, 22:59

Hélàs elle donne trop d'information [...]
Pour ça c'est facile, il suffit de désactiver l'affichage des erreurs. Et pour compléter, journaliser les erreurs dans un fichier local :
ini_set('display_errors', false);
ini_set('log_errors', true);
ini_set('error_log', './error.log');
À part ça, la fonction que tu cherches est is_array()

Petit nouveau ! | 2 Messages

06 nov. 2007, 23:23

Super !
Merci pour votre aide précieuse ;)