Foros del Web » Programando para Internet » PHP »

Mostrar si los campos introducidos ya estan siendo usados

Estas en el tema de Mostrar si los campos introducidos ya estan siendo usados en el foro de PHP en Foros del Web. Buenas tardes a todos los usuari@s de Fdw. De antemano muchas gracias por sus comentarios y su ayuda. Bien lo que sucede es que tengo ...
  #1 (permalink)  
Antiguo 10/10/2015, 16:05
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 8 años, 9 meses
Puntos: 2
Mostrar si los campos introducidos ya estan siendo usados

Buenas tardes a todos los usuari@s de Fdw.

De antemano muchas gracias por sus comentarios y su ayuda.
Bien lo que sucede es que tengo un campo de registro dentro del index, al presionar un boton se oculta el campo de inicio de sesión y aparece el de registro, tengo un sistema que manda los errores, pero lo que sucede es que al mandar los errores se reinicia la página, cosa que no quiero puesto que tienen que volver a abrir el formulario de registro, por eso me diante php y ajax me gustaría que después de llenar un input, apareciera un mensaje (en caso de que se repitiera algo que ya está en la db) por ejemplo, si introduzco un usuario me diera: El usuario que introduciste ya está siendo usado, en el e-mail: El e-mail ya está siendo usado" y así con los otros, alguien podría ayudarme?.

Ya tengo realizado algo lo que sucede es que no se como hacer que se ejecute también para otros campos, osea no solo el del usuario nada más, sino el del mail y demás campos, pero si gustan pueden pasarme otro ejemplo.

Mi código js:
Código Javascript:
Ver original
  1. $(document).ready(function() {    
  2.     $('#username').blur(function(){
  3.  
  4.         $('#info').html('<span id="arrow"></span><img src="ajax-loader.gif" alt="" />').fadeOut(1000);
  5.  
  6.         var username = $(this).val();        
  7.         var dataString = 'username='+username;
  8.  
  9.         $.ajax({
  10.             type: "POST",
  11.             url: "comprobate.php",
  12.             data: dataString,
  13.             success: function(data) {
  14.                 $('#info').fadeIn(1000).html(data);
  15.             }
  16.         });
  17.     });            
  18. });

Mi código php
Código PHP:
Ver original
  1. <?php
  2. sleep(1);
  3. $link = mysql_connect('localhost', 'root', '12345');
  4. mysql_select_db('testeando',$link);
  5.  
  6. if($_REQUEST) {
  7.     $username = $_REQUEST['username'];
  8.     $query = "SELECT * FROM users WHERE username = '".strtolower($username)."'";
  9.     $results = mysql_query( $query) or die('ok');
  10.  
  11.     if(mysql_num_rows(@$results) > 0)
  12.         echo '<span id="arrow"></span><div id="Error"><span class="icon-x2"></span> El usuario introducido ya existe</div>';
  13.     else
  14.         echo '<span id="arrow"></span><div id="sucess">Este usuario está disponible</div>';
  15. }
  16. ?>

El html no importa mucho, puesto que solo es un div con una id llamada info y unos input de tipo texto, con las id username, mail, capcha, etc.
  #2 (permalink)  
Antiguo 10/10/2015, 16:41
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mostrar si los campos introducidos ya estan siendo usados

<saludo>
Pues ya lo tienes, lo único sería copiar el onblur del usuario,
y pegarlo tantos campos como se necesiten validar y cambiar obviamente
los datos a enviar a la pàgina donde se comprueba.
Y en la página donde se comprueba, lo primero sería capturar los valores (todos)
y luego hacer una estructura donde se pregunte cual de todos NO esta vacio,
y ya con eso se hace la consulta correspondiente y se crea una variable donde este
el mensaje, y esa variable se pone en los divs de respuesta, para no tener que hacer
muchos divs.
Intenta eso.
</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 10/10/2015, 17:07
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 8 años, 9 meses
Puntos: 2
Respuesta: Mostrar si los campos introducidos ya estan siendo usados

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludo>
Pues ya lo tienes, lo único sería copiar el onblur del usuario,
y pegarlo tantos campos como se necesiten validar y cambiar obviamente
los datos a enviar a la pàgina donde se comprueba.
Y en la página donde se comprueba, lo primero sería capturar los valores (todos)
y luego hacer una estructura donde se pregunte cual de todos NO esta vacio,
y ya con eso se hace la consulta correspondiente y se crea una variable donde este
el mensaje, y esa variable se pone en los divs de respuesta, para no tener que hacer
muchos divs.
Intenta eso.
</saludo>
Gracias por tu respuesta.

