Ben c'est quand même pas top comme solution. Plus exactement cela reproduit bien le fonctionnement de register global, y compris ses failles de sécurité potentielles sur les variables non initialisées.
Un exemple basique, mais l'idée est là :
Code
while ($machin)
{ $sql .= $machin; }
mysql_query($sql);
J'appelle mon script ainsi : monscript.php?sql="DELETE FROM table WHERE 1" et j'efface toute la table.
C'est un exemple très épuré et schématique pour comprendre le problème.
Donc, il vaut mieux passer register global à off. En cas d'oubli du codeur, ça limite vraiment les dégâts.
Mais voici une astuce pour être register global off compatible.
1) Logguer toutes les notices, et les corriger. Si c'est codé à l'arrache, il va y avoir du boulot.
2) Passer a register global off
3) Logguer toutes les notices, et les corriger.
Et le tour est joué.
Enfin, facile à dire, il y a un peu de taf quand même.