Pero .. te has fijado en el código anterior?
Código PHP:
$url = explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die ("Error cod.:1 - Acceso incorrecto!");
exit;
}
Si no vas a usar HTTP_REFERER .. tendrás que dejar fijo a un URL dato el valor de $redir .. concretamente el formulairo de Login que uses en el URL que esté completo.
Intenta comprender que hace el script. .no es tan complicado (apenas un "if") . .si no entiendes algo, pregunta, pero no pongas/quites código por hacerlo .. por qué así tendrás problemas como los que mencionas o comportamientos inesperados del script.
Un saludo,