Buenas tardes.

escribo para pedirles una ayuda con un problema que tengo al momento de trabajar en mi app. web, app esta echa en html y php, como gestor de bd tengo mysql, esta alojada en un servidor web.

El caso es el siguiente:

-la conexion a bd esta ok
-la verificación de datos esta ok
-pero al momento de redirigir a cada usuario a su distinto perfil se queda en una patalla en blanco y en la barra de dirección sale esto
"http://www.appweb.com/redir.php"
-otra cuestión es que al parecer el session_start no esta funcionando pues perfectamente puedo navegar desde cualquier pc en la app. con la barrra de direccion

me explico:
esta es la pagina de inicio(no es la real solo el ejemplo)
-http://www.appweb.com
partiendo de ella si quisiera entraba a en distintos perfiles y archivos dentro de la app
asi:
-http://www.appweb.com/usuario/gerencia.html

sin siquiera haber logeado.

Colocare los php que estoy usando(tomados de un post de un miembro del foro) que los adecue para mi app.

agradecería toda ayuda pronta para resolver el problema.

login.php

<?php
session_start();
header("Cache-control: private");
require_once("conexion.php");

$sql = "select * from usuarios where id_user = '". mysql_real_escape_string ($_POST['usuario'])."' and pass = '".mysql_real_escape_string ($_POST['contrasena'])."' limit 1";
$resultado = mysql_query($sql) or die (mysql_error());
$data = mysql_fetch_array($resultado);

if($data==0) { header('Location:index.html?error=eu'); }

else {
$_SESSION['idLogin'] = $_POST['usuario'];
header('Location:redir.php');

}?>


el archivo que direccionamiento a cada perfil

redir.php

<?php

session_start();
header("Cache-control: private");

require_once("conexion.php");

if(!$_SESSION['idLogin'] !="0") {
header('Location:"../../index.html?error=es"'); }
else {
$sql = "select id_user,perfil from usuarios where id_user = '$id_user'";
$resultado = mysql_query($sql) or die (mysql_error());
$data = mysql_fetch_array($resultado);

switch ($data['perfil']) {
case 1: header('Location: usuarios/sistemas/sistemas.html'); break;
case 2: header('Location: usuarios/mantenimiento.html'); break;
default: break; }
}
?>


el html al cual debe ser redirigido ejemplo el case 1

sistemas.html

<?php
session_start();
header("Cache-control: private");
require_once('Location:"../../conexion.php");
if(!$_SESSION['idLogin'] !="0") {
header('Location:../../index.html?error=es'); }
?>
<html
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Pragma" content="no-cache" />

<title>perfil del usuario</title>

<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>
<div id="footer">
<div class="copyright">
<a href="../../logout.php">Salir</a>
</div>
<div class="footer_links">texto</div>
<div class="fcenter">texto</div>
</div>
</body>
</html>

Reitero que la conexión esta bien, al parecer se queda colgado en la parte de direccionamiento, y lo otro es el session_start esta mal, no debería navegar por la barra de direcciones sin estar logeado mucho menos a perfiles que no debería.

Agradezco toda ayuda que me puedan prestar.