Ciao! Devo andare a modificare un sito già fatto, il quale ha un form di login in una pagina interna del sito, e si vorrebbe riportarlo anche in home.

Detta così la cosa sembra semplicissima, ma non lo è. Ho ricopiato il codice pari pari, il form richiama una funzione di login tramite questo pulsante <A href=\"#\" onclick=\"document.frmlogin.submit()\" >[ Login ]</A></DIV>, la funzione di login sembra ben fatta:

Codice PHP:
function user_login() {
  global 
$link;
  global 
$email_logged;
  global 
$stato;
  global 
$bypsw;


if (
count($_POST)>0) { //se il post è settato, faccio i controlli sui campi

  
if (((!isset($_POST['loginemail'])) || (!isset($_POST['loginpsw'])) || (trim($_POST['loginemail'])=='') || (trim($_POST['loginpsw'])=='')) && (!isset($_GET['email']))) {
    
$stato '<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Mancano i dati per autenticarti.</DIV>';
    return 
$stato;
  
  } else {

    
$email strtolower(trim($_POST['loginemail']));
    
$password strtolower(trim($_POST['loginpsw']));
    
$crypt_psw md5($password);   // Se arrivo dalla conferma di registrazione non serve recryptare la psw.

        
if($bypsw==false)
              
$query "SELECT NOME, COGNOME, CONFERMATO, ULTIMOACCESSO, STATOADMIN FROM UTENTI WHERE EMAIL='$email' AND PSW='$crypt_psw'";
        else
             
$query "SELECT NOME, COGNOME, CONFERMATO, ULTIMOACCESSO, STATOADMIN FROM UTENTI WHERE EMAIL='$email'";

    
$result mysql_query($query,$link);
           if(
mysql_num_rows($result)<1){
      
              
$stato='<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Username o password non trovate ('.mysql_error().')</DIV>';
            return 
$stato;
    
        } else {
        
             if(
mysql_result($result,0,'CONFERMATO')=="1" && mysql_result($result,0,'STATOADMIN')!="B"){
                   
$nome=mysql_result($result,0,'NOME')." ".mysql_result($result,0,'COGNOME');
                
$ultimoaccesso=mysql_result($result,0,'ULTIMOACCESSO');
                
user_set_token($email,$nome,$ultimoaccesso);
                
$email_logged=$email;
                
$query="UPDATE UTENTI SET ULTIMOACCESSO=NOW() WHERE EMAIL='".$_POST['loginemail']."'";
                
mysql_query($query,$link);
                return 
1;
      
              } else {
       
                   
$stato '<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Se non hai ancora confermato il tuo account confermalo tramite il link che ti abbiamo spedito via mail. Se invece hai lo hai già confermato e non riesci ugualmente a fare il login contatta l\'amministratore.</DIV>';
                return 
$stato;
              }
        }
      }
    }

però funziona benissimo nella pagina interna, e nella home si limita a ricaricare la pagina!! C'è qualcosa che non colgo??! Grazie...