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 > 0 ) $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