Disculpa la molestia, pero podrías pasarme o hacerme lo que estás diciendo, es que la verdad no entiendo mucho de programación y con esfuerzo hice lo que hice, Gracias y disculpa.
  #4 (permalink)  
Antiguo 10/10/2015, 17:32
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mostrar si los campos introducidos ya estan siendo usados

<saludo>
A ver, agregaré un campo más y haré los cambios en el php
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2. $('#username').blur(function(){
  3.  
  4. $('#info').html('<span id="arrow"></span><img src="ajax-loader.gif" alt="" />').fadeOut(1000);
  5.  
  6. var username = $(this).val();
  7. var dataString = 'username='+username;
  8.  
  9. $.ajax({
  10. type: "POST",
  11. url: "comprobate.php",
  12. data: dataString,
  13. success: function(data) {
  14. $('#info').fadeIn(1000).html(data);
  15. }
  16. });
  17. });
  18. $('#email').blur(function(){
  19. $('#info').html('<span id="arrow"></span><img src="ajax-loader.gif" alt="" />').fadeOut(1000);
  20.  
  21. var email = $(this).val();
  22. var dataString = 'email='+email;
  23.  
  24. $.ajax({
  25. type: "POST",
  26. url: "comprobate.php",
  27. data: dataString,
  28. success: function(data) {
  29. $('#info').fadeIn(1000).html(data);
  30. }
  31. });
  32. });


Código PHP:
Ver original
  1. <?php
  2. sleep(1);
  3. $link = mysql_connect('localhost', 'root', '12345');
  4. mysql_select_db('testeando',$link);
  5.  
  6. if($_REQUEST) {
  7. $username = $_REQUEST['username'];
  8. $email = $_REQUEST['email'];
  9.  
  10. if(!empty($username))
  11. {
  12. $query = "SELECT * FROM users WHERE username = '".strtolower($username)."'";
  13. $campo = 'usuario';
  14. }
  15. if(!empty($email))
  16. {
  17. $query = "SELECT * FROM users WHERE email = '".strtolower($email)."'";
  18. $campo = 'email';
  19. }
  20.  
  21. $results = mysql_query( $query) or die('ok');
  22.  
  23. if(mysql_num_rows(@$results) > 0)
  24. echo '<span id="arrow"></span><div id="Error"><span class="icon-x2"></span> El <?php echo $campo; ?> introducido ya existe</div>';
  25. else
  26. echo '<span id="arrow"></span><div id="sucess">Este <?php echo $campo; ?> está disponible</div>';
  27. }
  28. ?>
</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 10/10/2015 a las 17:41
  #5 (permalink)  
Antiguo 10/10/2015, 18:13
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 8 años, 9 meses
Puntos: 2
Respuesta: Mostrar si los campos introducidos ya estan siendo usados

Gracias por responderme con este ejemplo, pero ahora me tira error:

Con lo del usuario todo bien, pero al momento de realizar con el correo electrónico no pasa el mensaje, sale la palabra "ok" nada más. :(
Me podrías decir por qué sucede esto, Gracias.
  #6 (permalink)  
Antiguo 11/10/2015, 03:29
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mostrar si los campos introducidos ya estan siendo usados

<saludo>
Uhm, pues acabo de probarlo y me funciona correctamente.
Sin embargo, ví que algo faltaba por arreglar en el php y en el js mio

En el js, me faltó un cierre (el del document) aunque imagino que
en esa parte no debes tener falla, pues sale el ok.

En el php
Código PHP:
if(mysql_num_rows(@$results) > 0)
echo 
'<span id="arrow"></span><div id="Error"><span class="icon-x2"></span> El '.$campo.' introducido ya existe</div>';
else
echo 
'<span id="arrow"></span><div id="sucess">Este '.$campo.' está disponible</div>'
Ya con eso creo que no debe molestar (aunque sin ese arreglo me funciona también, solo que no sale el valor de $campo)

El ok sale en caso que se hace el blur y los campos no tienen valor alguno,
eso sería algo a validar en el blur también.
</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: campos, formulario, html, mysql, registro, select, siendo, sql
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 01:36.