Sto provando un sistema di login con uso di sessioni che ho copiaincollato qualche tempo fa da una discussione su questo forum.

Sembrerebbe tutto a posto ma, nelle pagine protette, indipendentemente da quale user e password io inserisca (anche quelle corrette admin / admin), quando premo invio i campi del form si resettano e non si può accedere.

In locale o su Altervista il risultato è lo stesso.
Vi posto il codice, così chi vuole gli dà un'occhiata, ma indipendentemente che lo guardiate o meno, il fatto che il form resetti i campi quando premo invio senza che avvenga il login è indice di quale errore? Configurazione di php o errore nello script?
Grazie a chi mi vorrà rispondere. Un saluto a tutti.

Codice PHP:
<?php
//Da inserire all'inizio di ogni pagina che si vuole proteggere
require_once ("login.php");
?>

<?php 
//USERS.PHP
$users['admin'] = "admin"
?> 

<?php 
//LOGIN.PHP
session_start();
require_once (
"users.php");

  if  ( !isset(
$_POST['user']) || !isset($_POST['pass']) || !isset($_SESSION['user']) || !isset($_SESSION['pass']) ) { 
      
form(); 
      exit; 
  }
  
  elseif  ( !
check_login($_POST['user'], $_POST['pass'], $users) )  { 
      
form "Username e/o password errati." ); 
      exit; 
  }
  
  elseif ( !
check_login($_SESSION['user'], $_SESSION['pass'], $users) )  { 
      
form("Username e/o password di sessione errati."); 
      exit; 
  } 
  
  elseif ( 
check_login($_POST['user'], $_POST['pass'], $users) )  { 
      
$_SESSION['user'] = $_POST['user']; 
      
$_SESSION['pass'] = $_POST['pass'];
  } 

  function 
check_login $user$pass$users )  { 
      foreach(
$users as $key => $value) { 
           if ( 
$user == $key && $pass == $value )  { 
                 return 
true
            } 
      } 
      return 
false



  function 
form$message="" )  { 
      echo 
"
<form action='?' method='post'> 
<h2>Login</h2> 
Username: <input type='text' name='user'>
 
Password: <input type='password' name='pass'>

    "

      if  (
$message != "") echo $message
    echo 
"
<input type='submit' value='login'>
</form>
    "


?>