elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con codigo php ( consulta y ejecucion )
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con codigo php ( consulta y ejecucion )  (Leído 3,317 veces)
XXXXXX


Desconectado Desconectado

Mensajes: 1.067



Ver Perfil WWW
Problema con codigo php ( consulta y ejecucion )
« en: 8 Agosto 2010, 05:53 am »

Antes que nada explicare la función del codigo.

Esto funciona a través de un formulario, la cosa es que tiene que comprobar que no existan otros "duplicados" del mail y el usuario, y bien, me e encallado, ya que e probado mil formas y no funciona, o directamente me tira siempre para el if, exista o no duplicado o no me funciona, o se salta la comprobación.

La cosa es que tiene que comprobar que no existan duplicados, y luego pasar a insertar ( esa parte si funciona )

Citar
$valor =  "SELECT * FROM `login` WHERE ('userid='$usuario', email='$mail')";
/* Si existe algun correo, el valor de la variable $valor sera 1,
Si no existe algun correo, el valor de la variable $valor sera 0
*/
 
if(!empty($valor)){//Si la variable $valor contiene algun valor se ejecuta el if
//Recordando que 0 es un valor nulo o mejor dicho nada y como 0 no es nada
//no se ejecuta el if....
echo "el usuario <b><font color='red' >''" $usuario "''</font></b>";
echo 
" o el Email <b><font color='red' >''" $mail "''</font></b> ya estan en uso";
echo 
"Intenta con otro nombre o email, para regresar click aquí";

}
//Fin del if y entra el else
else{//En caso que el if falle se ejecuta el else
mysql_query("INSERT INTO `login` (userid, user_pass, sex, email) VALUES ('$usuario','$password','$sexo','$mail')");
echo 
" tu cuenta a sido registrada satisfactoriamente, ahora puedes loguearte <b><font color='red' >" $usuario "</font></b> haciendo click aqui";
//Hacemos la consulta insertando los datos...
}//Fin del else

saludos y gracias por adelantado


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #1 en: 8 Agosto 2010, 06:36 am »

ese es el codigo completo? alguna vez realizas la consulta? lo que te devuelve esa query no era un resultset? pueden ser 2 filas :P el id y correo existen pero son de distinto usuario...


En línea

Ojo por ojo, y el mundo acabará ciego.
XXXXXX


Desconectado Desconectado

Mensajes: 1.067



Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #2 en: 8 Agosto 2010, 18:29 pm »

Antes tenia este codigo...

$valor mysql_num_rows(mysql_query("SELECT * FROM `login` WHERE userid = '$usuario'"));

pero solo me sirve para uno, y yo tengo que hacer 2 comprovaciones
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #3 en: 8 Agosto 2010, 18:58 pm »

porque simplemente no le agregas al campo mail y usuario valores unique
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
XXXXXX


Desconectado Desconectado

Mensajes: 1.067



Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #4 en: 8 Agosto 2010, 19:44 pm »

Como? explícate mejor por favor.

En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #5 en: 8 Agosto 2010, 19:49 pm »

Solo una observacion....

Lo que estas haciendo aqui:

Código
  1. $valor =  "SELECT * FROM `login` WHERE ('userid='$usuario', email='$mail')";

Esto ni siquiera es una consulta, esto es meramente un string. (No se ejecuta nada)

Por lo tanto....

Código
  1. emtpy($valor) //Devuelve false;
  2.  
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #6 en: 8 Agosto 2010, 20:43 pm »

Como? explícate mejor por favor.
:http://www.ignside.net/man/mysql/indices.php
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
XXXXXX


Desconectado Desconectado

Mensajes: 1.067



Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #7 en: 8 Agosto 2010, 22:33 pm »

Pero diganme..

$valor = mysql_num_rows(mysql_query("SELECT * FROM `login` WHERE userid = '$usuario'"));

este no sirve? ( me funciona para 1 )

pero si tendria que poner para que comprobara 2 cosas, como me lo montaria?

