Foros del Web » Programando para Internet » PHP »

Duplicidad de registro

Estas en el tema de Duplicidad de registro en el foro de PHP en Foros del Web. Tengo un formulario que me realiza el alta de un regitro, pero cuando veo la DB, me esta duplicando el mismo regsitro. Alguien tiene alguna ...
  #1 (permalink)  
Antiguo 20/12/2002, 14:56
Avatar de Huitzilopoztli  
Fecha de Ingreso: abril-2001
Mensajes: 100
Antigüedad: 23 años
Puntos: 0
Duplicidad de registro

Tengo un formulario que me realiza el alta de un regitro, pero cuando veo la DB, me esta duplicando el mismo regsitro.
Alguien tiene alguna idea de que sera??
__________________
"Felicidad no es hacer lo que uno quiere sino querer lo que uno hace"
Jean-Paul Sartre
  #2 (permalink)  
Antiguo 20/12/2002, 15:17
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 4 meses
Puntos: 0
Porqué no copias aquí el código ?
Quizá pueda ayudarte....
  #3 (permalink)  
Antiguo 20/12/2002, 16:32
Avatar de Huitzilopoztli  
Fecha de Ingreso: abril-2001
Mensajes: 100
Antigüedad: 23 años
Puntos: 0
Aqui va el código.

Código PHP:
<?php
$base
="basededatos";
$tabla="tabla";
$v1=$HTTP_POST_VARS['txtCampo1'];
$v2=$HTTP_POST_VARS['txtCampo2];
$v3=$HTTP_POST_VARS['
txtCampo3'];
$v4=$HTTP_POST_VARS['
txtCampo4'];
$v5=$HTTP_POST_VARS['
txtCampo5'];
$v6=$HTTP_POST_VARS['
txtCampo6'];
$v7=$HTTP_POST_VARS['
txtCampo7']; 
$v8=$HTTP_POST_VARS['
txtCampo8'];
$conexion=mysql_connect("localhost", "user", "psswd");
mysql_select_db($base, $conexion);
mysql_query ("INSERT $tabla (descripcion, marca, tipo, modelo, serie, inventario, estado, plaza) values ('
$v1', '$v2', '$v3', '$v4', '$v5', '$v6', '$v7', '$v8)", $conexion);

 if (mysql_errno($conexion)==0){header("
Location: [url]http://localhost/index.php[/url]");
             
}else{  
            
$numerror=mysql_errno($conexion); 
            
$descrerror=mysql_error($conexion); 
            echo 
"Se ha producido un error nº $numerror que corresponde a: $descrerror  <br>"
        } 
 
mysql_close();  
?>
__________________
"Felicidad no es hacer lo que uno quiere sino querer lo que uno hace"
Jean-Paul Sartre
  #4 (permalink)  
Antiguo 21/12/2002, 05:05
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 4 meses
Puntos: 0
Mmm... no se si puedo ayudarte, no creo mas bien, pero podrias usar la funcion Trim() para que no se creen dos usuarios con el mismo nick, solo que a ti lo que te pasa esque al pulsar "registrar" se te crea el mismo usuario en la base de datos....

Tambien podrias poner el tipo de campo que tu quieres en "Único" para que solo se cree un registro con ese mismo campo...

Quizá sea el header el problema, aunque no lo creo, solo soy un aprendiz, me falta mucho por aprender, seguramente cluster o alguno de estos expertos podrán ayudarte.
  #5 (permalink)  
Antiguo 21/12/2002, 09:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberias usar un campo AUTOincremental como indice Unico de tus registros ...

Te recomiendo q leas:
http://otri.us.es/recursosPHP/manual/index.htm

Fijate en esos ejemplos sencillos .. mas o menos gestionan una tabla SQL; ahí veras como usan el tipico "ID" (q no es mas q un cmapo autoincrement Unico).


Un saludo,
  #6 (permalink)  
Antiguo 27/12/2002, 15:37
Avatar de Huitzilopoztli  
Fecha de Ingreso: abril-2001
Mensajes: 100
Antigüedad: 23 años
Puntos: 0
Mismo Problema

Sigo teniendo el problema, pero solo me pasa con
el Netscape Navigator. Si doy de alta un registro
con Explorer, no me lo duplica, y el problema es
con cualqier alta, Por ejemplo.
Tengo una opcion de baja de uan tabla en mi BD, cuando confirmas que quieres darlo de baja, lo que hace es borrarte el registro y capturarlo en una tabla nueva, y aun asi me lo duplica, pero ¡Solo con Netscape!.
El problema es que el 99 % de los usuarios que accesan usan este browser (es una intranet).
Saben que podria ser???
__________________
"Felicidad no es hacer lo que uno quiere sino querer lo que uno hace"
Jean-Paul Sartre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.