allora ho creato un login per un broswer game
Codice PHP:
session_start();
if($_SESSION['log'] == "0") {
if(isset($_POST['log'])) {
$username=htmlentities(mysql_real_escape_string($_POST['username']));
$password=htmlentities(mysql_real_escape_string($_POST['password']));
if($username == "" or $password == "") {
errore("1","Compila tutti i campi!");
} else {
db($db);
$crypt_pass=md5($password);
$query="SELECT * from user WHERE username = '$username' AND password = '$crypt_pass'";
$risultato=mysql_query($query);
$num_righe=mysql_num_rows($risultato);
if($num_righe) {
$row_user=mysql_fetch_array($risultato);
if($row_user[attivo] == "0") {
errore("1","Non hai ancora confermato la tua email!");
} elseif($row_user[attivo] == "1") {
errore("1","Hai confermato l'email pero non hai ancora fondato la tua citta!");
} elseif($row_user[attivo] == "2") {
$id=$row[id];
$query="SELECT * from citta WHERE propietario = '$username' AND id_proprietario = '$id'";
$risultato=mysql_query($query);
$_SESSION['log']="1";
$_SESSION['username']=$row_user[username];
$_SESSION['email']=$row_user[email];
$_SESSION['data_registrazione']=$row_user[data_registrazione];
$_SESSION['popolo']=$row_user[popolo];
$citta=0;
while($row_citta=mysql_fetch_array($risultato)) {
$citta++;
$_SESSION['citta']=$citta;
$_SESSION['nome_citta_$citta']=$row_citta[nome];
$_SESSION['x_citta_$citta']=$row_citta[x];
$_SESSION['y_citta_$citta']=$row_citta[y];
$_SESSION['pop_citta_$citta']=$row_citta[popolazione];
$_SESSION['oro_citta_$citta']=$row_citta[oro];
$_SESSION['grano_citta_$citta']=$row_citta[grano];
$_SESSION['legno_citta_$citta']=$row_citta[legno];
$_SESSION['pietra_citta_$citta']=$row_citta[pietra];
}
ok("0","Login avvenuto con successo!");
}
} else {
errore("1","Combinazione username/password sbagliata!");
}
}
} else {?>
<form method="post">
<input type="hidden" name="log" />
<table width="240" border="0">
<tr>
<td width="89">Username:</td>
<td width="144"><input name="username" type="text" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="entra" /></td>
</tr>
</table>
</form>
<? }
} else {
header("Location: index.php");
}
spiego velocemente cosa dovrebbe fare
fa dei normali controlli sui dati dopo verifica che l'utente ha confermato la email e in seguito imposta delle sessioni, esegue un while su un altra tabella impostando altre sessioni in base al numero di righe che trova nella tabella
il problema:
fino ad impostare il primo gruppo di sessioni ariiva ma dopo di che nn esegue corretamente il while e non imposta le sessioni
come posso risolvere?
grz in anticipo