Ho da poco cominciato a studiare un po' il php grazie alle guide del sito.
Il servizio hosting utilizza la versione 5.2.6-3 di php
nella progettazione delle mie pagine web mi sono arenato sulla modifica dei record.
Dopo aver modificato i dei dati da questa pagina:
http://www.scuotivento.it/edit_libro.php?id=3
un metodo post invia i dati per la modifica a questa:
file save_edit_libro.php
Codice PHP:
<?
include ("config.inc.php");
include ("top_foot.inc.php");
include ("menu.inc.php");
//intestazione
top();
menu();
if ($_POST['pass'] != $password){
echo "<h1>Password errata</h1>";
}else {
$ciclo = $_REQUEST['ciclo'];
$genere = $_REQUEST['genere'];
$titolo = $_REQUEST['titolo'];
$titolooriginale = $_REQUEST['titolooriginale'];
$autore = $_REQUEST['autore'];
$annopubblicazione = $_REQUEST['annopubblicazione'];
$traduttore = $_REQUEST['traduttore'];
$annotraduzione = $_REQUEST['annotraduzione'];
$trama = $_REQUEST['trama'];
$notetrama = $_REQUEST['notetrama'];
$citazione1 = $_REQUEST['citazione1'];
$fonte1 = $_REQUEST['fonte1'];
$citazione2 = $_REQUEST['citazione2'];
$fonte2 = $_REQUEST['fonte2'];
$citazione3 = $_REQUEST['citazione3'];
$fonte3 = $_REQUEST['fonte3'];
}
if (trim($_POST[titolo]) == ""):
echo "<h1>Il campo Titolo deve essere riempito!</h1>";
else :
$genere= addslashes(stripslashes($genere));
$titolo = addslashes(stripslashes($titolo));
$titolooriginale= addslashes(stripslashes($titolooriginale));
$trama= addslashes(stripslashes($trama));
$notetrama= addslashes(stripslashes($notetrama));
$citazione1= addslashes(stripslashes($citazione1));
$fonte1= addslashes(stripslashes($fonte1));
$citazione2= addslashes(stripslashes($citazione2));
$fonte2= addslashes(stripslashes($fonte2));
$citazione3= addslashes(stripslashes($citazione3));
$fonte3= addslashes(stripslashes($fonte3));
//connessione al database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("<h1>Errore nella connessione. Verificare i parametri nel file config.inc.php</h1>");
mysql_select_db($db_name, $db)
or die ("<h1>Errore nella selezione del database. Verificare i parametri nel file config.inc.php</h1>");
$query = "UPDATE libri SET ciclo='$ciclo', genere='$genere', titolo='$titolo', titolooriginale='$titolooriginale', autore='$autore', annopubblicazione='$annopubblicazione', traduttore='$traduttore', annotraduzione='$annotraduzione', trama='$trama', notetrama='$notetrama', citazione1='$citazione1', fonte1='$fonte1', citazione2='$citazione2', fonte2='$fonte2', citazione3='$citazione3', fonte3='$fonte3' WHERE id='&id'";
if (mysql_query($query, $db))
echo "<h1>L'articolo è stato modificato correttamente</h1>";
else
echo "<h1>Errore durante la modifica</h1>";
endif; // chiude la verifica della presenza dei dati
mysql_close($db);
foot();
?>
I dati non vengono modificati, ma il controllo che faccio sulla query mi dice che:
L'articolo è stato modificato correttamente
percui:
if (mysql_query($query, $db)) è vero.
Dov'è che sbaglio?
Grazie