mostrar datos formulario

Hola, soy nuevo en este foro. Tengo una página donde muestro los registros de una base de datos mysql con los botones en cada registro (editar y eliminar). Al darle a uno de esos botones me lleva a una página de formulario donde deberían aparecer los datos de ese registro, pero me aparecen vacíos. A continuación pongo el código de las dos páginas. INDEX.PHP:

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Articulos</title>
   <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
   <?php
      function conectar(){
         $con=mysqli_connect("localhost","root","","dam2d");
         return $con;
      }
      function desconectar(){
         mysqli_close(conectar());
      }
      if(conectar()->connect_error){
         die('Error de conexion: '.conectar()->connect_error);
      }else{
         $sql="SELECT * FROM articulos";
         $resul=mysqli_query(conectar(),$sql);
         echo "<table class='table' border='1'>";
         while($linea=mysqli_fetch_array($resul)){
            echo "<tr><td colspan='6' align='center'><b>ARTICULOS</b></td></tr>";
            echo "<tr><th>ID</th><th>Nombre</th><th>Precio</th><th>Fecha Alta</th><th>Acciones</th></tr>";
            echo "<tr>";
            echo "<td>",$linea['id'],"</td>";
            echo "<td>",$linea['nombre'],"</td>";
            echo "<td>",$linea['precio'],"</td>";
            echo "<td>",$linea['fechaalta'],"</td>";
            $id=$linea['id'];
            //echo $id;?>
            <form action='editar.php' method='post'>
            <input type='hidden' name='id' value='<?php $id ?>'>
            <?php
            echo "<td><a class='btn btn-warning' href='editar.php?id=".$id."'>EDITAR</a>"."&nbsp";
            echo "<a class='btn btn-danger' href='eliminar.php?id='".$id."''>ELIMINAR</a></td>";
            echo "</form>";
            echo "</tr>";
         }
      }
      desconectar();
   ?>
</body>
</html>
EDITAR.PHP:
```php
<!DOCTYPE html>
<html lang="en">
<head>
   <title>Editar Articulo</title>
   <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
   <?php
      conectar();
      $id=isset($_POST['id']) ? $_POST['id'] : '';
      $nom=isset($_POST['nombre']) ? $_POST['nombra'] : '';
      $precio=isset($_POST['precio']) ? $_POST['precio'] : '';
      $fecha=isset($_POST['fechaalta']) ? $_POST['fechaalta'] : '';
   ?>
   <div class='container'>
      <div class='jumbotron'>
         <h1>Editar Articulo</h1>
         <p>Introduce todos los datos para editar un articulo en la base de datos.</p>
      </div>
      <form name='formularioeditar' action='index.php' method='post'>
      <div class='form-group'>
         <label for='id'>Introduce el id del articulo:</label>
         <input type='number' class='form-control' placeholder='Introduce el id' name='id' value="<?php echo $id ?>"><br>
         <label for='id'>Introduce el nombre de articulo:</label>
         <input type='text' class='form-control' placeholder='Introduce el nombre' name='nombre' value="<?php echo $nom ?>" size=30><br>
         <label for='precio'>Introduce el precio del articulo:</label>
         <input type='decimal' class='form-control' placeholder='Introduce el precio' name='precio' value="<?php echo $precio ?>"><br>
         <label for='fechaalta'>Introduce la fecha de alta del articulo:</label>
         <input type='date' class='form-control' placeholder='Introduce la fecha de alta' name='fechaalta' value="<?php echo $fecha ?>"><br>
      </div>
      <div class='botons-group'>
         <input type='submit' name='editar' value='EDITAR'>
         <input type='submit' name='volver' value='VOLVER'>
      </div>
      </form>
   </div>
   <?php
      function conectar(){
         $con=mysqli_connect("localhost","root","","dam2d");
         return $con;
      }
      function desconectar(){
         mysqli_close(conectar());
      }
      function editar(){
         $id=$_POST['id'];
         $nombre=$_POST['nombre'];
         $precio=$_POST['precio'];
         $fecha=$_POST_['fechaalta'];
         $esta=false;
         if(conectar()->connect_error){
            die('Error de conexion: '.conectar()->connect_error);
         }else{
            $sql="SELECT * FROM articulos WHERE id=".$id."";
            $resul=mysqli_query(conectar(),$sql);
            while($linea=mysqli_fetch_array($resul)){
               $esta=true;
            }
            if($esta==false){
               echo "No existe ningún articulo con el id ".$id;
            }
            if(!mysqli_query(conectar(),"UPDATE articulos SET nombre='".$nom."',precio='".$precio."',fechaalta='".$fecha."' WHERE id=".$id."")){
               echo "No se ha actualizado el articulo!".mysqli_error(conectar());
            }else{
               echo "Articulo actualizado!";
            }
         }
      }
      if(isset($_POST['editar'])){
         editar();
      }
      if(isset($_POST['volver'])){
         header('Location:index.php');
      }
      desconectar();
   ?>
</body>
</html>