lo del otro ya vi que no lleva a ningun lado.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #8 en: 8 Agosto 2010, 23:06 pm »

Tienes que poner el campo mail y usuario como uniques, como te eh dicho...

Código
  1. mysql> DESCRIBE nombres;
  2. +--------+-------------+------+-----+---------+----------------+
  3. | FIELD  | TYPE        | NULL | KEY | DEFAULT | Extra          |
  4. +--------+-------------+------+-----+---------+----------------+
  5. | id     | SMALLINT(6) | NO   | PRI | NULL    | AUTO_INCREMENT |
  6. | nombre | CHAR(15)    | NO   | UNI | NULL    |                |
  7. +--------+-------------+------+-----+---------+----------------+
  8. 2 ROWS IN SET (0.00 sec)
  9.  
  10. mysql> INSERT INTO nombres (nombre) VALUES ('Jose'), ('Lukas'),('jose');
  11. ERROR 1062 (23000): Duplicate entry 'Jose' FOR KEY 'nombre'
  12.  

Asi evito que existan nombres iguales en el campo....
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Problema con codigo php ( consulta y ejecucion )
« Respuesta #9 en: 9 Agosto 2010, 01:30 am »

Claro que también lo podrías hacer desde PHP. Así:
Código
  1. #Connecting to the database
  2.  $conexion = mysql_connect("127.0.0.1", "root", "");
  3.  if (!$conexion){ die('Not connected : ' . mysql_error()); }
  4.  
  5. #Select Database
  6.  $db_selected = mysql_select_db('db_PoC', $conexion);
  7.  if (!$db_selected) { die ('Can\'t use <b>db_PoC</b> : ' . mysql_error()); }
  8.  
  9. function fSelectRecord($sQuery){
  10.  # Function select Record
  11.  
  12.  global $conexion;
  13.  
  14.  if(!$sQuery = mysql_query($sQuery, $conexion)){
  15.    return false;
  16.  }else{
  17.    while($sRow = mysql_fetch_array($sQuery, MYSQL_ASSOC)){
  18.  $sReturn[] = $sRow;
  19. }
  20. @mysql_free_result($sQuery);
  21.  }
  22.  return $sReturn[0];
  23. }
  24.  
  25. function fValidateRecord($sString, $sField){
  26.  # Function to validate the existence of a record
  27.  
  28.  global $conexion;
  29.  
  30.  $sReturnQuery = fSelectRecord("SELECT ".$sField." FROM tbl_usuarios WHERE ".$sField." = '".$sString."';", conexion);
  31.  
  32.  if($sReturnQuery[$sField] == $sString){
  33.    return 'Yes';
  34.  }else{
  35.    return 'Not';
  36.  }
  37. }
  38.  
  39. echo fValidateRecord('alex1', 'nombre')."<br>";
  40. echo fValidateRecord('alex5', 'nombre')."<br>";
  41. echo fValidateRecord('alex2@hotmail.cl', 'email')."<br>";
  42. echo fValidateRecord('alex5@hotmail.cl', 'email')."<br>";

Resultado:
Código
  1. Yes
  2. Not
  3. Yes
  4. Not
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consulta ejecucion
Software
salondono 0 1,242 Último mensaje 5 Abril 2011, 01:12 am
por salondono
Adobe no solucionará un problema de ejecución de código en Photoshop Elements 8
Noticias
wolfbcn 0 1,159 Último mensaje 5 Octubre 2011, 13:15 pm
por wolfbcn
iTunes soluciona, sin mencionarlo, un problema de ejecución de código
Noticias
wolfbcn 0 1,122 Último mensaje 24 Junio 2012, 23:22 pm
por wolfbcn
(Consulta) Ejercicio de Listas en C - Error de Ejecucion
Programación C/C++
palacio29 0 1,593 Último mensaje 15 Octubre 2016, 18:12 pm
por palacio29
Ejecución parcial de segunda consulta
.NET (C#, VB.NET, ASP)
dbadila 0 1,609 Último mensaje 3 Septiembre 2020, 05:17 am
por dbadila
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines