> dans ce cas ici, je fais un controle sur la forme de l'adresse email, il ne peut donc pas rentrer juste "errmail=1"
ça ne dépends pas de l entrée de l utilisateur.
explication:
PHP autorise à ce que les paramètre de l url, en GET et POST, soient déclarés comme variables globales. Ça dépends de la configuration en fait. Cette configuration n est en général pas recommandé, mais est très pratique et beaucoup de serveurs l on par défaut.
Par exemple quand tu as une page index.php, si appelle la page avec ``index.php?errmail=1``, ça va créer la variable globale errmail initialisée à 1.
Ça n est pas la seule raison, il y en a une autre valables aussi avec d autres languages:
c est pour faciliter la relecture.
Si ton programme tombe entre les mains d une autre personne, ou que tu veut le corriger au bout d un an, comme tu écrit errmail=1 on peut présupposé que errmail a été initialisé à 0. Celà peut conduire à des bugs, et rends la modification du programme plus délicate: méfiant, tu va chercher où se trouve l initialisation et tu devra lire tout le programme pour te rendre compte qu elle n est jamais initialisée. Dans le doute tu devra peut être même réécrire ce morceau de code, pour être sûr.
Au final tout ces inconvénients sont évités en initialisant toujours les variables.