J'utilise PHP 5.1.6 (built: Nov 29 2010 16:47:37)
Si j'essaie de m'inscrire (en local), après avoir cliqué sur "inscription" j'obtiens :
Notice: Undefined variable: db in /var/www/html/hacking22/include/register.php on line 11
La raison me semble être la suivante (extrait de la doc php, valable pour php3, 4 et 5) :
<?php
$a = 1; /* portée globale */
function test()
{
echo $a; /* portée locale */
}
test();
?>
Le script n'affichera rien à l'écran car l'instruction echo() utilise la variable locale $a
De la même façon, $db est définie dans le scope global, mais dans la page register.php c'est une variable $db locale à la fonction appel qui me semble être appelée.
Une idée de ce qui ne va pas ?
Edit : en modifiant la fonction appel ainsi, tout va pour le mieux :
function appel($var)
{
global $db;
if (file_exists($var)) include($var);
else die("Il manque un fichier ");
}