Si ya usas los arrays superglobales: $_SESSION .. NO hagas:
session_register("SESSION");
En tu login .. verifica la existencia de alguan de las variables que registras en la sesión: (por ejemplo)
Código PHP:
<?
session_start();
if(isset($_SESSION['login'])){
header("location: index.php");
} else {
Donbde haces esto:
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
$SESSION["id"]=$array["id"];
sería:
Código PHP:
$_SESSION["login"]=$login;
$_SESSION["nombre"]=$array["nombre"];
$_SESSION["apellidos"]=$array["apellidos"];
$_SESSION["id"]=$array["id"];
Y en la definición de la cookie ..
if(isset($array['remember'])){
setcookie("cookname", $_SESSION['nombre'], time()+60*60*24*100, "/");
setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/");
}
mejor usar las variables originales y no las de $_SESSION en ese instante por qué .. las variables de sesión no quedarán disponibles hasta la próxima petición al servidor (recarga de página . .cambio de página .. etc). Usa:
Código PHP:
if(isset($array['remember'])){
setcookie("cookname", $array['nombre'], time()+60*60*24*100, "/");
setcookie("cookpass", $array['password'], time()+60*60*24*100, "/");
}
Un saludo,