no mi da errore

provo a rispiegarmi perchè rileggendomi non ci ho capito niente nemmeno io
allora:

ho una lista che mostra tutti gli utenti iscritti eccola qua

codice:
<?php
$ip=$_SERVER['REMOTE_ADDR'];

echo "Il mio indirizzo ip è $ip";
$db_username = 'root';
$db_password = '';
$db_host = '127.0.0.1';

$link = mysql_connect("$db_host", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('iscrizione') or die("Errore apertura database: " . mysql_error());
$strsql = "SELECT * FROM iscritti";
$rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());

while ($riga = mysql_fetch_array($rs)) {
$str_id = $riga['id'];
$str_nome = $riga['nome'];
$str_cognome = $riga['cognome'];
$str_email = $riga['email'];
$str_citta = $riga['citta'];

echo "<tr><td>$str_id</td><td>$str_nome</td><td>$str_cognome</td><td> $str_email</td><td>$str_citta</td><td>
<a href=\"aggiorna.php?id=$str_id\ ">Modifica</a> <a href=\"cancella.php?id=$str_id\">Cancella</a></td></tr>";
}
?>
QUANDO CLICCO su aggiorna mi va direttamente sul "motore" che gestisce i dati modificati ,quindi non ha senso.
La pagina con il form è questa

form_modifica.html

codice:
 <html>
    <body>



<form method="post" action="aggiorna.php">
<input type="hidden" name="id" value="3">
Nome: <input type="text" size="10" name="nome" value=? >

Cognome <input type="text" size="10" name="cognome" value=? >

Email <input type="text" size="10" name="email" value=? >

<input type="submit" value="Modifica">
</form>
    </body>
</html>

è ANCHE QUI cè il problema che l'id lo devo impostare manualmente


Quindi che link mettere su

<a href=\"aggiorna.php?id=$str_id\ ">Modifica</a> ?

è come mettere, forse delle variabili, che prendono i dati della riga in questione?