Hola, estoy haciendo un miniblog, una cosita chiquita con comentarios que se suben a una base de datos, y casi todo funciona perfecto menos el hecho de que cada vez que entro a la página el formulario se activa y agrega un registro en blanco en la base de datos.
Todos los PHP están dentro de ver.php (formulario html y el php que lo procesa)
El PHP es 
 Código PHP:
    <?php 
$notaid = $_POST['id'];
$nombre_vis = $_POST['nombre_vis']; 
$mail_vis = $_POST['mail_vis']; 
$coment = $_POST['coment'];
 
 
mysql_query("insert into comentarios (notaid, nombre_vis, mail_vis, coment, fecha) VALUES ('".$id."','".$nombre_vis."','".$mail_vis."','".$coment."')") or die ("error:\n".mysql_error());
 
 ?>    
  y el html  
Código:
 <form action="ver.php?id=<? echo $id; ?>" method="post" name="formulario" target="_self">
  <table width="500" border="0" cellpadding="0" cellspacing="0">
    <tr> 
      <td width="200"> </td>
      <td><input name="id" type="hidden" value="<?php echo $id; ?>" />
        tu nombre<br>
      <input type="text" name="nombre_vis" value="<? echo @$_POST["nombre_vis"] ?>"size="60"></td>
    </tr>
    <tr> 
      <td> </td>
      <td>tu e-mail<br><input type="text" name="mail_vis" value="<? echo @$_POST["mail_vis"] ?>"size="60"></td>
    </tr>
    <tr> 
      <td> </td>
      <td>tu comentario<br>
        <textarea name="coment" cols="60" rows="5" value="<? echo @$_POST["coment"] ?>"></textarea></td>
    </tr>
    <tr>
      <td> </td>
      <td><input name="Submit" type="submit" class="cajatexto1" id="submit" value="Enviar comentario">
       
<input type="reset" value="Cancelar"></td>
    </tr>
  </table>
</form>
  Viendo que el formulario se enviaba solo le agrege un IF y quedo asi  
 Código PHP:
    <?php if ($Submit){
$notaid = $_POST['id'];
$nombre_vis = $_POST['nombre_vis']; 
$mail_vis = $_POST['mail_vis']; 
$coment = $_POST['coment'];
 
mysql_query("insert into comentarios (notaid, nombre_vis, mail_vis, coment, fecha) VALUES ('".$id."','".$nombre_vis."','".$mail_vis."','".$coment."')") or die ("error:\n".mysql_error());
}
else { ?>    
  y el html queda asi:  
Código:
 <form action="ver.php?id=<? echo $id; ?>" method="post" name="formulario" target="_self">
  <table width="500" border="0" cellpadding="0" cellspacing="0">
    <tr> 
      <td width="200"> </td>
      <td><input name="id" type="hidden" value="<?php echo $id; ?>" />
        tu nombre<br>
      <input type="text" name="nombre_vis" value="<? echo @$_POST["nombre_vis"] ?>"size="60"></td>
    </tr>
    <tr> 
      <td> </td>
      <td>tu e-mail<br><input type="text" name="mail_vis" value="<? echo @$_POST["mail_vis"] ?>"size="60"></td>
    </tr>
    <tr> 
      <td> </td>
      <td>tu comentario<br>
        <textarea name="coment" cols="60" rows="5" value="<? echo @$_POST["coment"] ?>"></textarea></td>
    </tr>
    <tr>
      <td> </td>
      <td><input name="Submit" type="submit" class="cajatexto1" id="submit" value="Enviar comentario">
       
<input type="reset" value="Cancelar"></td>
    </tr>
  </table>
</form><? }
?>
  de esa forma el formulario no se envia cuando entro en la página pero tampoco se envia cuando completo los datos y presiono Enviar comentario.
Hay otra forma de evitar que se inserten datos en blanco o me esta faltando algo en la comprobación?
gracias y buen día