Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Inserta doble registro

Estas en el tema de Inserta doble registro en el foro de Mysql en Foros del Web. Ya solucione mi problema de la conexion a base de datos, pero ahora cuando realizo un registro, en vez de 1 solo me inserta otro ...
  #1 (permalink)  
Antiguo 16/02/2011, 13:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 25
Antigüedad: 13 años, 9 meses
Puntos: 0
Inserta doble registro

Ya solucione mi problema de la conexion a base de datos, pero ahora cuando realizo un registro, en vez de 1 solo me inserta otro exacatamente igual, ya lei otros posts y probe todas las soluciones posibles pero, igual me inserta doble, he probado en 2 navegadores, firefox y chrome y sigue siendo lo mismo.

Les dejo el codigo
Código guardar.php:
Ver original
  1. <?php
  2. $dbhost="127.0.0.1";  // host del MySQL (generalmente localhost)
  3. $dbusuario="root"; // aqui debes ingresar el nombre de usuario
  4. $dbpassword=""; // password de acceso para el usuario de la
  5. $db="theblackshyp";        // Seleccionamos la base con la cual trabajar
  6. $con= mysql_connect($dbhost, $dbusuario, $dbpassword);
  7. $db= mysql_select_db($db,$con);
  8. //guardar
  9. if(isset($_POST['cuenta'])){
  10. $cuenta_usuario=$_POST['cuenta'];
  11. $password_usuario=$_POST['password'];
  12. $email_usuario=$_POST['email'];
  13. $sexo_usuario=$_POST['sexo'];
  14. $tipo_usuario=$_POST['tipo'];
  15. $pais_usuario=$_POST['pais'];
  16. $estado_usuario="activo";
  17. $guardar = "INSERT INTO usuario (cuenta_usuario,password_usuario,email_usuario,sexo_usuario,tipo_usuario,pais_usuario,estado_usuario) VALUES ('$cuenta_usuario','$password_usuario','$email_usuario','$sexo_usuario','$tipo_usuario','$pais_usuario','$estado_usuario')";
  18. mysql_query($guardar);
  19. }
  20. if(!mysql_query($guardar)){
  21. echo mysql_errno($con) . ": " . mysql_error($con) . "\n";
  22. }
  23. ?>

Y aca esta una parte del formulario.
Código registro.php:
Ver original
  1. <form name="form1" action="guardar.php" method="post">
  2.     <table cellspacing="0" class="style1" style="width: 100%">
  3.         <tr>
  4.             <td class="style2" colspan="2">REGISTRO</td>
  5.         </tr>
  6.         <tr>
  7.             <td style="width: 184px">USUARIO</td>
  8.             <td>
  9.             <input name="cuenta" size="25" style="height: 22px" type="text" /></td>
  10.         </tr>
  11. .
  12. .
  13. .
  14. <tr>
  15.             <td class="style2" colspan="2">
  16.             <input name="registrar" type="submit" value="REGISTRARSE" /></td>
  17.         </tr>
  18.     </table>
  19. </form>

gracias
  #2 (permalink)  
Antiguo 16/02/2011, 13:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 25
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Inserta doble registro

Me respondo a mi mismo por si alguien le sirve jejeje.
el error estaba en el if
Código guardar.php:
Ver original
  1. $guardar = "INSERT INTO usuario (cuenta_usuario,password_usuario,email_usuario,sexo_usuario,tipo_usuario,pais_usuario,estado_usuario) VALUES ('$cuenta_usuario','$password_usuario','$email_usuario','$sexo_usuario','$tipo_usuario','$pais_usuario','$estado_usuario')";
  2. mysql_query($guardar);
  3. }
  4. if(!mysql_query($guardar)){
  5. echo mysql_errno($con) . ": " . mysql_error($con) . "\n";

parece que ese if lo mandaba otra vez mas, o nose si alguien lo puede expklicar mejor, la cosa es q cambie eso y ahora me inserta 1
Código PHP:
Ver original
  1. $guardar = "INSERT INTO usuario (cuenta_usuario,password_usuario,email_usuario,sexo_usuario,tipo_usuario,pais_usuario,estado_usuario) VALUES ('$cuenta_usuario','$password_usuario','$email_usuario','$sexo_usuario','$tipo_usuario','$pais_usuario','$estado_usuario')";
  2. $insert= mysql_query($guardar);
  3. }
  4. if(!$insert){
  5. echo mysql_errno($con) . ": " . mysql_error($con) . "\n";
  6. }

Etiquetas: doble, inserción, mysql.php, php
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 06:26.