Foros del Web » Programando para Internet » PHP »

problemas con insert into

Estas en el tema de problemas con insert into en el foro de PHP en Foros del Web. Hola, muy buenas a todos, estoy liado con una pagina en php y tengo un problema cuando quiero insertar en la base de datos un ...
  #1 (permalink)  
Antiguo 09/08/2008, 05:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
problemas con insert into

Hola, muy buenas a todos, estoy liado con una pagina en php y tengo un problema cuando quiero insertar en la base de datos un nuevo usuario, no se por que motivo me duplica en el registro el mismo usuario 2 veces cuando lo creo. La verdad que hacia tiempo que no me ponia con php y tampoco entiendo mucho, lo mismo es una chorrada, ¡¡pero no la encuentro!!

este es el codigo de la pagina en la que se guardan el nuevo usuario

<?php

require('conexion.php');

$nuevousu=$HTTP_POST_VARS['nuevousu'];
$passwd=$HTTP_POST_VARS['passwd'];
$passwd2=$HTTP_POST_VARS['passwd2'];

if($passwd==$passwd2)
{
$chivato=1;
}
else
{
$chivato=0;

echo "ERROR. El password de confirmacion no es igual";
}

$c="select nombreusu from usuarios";
$r=mysql_query($c);
$nf=mysql_num_rows($r);

for($i=0; $i<$nf; $i++)
{
$nombreusu=mysql_result($r, $i, 0);
if($nombreusu==$nuevousu)
{
$chivato=0;
echo "ERROR. El nombre de usuario ya existe";
}
}

if($chivato==1)
{
$cin="insert into usuarios (nombreusu, contraseña) values ('$nuevousu', '$passwd')";
if(mysql_query($cin))
{
echo "Se ha introducido con éxito el nuevo usuario";
}
else
{
echo "No se ha podido guardar con éxito el nuevo usuario";
}
}

if(!mysql_query($cin))
{
echo "<input type='hidden' name='onuevousu' value='$nuevousu'>";
echo "<input type='hidden' name='opasswd' value='$passwd'>";
echo "<input type='hidden' name='opasswd2' value='$passwd2'>";
echo "<input type='submit' name='volver' value='Volver'>";
}

?>


GRACIAS por adelantado
  #2 (permalink)  
Antiguo 10/08/2008, 12:59
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: problemas con insert into

Hola homerjavi44. Bienvenid@ al foro.

Para hacer preguntas es preferible utilizar el foro que mejor se adapte a tu duda, así podrán ayudarte más usuarios.

Muevo tu mensaje al foro de PHP desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 10/08/2008, 13:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con insert into

Es porque estás ejecutando dos veces la consulta:
Código:
if(mysql_query($cin))
{
echo "Se ha introducido con éxito el nuevo usuario"; 
} 
else
{
echo "No se ha podido guardar con éxito el nuevo usuario"; 
}
}
 
if(!mysql_query($cin))
{
echo "<input type='hidden' name='onuevousu' value='$nuevousu'>";
echo "<input type='hidden' name='opasswd' value='$passwd'>";
echo "<input type='hidden' name='opasswd2' value='$passwd2'>";
echo "<input type='submit' name='volver' value='Volver'>"; 
}
Ponlo así:
Código PHP:
if($chivato==1)
{
    
$cin="insert into usuarios (nombreusu, contraseña) values ('$nuevousu', '$passwd')";
    
$result mysql_query($cin);
    if(
$result)
    {
        echo 
"Se ha introducido con éxito el nuevo usuario"
    } 
    else
    {
        echo 
"No se ha podido guardar con éxito el nuevo usuario"
        
//Aquí puede ir todo el bloque de abajo
    
}
}
 
if(!
result
{
    
// Todo este contenido puede ir perfectamente en el else de arriba que te indico
    
echo "<input type='hidden' name='onuevousu' value='$nuevousu'>";
    echo 
"<input type='hidden' name='opasswd' value='$passwd'>";
    echo 
"<input type='hidden' name='opasswd2' value='$passwd2'>";
    echo 
"<input type='submit' name='volver' value='Volver'>"

Saludo,
  #4 (permalink)  
Antiguo 11/08/2008, 20:12
Avatar de morillo  
Fecha de Ingreso: agosto-2008
Mensajes: 11
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problemas con insert into

oye amigo sino te sirve asi entonces tienes que quitar o borrar los archivos temporales de la internet espero que te sirva mi ayua
  #5 (permalink)  
Antiguo 12/08/2008, 13:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
muchas gracias señores!!

muchas gracias, sois unos maquinas, porque ya me estaba empezando a rayar, porque habia hecho lo mismo al insertar nuevas actividades y no sabia que me pasaba tambien (es que antes no pasaba, añadi ese codigo hace poco).

Lo dicho, gracias maquinas.
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 17:00.