Código PHP:
$sql = "SELECT * FROM $sql_tabla WHERE email ='".$_POST['email']."' AND estado = 'A'";
Me parece que estás autentificando a un usuario tomando como base el email que ingresó y que su estado sea "A".
Me parece fuera de lo común, supondría que debes hacerlo con nombre de usuario y una contraseña. O email y contraseña.
Aparte, verificas que el resultado de tu consulta sea DIFERENTE DE CERO. Pero, ¿qué pasa si por extraño que parezca, existen DOS o más usuarios con el mismo email? ¿verificas este dato al dar de alta al usuario?
Me parece que lo correcto es verificar que existe uno y solo un usuario con los datos con los cuales verificas.
El resto, pues, primero hay que descartar lo otro.
Por cierto, tomas los datos para la sesión de la variable $usuario_datos,
¿ no debería ser de $usuario_consulta ?
Aunque me parece que tendría que ser algo así como
Código PHP:
$_SESSION['usuario_id']=mysql_result($usuario_consulta ,0,"id");