Dunque ho una pagina nella quale effettuo un login tramite una password spedita via $_POST a questa pagina:

Codice PHP:
<?php
 session_start
();
$_SESSION['autorizzato'] = FALSE;

if(
login($_POST['password']))
{
    
$_SESSION['autorizzato'] = TRUE;
    
redirect('edit.php',3);
}
else
    
redirect('login.php',3);
?>
premetto che login() è una mia funzione che controlla la password inserita in un database e restituisce TRUE o FALSE a seconda se la pass è sbagliata oppure no.
invece redirect() come si può immaginare fa un redirect

nel caso in cui la password sia corretta verrò indirizzato nella pagina edit.php dove c'è questo codice:
Codice PHP:
<?php
    session_start
();
    if(!
$_SESSION['autorizzato'])
    {
        
redirect('login.php',3);
        exit();
    }
?>
<html ......
In poche parole dovrebbe ricontrollare tra le variabili di sessione, se l'utente è autorizzato o meno ad accedere alla pagina.

E qui viene il dramma, inizialmente stavo testando il sito con Chrome e andava tutto alla perfezione, poi provo con Firefox e Explorer e ho notato che da questi browser la pagina edit.php mi rifiutava rispedendomi su login.php
Analizzando i dati sul server ftp ho notato che c'erano tanti file di sessione pendenti nella cartella phptemp.
Da questo ho capito che ogni volta che eseguo un session_start() i cookies non vengono utilizzati e di conseguenza viene aperta una nuova sessione al posto di ripristinare quella già aperta nella pagina precedente.
Controllo i cookies dei vari browser e per prova ho cancellato i cookies che avevo su chrome.
Ora non mi funziona nemmeno da chrome
Non riesco a capire il motivo, i cookies li ho attivi in tutti i browser e lo script funzionava fino a qualche ora fa.

Inoltre ho visto che passandomi la session_id via $_GET e dichiarando l'ID di sessione ogni volta che uso session_start(), il tutto funziona egregiamente.
Ma so che è altamente sconsigliato usare questo modo e inoltre mi creerebbe altri problemi che non vi sto a dire....

Per piacere aiutatemi, grazie ciao!