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
<?php require("users/aut_verifica.inc.php"); $nivel_acceso=2; // Nivel de acceso para esta página. if ($nivel_acceso <= $_SESSION['usuario_nivel']){ header ("Location: $redir?error_login=5"); exit; } //establezco variables de session para su uso posterior isset($_POST['nombreCliente']) ? $_SESSION['nombre'] = $_POST['nombreCliente'] : $_SESSION['nombre'] = ''; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Müller y CIA. Ltda. - Costumer Service - TAG Heuer / Caran d'Ache</title> <link rel="stylesheet" type="text/css" href="css/960.css"> <link rel="stylesheet" type="text/css" href="css/reset.css"> <link rel="stylesheet" type="text/css" href="css/savneotaller.css"> <link rel="stylesheet" type="text/css" href="css/savneo.css"> <link rel="stylesheet" type="text/css" href="css/text.css"> <script src="js/tareas_xml.js"></script> <script language="javascript" src="js/jquery-1.3.min.js"></script> </head> <body> <div class="container_12"> <?php include('includes/header.php');?><div class="container_12" id="contenido"> <?php //recuperamos los datos $nombre = $_POST['nombreCliente']; include('includes/conexion.php'); $sql1 = "INSERT INTO clientes ( rut, dv, nombre, apellido, direccion, fono, fax, email, agente, notas, comuna, ciudad ) VALUES ( '$rut', '$dv', '$nombre', '$apellido', '$direccion', '$fono', '$fax', '$email', '$agente', '$notas', '$comuna', '$ciudad' )"; mysql_query($sql1) or exit(mysql_error()); //luego con el fin de mostrar los codigos introducidos como texto hago selects a las tablas que referencian los id seleccionados en el formulario $sql_anterior = "SELECT * FROM ordenes_trabajo WHERE nro_serie = '$nroserie' ORDER BY f_recepcion DESC LIMIT 1,1"; $resulta = mysql_query($sql_anterior) or exit(mysql_error()); while($reg = mysql_fetch_array($resulta)) { $lastrepara = $reg['f_recepcion']; }; // y el resto de HTML para mostrar los datos antes de grabar <div class="grid_11" id="titdeta">DATOS DEL CLIENTE</div> <div class="clear"></div> <div class="grid_2" id="titcelda">Cliente:</div> <div id="celda"><?php echo $nombre;?> <?php echo $apellido;?></div> //con un form que lleva a la otra que graba el resto de los datos <form id="insert" action="ot_insert.php" method="post"> <input type="button" value="Volver" onClick="history.back();"> <input type="submit" value="Grabar"> </form> </body> </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