Hola:
Vamos a ver:
$id = $_GET["id"]
no contiene nada. Es nulo.
Literalmente estás diciendo lo siguiente: que la variable id es igual a la misma variable que, además, es nula.
Te recomiendo una atenta lectura acerca de las variables en general y sobre las de tipo sesión y globales de PHP. Las de tipo $_GET[] se pueden usar para tomar el valor de la misma variable que hemos pasado por URL. Por ejemplo:
pagina.php?variable=2
Si yo hiciera:
Código PHP:
echo "El valor es: ".$_GET["variable"];
El sistema me devolvería:
El valor es: 2
Po otro lado si dijeras:
Ahora la variable
sí estaría definida.
La directiva
register_globals establece el uso global de las variables en el servidor. Desde la versión 5.3 ya no se usa. Normalmente está como
off por cuestiones de seguridad, de ahí que utilicemos variables del tipo $_GET[] para pasar una variable de una página PHP a otra.
Espero que hayas entendido la explicación y recibe un saludo.