Salve a tutti.
Navigando per il web ho trovato un semplice script in php che permette un livello base di protezione ad alcune aree riservate di un sito.
Si compone di 3 pagine, più una dove inserisco i dati (username e password) degli utenti che mi contattano per l'accesso.
L'ho modificato in base alle mie esigenze, ma il problema è che, testando il codice sul mio sito con Mozilla Firefox funziona a meraviglia, mentre invece con IE la pagina di login si blocca (cliccando su 'Accedi', gira a vuoto). Il problema però si è presentato anche ad una mia amica, la quale ha problemi anche con Firefox e addirittura con Opera ...mentre invece un mio amico non ha alcun problema, nemmeno con IE

Posto i codici, anche se credo che il problema risieda nelle impostazioni cookie dei browser...ma in ogni caso non saprei cosa fare quindi ...help!!!

login.php:
Codice PHP:
<?php
session_start
();
if (isset(
$_POST["invio"])) {
  
$puntatore fopen("INDIRIZZO DEL FILE CHE CONTIENE I DATI NOMEUTENTE E PASSOWRD.txt""r");
  
$trovato 0;
  while ((!
feof($puntatore)) && (!$trovato)) {
    
$linea fgets($puntatore);
    
$trovato stristr($linea$_POST["userid"]);
    
$puntatore++;
  }
  
fclose($puntatore);
  list(
$nomeutente$password) = split("~:~"$linea);
  if ((
$trovato)  && ($_POST["passwd"] == trim($password))) {
    
session_register('autorizzato');
    
$_SESSION["autorizzato"] = 1;
    
$destinazione "INDIRIZZO PRIMA PAGINA PROTETTA.php";
  } else {
    
$destinazione "destroy.php";
  }
  echo 
'<script language=javascript>document.location.href="'.$destinazione.'"</script>';
} else {
  
// HTML ?>
<? session_start
(); ?>
//codice HTML
    <form method="post" action="login.php">
    <.........>
     </form>
<? //fine HTML
}
?>
Se i dati non sono corretti, l'accesso viene bloccato con questo script che reindirizza alla pagina iniziale:

destroy.php
Codice PHP:
<?php
session_start
();
session_unset();
session_destroy();
?>
<script language="JavaScript">
document.location.href = "INDIRIZZO"
</script>
Questo è lo script che verifica l'accesso, e nel caso non sia stato effettuato, reindirizza ad una pagina che notifica l'errore:

check.php
Codice PHP:
<?php
session_start
();
if (!
session_is_registered('autorizzato')) {
  
header ("Location: INDIRIZZO"); 
  die;
}
?>
Naturalmente, ogni pagina protetta ha la seguente stringa
Codice PHP:
<? include("check.php"); ?>
prima del tag <html>.