Io ho un form all'interno di un file, chiamato commenti.php, l'actions di questo form riporta alla pagina stessa (actions='commenti.php') e legge quel che c'è di seguito, cioè prima legge quello e poi il form:

Codice PHP:
[...]
echo 
$_POST['nickname'];
echo 
$_POST['commento'];
if (!(empty(
$_POST))) {
    
$user $_SERVER['REMOTE_ADDR'];
    
$agent $_SERVER['HTTP_USER_AGENT'];
    
$date_db time();
    
$nickname htmlentities($_POST['nickname']);
    
$commento htmlentities($_POST['commento']);
    if(!empty(
$nickname) || !empty($commento)) {
        
//controlliamo se i campi cotengono testo
        
if (empty($nickname)) {
            
$status "Non hai inserito il Nickname";
            (isset(
$commento)) ? $commento_text $commento $commento_text "";
        }
        if (empty(
$commento)) $status "Inserisci il tuo commento! (max 250 caratteri)";
    }
    else {
        
$db_commenti_sec "INSERT INTO commenti_"$sec ." (filename_code_extension, nickname, commento, userIP, date, agent) VALUES ('"$sourceID ."', '"$nickname ."', '" .$commento ."', '"$user ."', '"$date_db ."', '"$agent ."')";
        
//connessione al database
        
include 'database.php';

        
//salviamo il nickname e il commento nel database
        
$write mysql_query ($db_commenti_sec);
        if (
$write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
        else 
$status "Il commento è stato inserito correttamente";
    }
}
[...] 
Tutte le variabili sono dichiarate correttamente e la connessione al db è funzionante, pero non va, come mai? Quel'è il problema? Come risolverlo?

P.S.: dato che non mi appare nessun segno di errore e riappare il form, credo che il problema sia che if (!(empty($_POST))) non viene affatto letto.