Para la primera parte.. $ID no existe.. asi es que estas asociando un valor que no existe a una sesion..
Código PHP:
include("conexion.php");
$usuario=$_POST["usuario"];
$contrasena=$_POST["contrasena"];
$rs= mysql_query("SELECT * FROM usuarios_admin WHERE Nombre_Usuario='$usuario' and Clave_Usuario='$contrasena'");
//vemos si el usuario y contraseña es váildo
//llamamos los arrays en las siguiente linea.
if (mysql_num_rows($rs)!=0){
// como hay resultado de la consulta entonces lo dejo en la variable $row
$row = mysql_fetch_array($rs, MYSQL_ASSOC);
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"] = "SI";
$_SESSION['ID_Usuario'] = $row['ID']; // esta es la forma correcta
header ("Location: index1.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
Otra cosa.. que solamente es un comentario.. no utilices palabras para definir errores.. simplemente envia valores booleanos (0 = false ó 1 = true)
Tambien despues de que utilices mysql_query() trata de saber si ocurrio algun error utilizando por ej..
Código PHP:
$query = mysql_query ("select * from tabla");
if (!$query)
die ("Error #1: ".mysql_error());
o la forma corta
Código PHP:
$query = mysql_query("select * from tabla") or die("Error #2: ".mysql_error());