Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2011, 00:42
Ojopex2
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 1 mes
Puntos: 2
Extraño. Funciona mal INSERT en IE (duplica al parecer)

Hola gente,
Escribo porque me sucede los iguiente.

Tengo un formulario donde 1) ingreso los datos del cliente 2) el resto de los datos

3) al hacer submit:

a) Graba los datos del cliente solamente.

b) Muestra a una presentacion preliminar de la ficha. Para luego hacer otro submit y grabar el resto de los datos.

El problema es que esto funciona perfectamente en Firefox y no en IE.


el error que me da es de MySQL.

Duplicate entry '15754545' for key 'rut'

EL campo rut es un index UNIQUE, ya que ese error seria al volver a introducir un nuevo registro con el mismo rut.

Lo extraño es que solamente se hace ese insert, no hay posibilidad que se haga 2 veces.

EL código no lo pondre entero pero es mas o menos asi
Código codigo:
Ver original
  1. <?php
  2. require("users/aut_verifica.inc.php");
  3. $nivel_acceso=2; // Nivel de acceso para esta página.
  4. if ($nivel_acceso <= $_SESSION['usuario_nivel']){
  5. header ("Location: $redir?error_login=5");
  6. exit;
  7. }
  8. //establezco variables de session para su uso posterior
  9.  
  10.     isset($_POST['nombreCliente']) ? $_SESSION['nombre'] = $_POST['nombreCliente'] : $_SESSION['nombre'] = '';
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  12. <html xmlns="http://www.w3.org/1999/xhtml">
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  15. <title>Müller y CIA. Ltda. - Costumer Service - TAG Heuer / Caran d'Ache</title>
  16. <link rel="stylesheet" type="text/css" href="css/960.css">
  17. <link rel="stylesheet" type="text/css" href="css/reset.css">
  18. <link rel="stylesheet" type="text/css" href="css/savneotaller.css">
  19. <link rel="stylesheet" type="text/css" href="css/savneo.css">
  20. <link rel="stylesheet" type="text/css" href="css/text.css">
  21. <script src="js/tareas_xml.js"></script>
  22. <script language="javascript" src="js/jquery-1.3.min.js"></script>
  23. </head>
  24. <body>
  25. <div class="container_12">
  26.  
  27. <?php include('includes/header.php');?><div class="container_12" id="contenido">
  28. <?php
  29. //recuperamos los datos
  30.     $nombre  = $_POST['nombreCliente'];
  31.    
  32.  include('includes/conexion.php');
  33.    
  34.     $sql1 = "INSERT INTO clientes (
  35.     rut,
  36.     dv,
  37.     nombre,
  38.     apellido,
  39.     direccion,
  40.     fono,
  41.     fax,
  42.     email,
  43.     agente,
  44.     notas,
  45.     comuna,
  46.     ciudad
  47. ) VALUES (
  48.     '$rut',
  49.     '$dv',
  50.     '$nombre',
  51.     '$apellido',
  52.     '$direccion',
  53.     '$fono',
  54.     '$fax',
  55.     '$email',
  56.     '$agente',
  57.     '$notas',
  58.     '$comuna',
  59.     '$ciudad'
  60. )";
  61.    
  62.     mysql_query($sql1) or exit(mysql_error());
  63.  
  64. //luego con el fin de mostrar los codigos introducidos como texto hago selects a las tablas que referencian los id seleccionados en el formulario
  65.         $sql_anterior = "SELECT * FROM ordenes_trabajo WHERE nro_serie = '$nroserie' ORDER BY f_recepcion DESC LIMIT 1,1";
  66.         $resulta = mysql_query($sql_anterior) or exit(mysql_error());
  67.         while($reg = mysql_fetch_array($resulta)) {
  68.        
  69.         $lastrepara = $reg['f_recepcion'];
  70.         };
  71. // y el resto de HTML para mostrar los datos antes de grabar
  72. <div class="grid_11" id="titdeta">DATOS DEL CLIENTE</div>
  73. <div class="clear"></div>
  74.     <div class="grid_2" id="titcelda">Cliente:</div> <div id="celda"><?php echo $nombre;?> <?php echo $apellido;?></div>
  75.  
  76. //con un form que lleva a la otra que graba el resto de los datos
  77.  
  78. <form id="insert" action="ot_insert.php" method="post">
  79.  <input type="button" value="Volver"    onClick="history.back();">
  80. <input type="submit" value="Grabar">
  81. </form>
  82. </body>
  83. </html>

Eso, no se que problema habrá que en Firefox hace lo que quiero. Graba y muestra los datos, en IE nada, solo sale el error de mysql.

¿Alguna idea?

Saludos y gracias