Salve a tutti, da poco sto sviluppando un browser game, ho creato i file di registrazione e login, tutti e due sono perfettamente funzionanti, il problema è che quando eseguo il login nella index, utilizzando il seguente codice:
index.php 
	Codice PHP:
	
<?php
session_start();
require('configurazione.php'); 
if(!isset($_SESSION['log']))
{
$_SESSION['log'] = 0;
}
if(!isset($_SESSION['username']))
{
$_SESSION['username'] = "Non Registrato";
}
// Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è loggato
if ($_SESSION['log'] != 1)
{
// Se non lo è procediamo come segue:
if(isset($_POST['password']) && isset($_POST['username']))
{
  $qry_pass = mysql_real_escape_string(md5($_POST['password']));
  $qry_user = mysql_real_escape_string($_POST['username']);
  
  $query = "SELECT * " .
            "FROM utenti " .
            "WHERE username = '$qry_user' " .
            "AND password = '$qry_pass' " .
            "AND user_reg = 1 ";
  $results = mysql_query($query) or die (mysql_error());
  if(mysql_num_rows($results) != 0)
  {
   $row = mysql_fetch_array($results);
   $_SESSION['log'] = 1; // utente loggato
   $_SESSION['username'] = $row['username'];
   $_SESSION['oro'] = $row['oro'];
   $_SESSION['livello'] = $row['livello'];
   $_SESSION['id'] = $row['id'];
   $_SESSION['ip'] = $row['ip'];
  }
}
}
echo "Utente on-line: [b]" . $_SESSION['username'] . "[/b]
";
?>
<html>
<head>
<title>Home Page</title>
<SCRIPT LANGUAGE="JavaScript">
function ver()
   {
   for (i=0; i<document.forms[0].elements.length; ++i)
      if(document.forms[0].elements[i].value == "")
         {
         alert("Inserire username e password!");
         document.forms[0].elements[i].focus();
         return false;
         }
   return true;
   }
</SCRIPT>
</head>
<body>
<?php
/*A seconda del valore contenuto in $_SESSION['log'] 0/1
possiamo visulizzare alcune parti html piuttosto che altre.*/
if ($_SESSION['log'] != 1)
{
?>
<form name="login" action="index.php" method="post" onSubmit="return ver();">
Username
<input name="username" type="text" size="15" maxlength="11">
Password
<input name="password" type="password" maxlength="8">
<input type="submit" name="submit" value="Login">
</form>
</p>
Non ti sei ancora registrato?</p>
[url="registrazione.php"]Clicca qui e registrati subito![/url]</p>
<?php
}else {
    
header("Location: vista.php");
    
?>
<?php
}
?>
</body>
</html>
 
Come potete vedere se il login ha successo si passa alla pagina vista.php che contiente il seguente codice:
	Codice PHP:
	
<?php session_start(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<SCRIPT LANGUAGE="JavaScript">
function ver()
   {
   for (i=0; i<document.forms[0].elements.length; ++i)
      if(document.forms[0].elements[i].value == "")
         {
         alert("Inserire username e password!");
         document.forms[0].elements[i].focus();
         return false;
         }
   return true;
   }
</SCRIPT>
</head>
<body>
<?php
require('configurazione.php'); 
$_SESSION['username'] = $row['username'];
if(!isset($_SESSION['log']))
{
$_SESSION['log'] = 0;
}
else {
    
$_SESSION['log'] = 1;
    
}
if(!isset($_SESSION['username']))
{
$_SESSION['username'] = "Non Registrato";
}
if ($_SESSION['log'] = 1) { 
    
       $_SESSION['username'] = $row['username'];
}
?>
<div align='center'>[img]img/oro.png[/img][b]<?php echo $_SESSION['oro'] ?>[/b]</div>
<div align='center'>[b]Livello: <?php echo $_SESSION['livello'] ?>[/b]</div>
<div align='center'>[b]Username:<?php echo $_SESSION['username'] ?>[/b]</div>
<div align='left'>[url="missione.php"]Missioni[/url][/b]</div>
<form name="logout" action="logout.php" method="post" onSubmit="return ver();">
<input type="submit" name="submit" value="Logout">
</form>
</body>
</html>
 
Qui vengono visualizzati l'oro che ogni giocatore possiede ed il livello (all'inizio uguali per tutti), il problema è che se provassi a visualizzare l'id, l'username o l'ip non me li farebbe vedere, perchè sono diversi da giocatore a giocatore. Il punto è questo, $_SESSION mostra soltanto i campi che tutti gli utenti hanno uguali cioè oro che parte da 1500 e livello in quanto tutti partono dal livello 1.
Come posso fare in modo che vengano visualizzate anche username ecc. sempre mediante $_SESSION ?
Grazie in anticipo e Buone Feste,
marf