Un código para un formulario que funciona, seria este:
<form action="modalidad.php" method="post">
<table width="100%" border="1">
<tr>
<td width="32%">Nombre de la modalidad</td>
<td width="68%">
<input name="nombre" type="text" size="55" />
</td>
</tr>
<tr>
<td colspan="2">Descripción de la modalidad</td>
</tr>
<tr>
<td colspan="2" align="center"><textarea name="descr" cols="78" rows="5"></textarea></td>
</tr>
<tr>
<td>Número de componentes</td>
<td><input name="num" type="text" size="15" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="env" value="INSERTAR" /></td>
</tr>
</table>
</form>
<?php
if (isset ($_POST["env"]))
{
$insert= "INSERT INTO modalidad (id_mo, nom, descri, compo) VALUE
(NULL, '$_POST[nombre]', '$_POST[descr]', '$_POST[num]')";
$db->consulta($insert);
echo "<meta http-equiv=\"refresh\" content=\"1\">";
}
$mo= $db->consulta("SELECT * FROM modalidad");
$num= mysql_num_rows($mo);
while ($w = mysql_fetch_assoc($mo)) {
?>
<form action="modalidad.php" method="post">
<input name="id" value="<?php echo $w["id_mo"] ?>" type="hidden" />
<table width="100%" border="1">
<tr>
<td width="32%">Nombre de la modalidad</td>
<td width="68%">
<input name="nombre" value="<?php echo $w["nom"] ?>" type="text" size="55" />
</td>
</tr>
<tr>
<td colspan="2">Descripción de la modalidad</td>
</tr>
<tr>
<td colspan="2" align="center"><textarea name="descr" cols="78" rows="5"><?php echo $w["descri"] ?></textarea></td>
</tr>
<tr>
<td>Número de componentes</td>
<td><input name="num" value="<?php echo $w["compo"] ?>" type="text" size="15" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="renv" value="INSERTAR" /></td>
</tr>
</table>
</form>
<p>
<?php
if (isset ($_POST["renv"]))
{
$modi="UPDATE modalidad SET nom = '$_POST[nombre]', descri = '$_POST[descr]', compo = '$_POST[num]'
WHERE id_mo = '$_POST[id]'";
$db->consulta($modi);
echo "<meta http-equiv=\"refresh\" content=\"1\">";
}
}
¿
?>
Donde modalidad.php es el archivo donde está metido todo el código.
También he pasado por alto la conexión a la base de datos.