Ho trovato qualche errore.. e ho cercato di sistemarlo meglio che potevo..

vedi te se ti piace..
piccoli consigli quando fate queste cose..
non richiamare mai una chiave dentro un'array senza apici..
sbagliato: $_POST[chiave]
giusto: $_POST['chiave']
non sai mai cosa ti va a prendere

fai sempre un trim sulle $_GET e le $_POST che butti dirette nelle query..
non si sa mai..

se c'è qualche problema fa sapere

Codice PHP:
<?php
// comodità mia
function CheckUser($username$password) {
    
$sql_controllo="SELECT username, password,id FROM iscritti WHERE username = '$username' AND password = '$password'";
    
$result_controllo mysql_query($sql_controllo); 
    if ((
$controllo mysql_fetch_array($result_controllo)) != false) {
        
// Sempre negli array in generale.. metti i nomi delle chiavi fra apici
        
$_SESSION['loggato']="si";
        
$_SESSION['username']= $controllo['username'];
        
$_SESSION['id_user']= $controllo['id'];
        
setcookie ("username"$controllo['username'],time()+31536000,"/") ;
        
setcookie ("password"$controllo['password'],time()+31536000,"/") ;
    }
}

//INIZIO CONTROLLI LOGIN
session_start ();
include 
"../dati.php" 
mysql_select_db($db_name$db);
// Login
if ($_GET[action]=="login") {
    
// occhio alle variabili.. non tutte le puoi inserire dentro una stringa
    // anche un'altra cosa, fagli sempre almeno un trim su tutte le variabili
    // che ti passano e che vai a mettere nelle query (giusto per evitare i furboni)
    
CheckUser(trim($_POST['username']), trim($_POST['password']));
} elseif ( 
$_GET['action']=="logout") {
    
// $_SESSION['loggato']="no"; // questo è inutile visto che dopo disturggi la sessione
    
$_SESSION = array(); // giusto per evitare cose strane
    
session_destroy();
    
session_unset();
    
setcookie ("username"""time() - 31536000,"/"); 
    
setcookie ("password"""time() - 31536000,"/"); 
} elseif ((
$_COOKIE['username']) AND ($_COOKIE['password'])) {
    
CheckUser(trim($_COOKIE['username']), trim($_COOKIE['password']));
}

if ( 
$_SESSION['loggato']=="si") {
    
$login="ok";
} else { 
    
$login="no";
}

// questa non l'ho capita.. a cosa serve??? dal momento che è loggato sei sicuro che è a posto
// forse lo utilizzi per il debug
if ( $login=="ok" )  { $sql_user="SELECT * FROM iscritti WHERE id = '" .$_SESSION['id_user'] ."' ";
$result_user mysql_query($sql_user); 
$users mysql_fetch_array($result_user); }
//FINE CONTROLLI LOGIN

?>