|   Problema se crea dos registros con el insert. 
  Tengo el siguiente problema de una pagiga html con input tipo hidden al continuar invocar a un programa php y este me duplica el registros entregado por la pagina anterior.
 El codigo html es:
 
 
 
 
 
 <html>
 
 <head>
 
 <title>:: Mantenedor de Archivos  ::</title>
 
 </head>
 
 <BODY>
 
 <br>
 
 <script language="JavaScript">
 
 function js_NextForm ( nform, valor, bbdd, tabla, secuencial )
 
 {
 
 var frm = document.forms[nform];
 
 // var frm = nform;
 
 //alert ( nform  ) ;
 
 frm.tipo.value  = valor;
 
 frm.bbdd.value  = bbdd;
 
 frm.tbl.value   = tabla;
 
 frm.idreg.value = secuencial;
 
 frm.submit ();
 
 } // end js_NextForm()
 
 </script>
 
 
 
 <form name="frmtablas" method="POST" action="./php_WriteTabla.php">
 
 <input type="hidden" name="tipo"  value="">
 
 <input type="hidden" name="bbdd"  value="">
 
 <input type="hidden" name="tbl"   value="">
 
 <input type="hidden" name="idreg" value="">
 
 <input type="hidden" name="tpord"   value="">
 
 <input type="hidden" name="ordcam" value="">
 
 <input type="hidden" name="addquery" value="">
 
 <br>
 
 <input type="hidden" name="write" value="INSERT+INTO+153_archivo.tar_nac+VALUES+%28+  %2700%27%2C%27%27%2C%27000%27%2C%27%27%2C%272008-06-18%27%2C%279999-12-31%27%2C%27%27%2C%27A%27%2C%27%27%2C%27%27%2C%27%2  7%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%  27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27  +%29%3B">
 
 <br>
 
 <table width="50%" border="0" align="center">
 
 <tr><td>
 
 <div align="center">
 
 <INPUT id="button" tabIndex="34" type="submit" value="Anular" OnClick="history.back();">
 
 </div>
 
 </td><td>
 
 <div align="center">
 
 <INPUT id="button" tabIndex="34" type="submit" value="Continuar" OnClick="js_NextForm ('frmtablas','write','153_archivo', 'tar_nac','');">
 
 </div>
 
 </td><tr>
 
 </table>
 
 
 
 
 
 El siguiente codigo PHP (php_WriteTabla.php) es que realiza la acción de ingresar el registro. Pero este registro se duplica  y aun mas raro que esto no ocurre siempre.
 
 
 
 
 
 <?php
 
 //function php_WriteTabla ( $bbdd, $nametbl )
 
 //{
 
 /* ..................................................  ....................... */
 
 /* defino el nombre y la clave que viene de la autentificacion de apache     */
 
 /* ..................................................  ....................... */
 
 $lhost    = "localhost";
 
 $remoteIP = ( !empty( $_SERVER["REMOTE_ADDR"] ) ) ? $_SERVER["REMOTE_ADDR"] : "";
 
 $luser    = ( !empty( $_SERVER["REMOTE_USER"] ) ) ? $_SERVER["REMOTE_USER"] : "pfica";
 
 $lclave   = ( !empty( $_SERVER["PHP_AUTH_PW"] ) ) ? $_SERVER["PHP_AUTH_PW"] : "doors";
 
 
 
 $db = mysql_connect( $lhost, $luser, $lclave );
 
 
 
 function phpgb_fixCharHtml ( $mess )
 
 {
 
 $mess = str_replace( "ñ", "ñ", $mess );
 
 $mess = str_replace( "Ñ", "Ñ", $mess );
 
 $mess = str_replace( "á", "á", $mess );
 
 $mess = str_replace( "Á", "Á", $mess );
 
 $mess = str_replace( "é", "é", $mess );
 
 $mess = str_replace( "É", "É", $mess );
 
 $mess = str_replace( "í", "í", $mess );
 
 $mess = str_replace( "Í", "Í", $mess );
 
 $mess = str_replace( "ó", "ó", $mess );
 
 $mess = str_replace( "Ó", "Ó", $mess );
 
 $mess = str_replace( "ú", "ú", $mess );
 
 $mess = str_replace( "Ú", "Ú", $mess );
 
 $mess = str_replace( "  ", "  ", $mess );
 
 return ( $mess );
 
 }
 
 
 
 function php_msn_div( $msn, $class )
 
 {
 
 $result = $msn;
 
 phpgb_fixCharHtml( $result );
 
 echo "<br>";
 
 echo "<DIV";
 
 if( !empty ( $class ) )
 
 echo " class=".$class;
 
 echo ">";
 
 print_r ( $result );
 
 echo "</DIV>\n";
 
 unset( $result );
 
 } // end php_msn_div
 
 
 
 
 
 function php_NivelMensaje ( $mensaje, $class, $nivel )
 
 {
 
 global $aBIBLIO;
 
 if( $aBIBLIO['mensaje'] >= $nivel )
 
 php_msn_div ( $mensaje, $class );
 
 } // end php_NivelMensaje
 
 
 
 function phpgb_exeQuery ( $query )
 
 {
 
 echo "<br> entro;\n";
 
 $resultado = mysql_query( $query ) or $code = mysql_error();
 
 if ( isset( $code ) ){
 
 echo "<br>Query Error: ". $query ."<br>";
 
 echo "(". mysql_errno() ." ". $code .")";
 
 return ( false );
 
 }
 
 echo "<br> \$resultado = (". $resultado .")\n";
 
 return ( $resultado );
 
 } /* end php_exeQuery */
 
 
 
 $consulta = "INSERT+INTO+153_archivo.tar_nac+VALUES+%28+%2700%  27%2C%27%27%2C%27000%27%2C%27%27%2C%272008-06-18%27%2C%279999-12-31%27%2C%27%27%2C%27A%27%2C%27%27%2C%27%27%2C%27%2  7%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%  27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27  +%29%3B";
 
 $consulta = $_REQUEST['write'];
 
 
 
 $ejecutar = urldecode( $consulta  );
 
 echo "<br>REQUEST="; print_r($_REQUEST); echo "\n";
 
 echo "<br>\n";
 
 echo "<br>ejecutar="; print_r( $ejecutar ); echo ";\n";
 
 echo "<br>\n";
 
 
 
 unset( $code );
 
 
 
 //$resultado = mysql_query( $ejecutar, $db ) or $code = mysql_error();
 
 //if ( isset( $code ) )
 
 $code = phpgb_exeQuery ( $ejecutar );
 
 if ( !$code )
 
 php_NivelMensaje( "No Se ejecuto la consulta :".$code.".", "notice", 0 );
 
 else {
 
 php_NivelMensaje( "Se realizo correctamente la tarea solicitada.", "notice",0 );
 
 php_NivelMensaje( " filas afectadas = ".mysql_affected_rows(), "notice",0 );
 
 }
 
 
 
 unset( $code, $ejecutar );
 
 
 
 //exit;
 
 //}
 
 ?>
 
 
 
 Inicial mente parto con el html pincho continuar y veo la base de dato borro el registros vía phpMyAdmin y después pincho atrás en la ventana use y repito la acción por lo menos 10 veces y se duplica 2 de 10 veces… la tabla tiene la siguiente estructura :
 
 
 
 --
 
 -- Estructura de tabla para la tabla `tar_nac`
 
 --
 
 
 
 CREATE TABLE `tar_nac` (
 
 `pagina` varchar(2) NOT NULL,
 
 `filler1` char(1) NOT NULL,
 
 `referencia` varchar(3) NOT NULL,
 
 `filler2` char(1) NOT NULL,
 
 `fdesde` date NOT NULL default '2006-01-01',
 
 `fhasta` date NOT NULL default '9999-12-31',
 
 `filler3` char(1) NOT NULL,
 
 `tipoval` char(1) NOT NULL default 'A',
 
 `filler4` char(1) NOT NULL,
 
 `tar_h_eco` varchar(10) NOT NULL,
 
 `filler5` char(1) NOT NULL,
 
 `car_h_eco` varchar(10) NOT NULL,
 
 `filler6` char(1) NOT NULL,
 
 `tar_h_nor` varchar(10) NOT NULL,
 
 `filler7` char(1) NOT NULL,
 
 `car_h_nor` varchar(10) NOT NULL,
 
 `filler8` char(1) NOT NULL,
 
 `tar_h_sec` varchar(10) NOT NULL,
 
 `filler9` char(1) NOT NULL,
 
 `car_h_sec` varchar(10) NOT NULL,
 
 `filler10` char(1) NOT NULL,
 
 `movil` enum('','M') NOT NULL
 
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     |