Foros del Web » Programando para Internet » PHP »

No puedo lograr que ejecute rutina si es falso el valor

Estas en el tema de No puedo lograr que ejecute rutina si es falso el valor en el foro de PHP en Foros del Web. Hola, uso este script para agregar usuarios a mi sitio. El tema es que le agregue una validacion, para ver si existe el nombre de ...
  #1 (permalink)  
Antiguo 24/07/2006, 15:50
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 11 años, 5 meses
Puntos: 0
Desacuerdo No puedo lograr que ejecute rutina si es falso el valor

Hola, uso este script para agregar usuarios a mi sitio. El tema es que le agregue una validacion, para ver si existe el nombre de usuario, que no lo grabe y envie un mensaje.
Pero lamentablemente no logro que funcione.
SIEMPRE, ponga un nombre de usuario que existe o uno que no, termino en el mensaje de error que ya existe el usuario.

que esta mal??

Código PHP:

$uus
=$_POST['usuario_d'];
if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
/// validacion
mysql_select_db($database_chistesvip$chistesvip);
$query_rs_validacion_usr "SELECT * FROM owners WHERE owners.nombre_web='$uus'";
$rs_validacion_usr mysql_query($query_rs_validacion_usr$chistesvip) or die(mysql_error());
$row_rs_validacion_usr mysql_fetch_assoc($rs_validacion_usr);
$totalRows_rs_validacion_usr mysql_num_rows($rs_validacion_usr);
mysql_free_result($rs_validacion_usr);

if (
$totalRows_rs_validacion_usr ==0) { // si no existe registro

  
$insertSQL sprintf("INSERT INTO owners (nombre_web, pass, id_perfil, email, anulado) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['usuario_d'], "text"),
                       
GetSQLValueString($_POST['pass_d'], "text"),
                       
GetSQLValueString($_POST['rango'], "int"),
                       
GetSQLValueString($_POST['email_d'], "text"),
                       
GetSQLValueString($_POST['anulado'], "text"));

  
mysql_select_db($database_chistesvip$chistesvip);
  
$Result1 mysql_query($insertSQL$chistesvip) or die(mysql_error());

  
$insertGoTo "seccion-usuarios.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
mysql_free_result($rs_validacion_usr);
}else{
header(sprintf("Location: %s""seccion-usuarios.php?mensaje=El usuario ya existe en la DB"));
}

muchas gracias
  #2 (permalink)  
Antiguo 24/07/2006, 20:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 183
Antigüedad: 12 años, 10 meses
Puntos: 0
`Perdona, creo q si le pones UNIQUE a la tabla 'user' lo solucionas, con eso logras que cada ingreso en la tabla selecionada (USER) sea unica, la respuesta de error te la tira el mismo MYSQL y te ahorras tanto codigo.
Si mal no recuerdo.
Abrazo.
  #3 (permalink)  
Antiguo 25/07/2006, 03:27
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
Cita:
SIEMPRE, ponga un nombre de usuario que existe o uno que no, termino en el mensaje de error que ya existe el usuario.
pero inserta al usuario? o no hace nada y simplemente te muestra el mensaje?

Cita:
que esta mal??
bueno.. a mi parecer eso de sprintf y GetSQLValueString no haría falta usarlo... y meter una variables tan largas "$row_rs_validacion_usr " uff... aunque eso no tiene que influir para que funcione o no...

en realidad yo cambiaria todo ese codigo y lo pondría de una forma "mas sencilla" pero bueno. .cada uno codifica como quiere...
__________________
ALOZORRO v5.0 (ahora en .es)
  #4 (permalink)  
Antiguo 25/07/2006, 17:44
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 11 años, 5 meses
Puntos: 0
lo que pase es que en ninguno de los dos casos escribe.

para mi el tema que no puedo resolver esta entre esto
Código PHP:
$uus=$_POST['usuario_d']; 
y esto
Código PHP:
if ($totalRows_rs_validacion_usr ==0
por ahi va de otra forma. como = "", pero no logro que compare como corresponde.

con esto, no se donde poner el unique. en phpyadmin no esta la opcion

Cita:
Iniciado por index000
`Perdona, creo q si le pones UNIQUE a la tabla 'user' lo solucionas, con eso logras que cada ingreso en la tabla selecionada (USER) sea unica, la respuesta de error te la tira el mismo MYSQL y te ahorras tanto codigo.
perdon por la ignorancia.. saludos y gracias por su ayuda
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 15:51.