Ciao a tutti, mi trovo di fronte a un piccolo problema, ho scritto una query di update che non funziona a dovere, o meglio, sembra che funzioni tutto ma in realtàquando io schiaccio il tasto di modifica vengo reindirizzato alla pagina con il form di modifica già compilato, cambio quello che devo cambiare e in seguito clicco sul tasto che dovrebbe effettivamente eseguire l'operazione nel database mysql, il messaggio che mi ritorna è quello di avvenuta modifica ma in realtà non è stato modificato assolutamente nulla.
essendo da poco che lavoro con php ed essendo la prima query update che faccio, non riesco a capire dove sbaglio... comunque vi posto la pagina di modifica e la pagina modifica_dati che sono quelle in cui secondo me potrebbe esserci l'errore e per ora grazie a chi avrà voglia di rispondere.
modifica.php
Codice PHP:
<?php
// CONNESSIONE AL DATABASE
include('connect.php');
echo '
<h1>Modifica questo record</h1></br>
';
$sql = "SELECT * FROM articoli WHERE id='$_GET[id]'";
$res = mysql_query($sql, $connessione);
$row = mysql_fetch_array($res);
if (@mysql_query($sql)){
echo '
<form action="modifica_dati.php" method="POST">
Titolo:
<input type="text" maxlength="20" name="titolo" value="' . $row['titolo'] . '" />
Testo:
<textarea name="testo" cols="40" rows="5">' . $row['testo'] . '</textarea>
Autore:
<input type="text" maxlength="15" name="autore" value="' . $row['autore'] . '"/>
<input type="hidden" value="' . $_GET['id'] . '" name="id" />
<input type="submit" value="modifica" />
</form>
';
}
else {
echo "Errore: Non posso eseguire la modifica!";
}
?>
modifica_dati.php
Codice PHP:
<?php
// CONNESSIONE AL DATABASE
include('connect.php');
//Recupera i dati inseriti nei form tramite il metodo $_POST
$id = '$_GET[id]';
$titolo = $_POST["titolo"];
//$testo= addslashes($_POST['testo']);
//$testo= mysql_real_escape_string($_POST['testo']);
//echo "$testo";
$testo = $_POST["testo"];
$autore = $_POST ["autore"];
//$sql = "UPDATE articoli SET titolo=$_POST[titolo], testo=$_POST[testo], autore=$_POST[autore] WHERE id=$id"; //WHERE id=$_GET[id]";
//$query=@mysql_query($sql) or die (mysql_error());
$sql= "UPDATE articoli SET titolo='$titolo', testo='$testo', autore='$autore' WHERE id='$id' ";
if (mysql_query($sql,$connessione)) {echo "aggiornamento effettuato";
header( "refresh: 3; url=leggi.php" );}
else {echo "aggiornamento non effettuato";
$connessione= mysql_close();
}
?>
mentre questa è la pagina di stampa a video
leggi.php
Codice PHP:
<html>
<head><title>Pagina di pubblicazione articoli</title></head>
<body>
<?php
//includo il file per la connessione al database
include ("connect.php");
//creo la variabile $leggi in cui salvo la select che mi seleziona tutto quello che c'è all'interno della tabella articoli
$leggi=mysql_query("SELECT * FROM articoli");
//eseguo il ciclo while per recuperare i dati dalla variabile $leggi e imposto quali colonne del database voglio visualizzare
while($tempbox=mysql_fetch_array($leggi)){
$id=$tempbox['id'];
$titolo=$tempbox['titolo'];
$testo=$tempbox['testo'];
$autore=$tempbox['autore'];
//stampo a video le variabili $titolo $testo e $autore
echo "
[url=""]Cancella [/url]
</p><a href=modifica.php?id=$id;>modifica</a></br>[b]Titolo:[/b]$titolo
</br> [b]Testo:[/b]$testo
</br>
</br>[b]Autore:[/b]$autore
</br>
--------------------------------------------------</br>";
}
?>
</body>
</html>
Grazie ancora a tutti!