UPDATE non aggiorna i record
Ciao, descrivo velocemente il problema.
Ho creato questa funzione molto semplice, se la variabile $_POST['aggiorna'] non è stata definita stampa un form, altrimenti elabora il codice che aggiornerà i record nella tabella.
Lo script funziona in entrambi i casi, non dà nessun errore e continua l'esecuzione.. semplicemente dopo aver mandato i query al database corretto, tabella corretta e colonne corrette.. non aggiorna i record!
Ecco il codice:
Codice PHP:
<?php
function aggiorna() {
if(!isset($_POST['aggiorna'])){
$nomeutente = $_SESSION['utente'];
$queryaccount = "SELECT id, username, numerositi, ip, avatar, telefono, nome, cognome FROM utenti WHERE username = '$nomeutente'";
$query = mysql_query($queryaccount);
$account = mysql_fetch_array($query);
$id = $account[0];
echo "Benvenuto nelle impostazioni account <b>".$_SESSION['utente']."</b><br>Qui puoi gestire le impostazioni del tuo account e pubblicare eventuali portali!";
echo "<h1> IMPOSTAZIONI ACCOUNT</h1>";
echo "(Codice ID: $id)<pre>Nome : ".$account[6]."";
echo "<br>Cognome : ".$account[7]."";
echo "<br>Username: ".$account[1]." ";
echo "<br>Siti web gestiti: ".$account[2]."";
echo "<br>Indirizzo IP di registrazione: ".$account[3]."";
echo "<br>Telefono: ".$account[5]."";
echo "<br>Avatar: ".$account[4]."</pre>";
echo "<p><i> Aggiorna i tuoi dati</i></p>";
?>
<form method="post" action="account.php">
<label for="nomeaggiornato">Nome</label><br>
<input type="text" name="nomeaggiornato"><br><br>
<label for="cognomeaggiornato">Cognome</label><br>
<input type="text" name="cognomeaggiornato"><br><br>
<label for="telefonoaggiornato">Telefono</label><br>
<input type="text" name="telefonoaggiornato"><br>
<input type="submit" name="aggiorna" value="Aggiorna dati" />
</form>
<?php
echo "<br><br><h1> IMPOSTAZIONI SITO</h1>";
} else {
$nomeaggiornato = $_POST['nomeaggiornato'];
$cognomeaggiornato = $_POST['cognomeaggiornato'];
$telefonoaggiornato = $_POST['telefonoaggiornato'];
mysql_query("UPDATE utenti SET telefono = '$telefonoaggiornato', nome = '$nomeaggiornato', cognome = '$cognomeaggiornato' WHERE id = '$id'") or die("ERRORE: ". mysql_error());
echo "$nomeaggiornato <-Se visualizzi questo messaggio e il nome aggiornato l'errore non è del ciclo ma un'incomprensione col database";
header("Refresh: 1; URL= account.php");
}
}
?>