Ya ahora si.
para usar header no puede haber codigo html antes del codigo php donde lo usas.
aca tu codigo me parece que esta malo, creas un arreglo claves['test'] y despues cuando quieres redireccionar usabas claves['password'] que no existe.
Código PHP:
<?
if($_POST['pass']){
$p = $_POST['pass'];
$claves = array();
$claves['test'] = 'test/test.html';
header("location: ".$claves['test']."");
}
else{echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form name="form1" method="post" action="">
<input name="usuario" type="text" id="usuario" value="Usuario">
<input name="pass" type="password" id="pass" value="Contraseña">
<input type="submit" name="submit" id="submit" value="Entrar">
</form>
</body>
</html>
'; }?>