Prueba con 
 Código PHP:
    include "conexion.php";
 
if (!isset($_POST['accion'])){ // Variables superglobales
// manejo de matricez en cadena
  $result=mysql_query("SELECT * FROM coordinador WHERE Id='".$_POST['Id']."'", $conexion);
  $row=mysql_fetch_row($result);
  echo"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
// No uses variables como action (menos si es POST)
  <form action=\"actualizar.php\" method=\"POST\">
  Nombre:<br>
  <input type=\"text\" value=\"$row[1]\" name=\"nombre\"><br>
  Apellido:<br>
  <input type=\"text\" value=\"$row[2]\" name=\"apellido\"><br>
  DNI:<br>
  <input type=\"text\" value=\"$row[3]\" name=\"dni\"><br>
  <input type=\"hidden\" name=\"id\" value=\"$row[0]\">
  <input type=\"submit\" name=\"accion\" value=\"Guardar\">
  </form>
  </body>
  </html>";
}elseif($_POST['accion']=="Guardar") { // Estás comparando con una cadena
  $result=mysql_query("UPDATE usuarios SET nombre='".$_POST['nombre']."',
    apellido='".$_POST['apellido']."', dni='".$_POST['dni']."' WHERE id= '".$_POST['id']."'",$conexion);
  echo"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>";
}
include "cerrar_conexion.php";
?> 
   
   http://www.forosdelweb.com/showthrea...989#post238989 
... solo como guía, creo hay muchas cosas a tener en cuenta...   
