Ecco il codice del mio login2.php:

Codice PHP:
<?php
include("config.inc.php");
$nick htmlspecialchars(trim($_POST["nick"]));
$pass md5($_POST["pass"]);
$query "SELECT id, nick, passw FROM utenti WHERE nick = '$nick'";
$q mysql_query($query);
$c mysql_num_rows($q);
if ( 
$c $v mysql_fetch_row($q);
else {
  
//header("Location: login.php");
  //exit;
  
echo "else";
}
if ( 
$v[2] == $pass ) {
    
$_SESSION["loggato"] = TRUE;
    
$_SESSION["IDlog"] = $v[0];
    
$_SESSION["nick"] = $v[1];
}
echo 
$v[0];
echo 
" // ";
echo 
$_SESSION[nick];
echo 
" // ";
echo 
$_SESSION[IDlog];
print_r($_SESSION);
print_r($v);
echo 
"fatto";

//header("Location: index.php");

?>
D'entro l'if ci entra ^^ e qui ok.
adesso vi scrivo gli i vari echo finali:

1 // stermi // Array ( [loggato] => 1 [IDlog] => [nick] => stermi ) Array ( [0] => 1 [1] => stermi [2] => 3f5bee793650e3f ) fatto

come vedete dentro $_SESSION[IDlog] ( dove dovrebbe risiedere l'ID dell'user ) non c'è niente... questo mi ha fatto pensare che dentro l'ID del db non ci sia nulla... invece se andiamo a vedere $v[0] che contiene l'ID del db c'è 1....

allora come mai non va a buon fine il $_SESSION["IDlog"] = $v[0]; ??

Un altra domanda quando faccio $_SESSION["loggato"] = TRUE; dentro $_SESSION["loggato"] ci infila 1... è normale cosi? cioe 1 == true?

grazie per le risposte