Primero: (y de atrevido, porque no sé si se aplica) no uses variables globales, usá la matriz $_COOKIE
Segundo: ¿decís que no funciona porque no hace la redireccion? Eso es simple, lo que sucede es que no se hace así
Código PHP:
echo ("Location: index.php");
sino así
Código PHP:
header("Location: index.php");
Además, tené en cuenta que si redireccionás, el mensaje de error nunca se va a ver. Y también tené en cuenta que las cabeceras (headers) deben mandarse ANTES que cualquier texto. Lo conveniente sería redireccionar de esta forma:
Código PHP:
header("Location: index.php?error=1");
y luego en index.php comprobás si el valor de la variable $_GET['error'] es 1, si lo es, mostrás el mensaje de error en algún lugar de la página.
Saludos.