Ya lo tengo por si a alguien le interesa:
el problema estaba en la seguna pagina y tercera pagina
aqui les dejo el codigo
Código PHP:
session_start();
$conn = mysql_connect("dominio", "usuario", "clave") or die(mysql_error());
mysql_select_db("bd", $conn) or die(mysql_error());
$pass = $_POST['pass'];
$ask = "SELECT * FROM tabla WHERE campo=(SHA1('$pass'))";
$resultx = mysql_query($ask);
$rowq = mysql_fetch_array($resultx);
$url = $rowq['campo1'];
$level = $rowq['campo2'];
if (mysql_num_rows($resultx)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION['north'] = $level;
if ($_POST["code"] == $_SESSION["code"]) {
header ("Location:inicio.php");
}
// there was no match
elseif(isset($_POST['code']))
{
header("Location: index.php?errorcode");
}
unset($_SESSION['text']);
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorpass");
}
mysql_free_result($resultx);
mysql_close();
Código PHP:
session_start();
$conn = mysql_connect("dominio", "usuario", "clave") or die(mysql_error());
mysql_select_db("bd", $conn) or die(mysql_error());
$pass = $_SESSION['north'];
$ask = "SELECT * FROM tabla WHERE campo2='$pass'";
$resultx = mysql_query($ask) or die (mysql_error());
$rowq = mysql_fetch_array($resultx) or die (mysql_error());
if ($rowq['level'] != $pass) {
//si no existe, envio a la página de autentificacion
header("Location: index.php?=denied_access");
//ademas salgo de este script
exit();
}
Suerte