Ciao a tutti!
Non riesco a capire come mai la modifica non viene effettuata nel db.![]()
<?php
require ('connect.php');
$checkbox = isset($_POST['checkbox_']) ? (array) $_POST['checkbox_'] : array();
foreach($checkbox as $chek){ //per ogni checkbox selezionato esegui le seguenti istruzioni
$query = "SELECT id, nome, cognome, citta, indirizzo FROM dati_personali WHERE id=".intval($chek)." LIMIT 1";
$res= mysql_query($query) or die(mysql_error($query));
if($res){//se la query è andata a buon fine
while($str=mysql_fetch_array($res)){//per ogni riga presente nel database memorizzata nella variabile $res,
//preleva i dati e inseriscili nelle variabili definite.
$id=$str['id'];
$nome=$str['nome'];
$cognome= $str['cognome'];
$citta= $str['citta'];
$indirizzo= $str['indirizzo'];
}
?>
<form method="post" action="#" id=formdimodifica>
<label for ="nome">Nome:</label>
<input type="text" name="nome" id="nome" value="<?echo $nome ?>" />
<label for ="cognome">Cognome:</label>
<input type="text" name="cognome" id="cognome" value="<?echo $cognome ?>" />
<label for ="citta">Città:</label>
<input type="text" name="citta" id="citta" value="<?echo $citta ?>" />
<label for ="indirizzo">Indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" value="<?echo $indirizzo ?>" />
<?php } }
?>
<input type="submit" name="invia" id="login" value="Conferma Modifica" />
</form>
<?php
if(isset($_POST['invia']) ){
aggiorna_record();
}
function aggiorna_record()
{
// recupero i campi di tipo "stringa", trim elimina gli spazi bianchi
$nome = trim($nome);
$cognome = trim($cognome);
$citta = trim($citta);
$indirizzo = trim($indirizzo);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc())
{
$nome = stripslashes($nome);
$cognome = stripslashes($cognome);
$citta = stripslashes($citta);
$indirizzo = stripslashes($indirizzo);
}
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$nome = mysql_real_escape_string($nome);
$cognome = mysql_real_escape_string($cognome);
$citta = mysql_real_escape_string($citta);
$indirizzo = mysql_real_escape_string($indirizzo);
// verifico la presenza dei campi obbligatori, esempio nome o cognome
if((!$nome) OR (!$cognome))
{
echo "Non hai inserito il nome o cognome";
header('Location: ../index.php ');
exit;
}
// preparo la query
$query = "UPDATE dati_personali SET
nome = $nome,
cognome = $cognome,
citta = $citta,
indirizzo =$indirizzo,
WHERE id =$id";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// chiudo la connessione a MySQL
mysql_close();
echo "Aggiornamento effettuato con successo";
header('Location: ../index.php ');
}
?>
Grazie!