Ciao a tutti, ho un problema con l'update di un campo di mysql.

Praticamente io ho questo file


<?php

include 'config.php';
include 'connect.php';

?>

<?php


$sql = "SELECT * FROM articoli1 WHERE '$id' = '$id' ORDER BY `id` DESC";
$result = mysql_query($sql,$conn) or die ("Errore: ".mysql_error());

while($assoc = mysql_fetch_assoc($result)){



echo '
<table cellpadding="7px">


<tr>
<td>[img]'.$assoc['img'].'[/img] </td>
<td>'.$assoc['messaggio'].'</td>
</tr>
<tr><td>
<form action="edit.php" method="post">
<input type="hidden" value="'.$assoc['Id'].'" name="chiave" />

<input type="submit" value="edit" name="modifica">

</form> <tr><td>
</table>';

}



?>


che invia ad una pagina il valore hidden '.$assoc['Id'].'

Il problema è che in questa pagina se controllo con echo se il valore è giusto tutto sembra andare ma nel comando update non mi interpreta la variabile.

Questo è l'altro file:


<?php

$chiave = $_POST['chiave'];
echo $chiave;



?>

<?php

if(!isset($_POST['submit'])){
echo '


Per poter effettuare una modificaca devi essere un sviluppatore </p>




<form method="post" action="#">
Username: <input type="text" name="Username">

Password: <input type="password" name="Password">

<input type="submit" value="login" name="submit">
</form>';
} else {
include 'config.php';
include 'connect.php';

$user = mysql_real_escape_string($_POST['Username']);
$pass = mysql_real_escape_string($_POST['Password']);

$sql ="SELECT * FROM utenti WHERE Username= '{$user}' AND Password = '{$pass}'";

$result = mysql_query($sql,$conn) or die("Errore: ".mysql_error());
$row = mysql_num_rows($result);
if ($row == "1"){

echo'

<form method="post" action="ciao.php" enctype="multipart/form-data">
<table>
<tr> <td> <textarea rows="10" cols="30" name="messaggio"></textarea> </td> </tr>

<tr> <td> <input type="file" name="upload_file"> </td> </tr>
<tr> <td> <input type="submit" value="Pubblica" name="submit"> </td> </tr>
</table>
</form>';}

include 'connect.php';



move_uploaded_file($HTTP_POST_FILES['upload_file']['tmp_name'],"uploads/".$HTTP_POST_FILES['upload_file']['name']);
$nome = $HTTP_POST_FILES['upload_file']['name'];

$img = "uploads/".$nome;
$messaggio = mysql_real_escape_string($_POST['messaggio']);


$sql = "UPDATE articoli1 SET messaggio='".$messaggio."', img='".$img."' WHERE Id='".$chiave."'";
$result = mysql_query($sql,$conn) or die ("Errore nella query: " .mysql_error);


}

?>



Non so se sono riuscito a spiegarmi perchè era veramente difficile farsi capire. Spero in un vostro aiuto. Grazie ciao



IN BLUE SONO EVIDENZIATI I PUNTI CRUCIALI CHE A MIO PARE SBAGLIO