Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: smagno en 4 Noviembre 2009, 15:17 pm



Título: No me muestra la informacion en el text html al momento de buscarlo
Publicado por: smagno en 4 Noviembre 2009, 15:17 pm
No me muestra la informacion en el text en el momento que utilizo el onblur para buscar si existe

Código
  1.  
  2. <tr>
  3. <td width="150" align="left"><img src="../img/req.gif" width="4" height="6"><b>Usuario:</b></td>
  4. <td width="300" align="left"><input name="txtUsuario" type="text" id="txtUsuario" size="20" maxlength="10" onBlur="fntCargar_Usuario()" </td>
  5. </tr>
  6. <tr>
  7. <td align="left"><img src="../img/req.gif" width="4" height="6"> <b>Nombre:</b></td>
  8. <td colspan="3" align="left"><input name="txtNombre" type="text" id="txtNombre" size="40" maxlength="60" value="<?php echo $_GET['$txtNombre'];?>"></td>
  9. </tr>
  10. <tr>
  11. <td align="left"><img src="../img/req.gif" width="4" height="6"> <b>Email:</b></td>
  12. <td colspan="3" align="left"><input name="txtEmail" type="text" id="txtEmail" value="<?php echo $_GET['$txtEmail'];?>" size="40" maxlength="60"></td>
  13. </tr>
  14.  
  15.  

Código
  1.  
  2. function fntCargar_Usuario(){
  3. var contenedor, usuario, ajax = new fntAjax()
  4.  
  5. contenedor = document.getElementById('ajax');
  6. usuario = document.frmusuario.txtUsuario.value;
  7.  
  8. ajax.open("GET", "../php/cargar_usuario.php?usuario=" + usuario, true)
  9.  
  10. ajax.onreadystatechange=function() {
  11. if (ajax.readyState==4) {
  12. // alert("paso "+ajax.responseText);
  13. if(ajax.responseText=="."){
  14. document.getElementById("txtUsuario").disabled = true;
  15. document.getElementById("ajax").innerHTML="&nbsp;";
  16. }else{
  17. contenedor.innerHTML = ajax.responseText;
  18. }
  19. }else{
  20. contenedor.innerHTML = '<img src="../img/cargador.gif" align="absmiddle">' +
  21. '<span>&nbsp;Espere un momento...</span>';
  22. }
  23. }
  24. ajax.send(null)
  25. }
  26.  
  27.  

Código
  1. cargar_usuario.php
  2.  
  3. <?php
  4.  
  5. session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra
  6.  
  7. include_once('conexion_sql/conexionsql.php');
  8. include_once('funciones.php');
  9.  
  10. $txtUsuario = trim($_GET['usuario']);
  11.  
  12. Conectar();
  13. $result = mysql_query("SELECT usuario FROM ma_usuarios WHERE usuario='$txtUsuario'");
  14.  
  15. if (mysql_num_rows($result) > 0) {
  16.  
  17. $row = mysql_fetch_assoc($result);
  18. $txtNombre = $row["nombre"];
  19. $txtEmail  = $row["email"];
  20. echo ".";
  21. }
  22.  
  23. ?>
  24.  
  25.  



Título: Re: No me muestra la informacion en el text html al momento de buscarlo
Publicado por: Mr. Crowley en 5 Noviembre 2009, 13:37 pm
Estimado, yo creo que ud tiene una pequena confusion. PHP no tiene nada que ver con Ajax. En este caso... si le pide algo a PHP por medio de Ajax, PHP podria devolverselo, pero a quien lo solicito... osea, a Ajax.

Algo basico:

Código
  1.  
  2. <tr>
  3. <td width="150" align="left"><img src="../img/req.gif" width="4" height="6"><b>Usuario:</b></td>
  4. <td width="300" align="left"><input name="txtUsuario" type="text" id="txtUsuario" size="20" maxlength="10" onBlur="fntCargar_Usuario()" </td>
  5. </tr>
  6. <tr>
  7. <td align="left"><img src="../img/req.gif" width="4" height="6"> <b>Nombre:</b></td>
  8. <td colspan="3" align="left"><input name="txtNombre" type="text" id="txtNombre" size="40" maxlength="60"></td>
  9. </tr>
  10.  

Para que muestre el nombre:

Código
  1. if(ajax.responseText!=""){
  2. document.getElementById("txtNombre").value = ajax.responseText;
  3. }else{
  4. contenedor.innerHTML = "El usuario no esta registrado!";
  5. }
  6.  


Edito:
Código
  1. <?php
  2.  
  3. session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra
  4.  
  5. include_once('conexion_sql/conexionsql.php');
  6. include_once('funciones.php');
  7.  
  8. $txtUsuario = trim($_GET['usuario']);
  9.  
  10. Conectar();
  11. $result = mysql_query("SELECT usuario FROM ma_usuarios WHERE usuario='$txtUsuario'");
  12.  
  13. if (mysql_num_rows($result) > 0) {
  14.  
  15. $row = mysql_fetch_assoc($result);
  16. $txtNombre = $row["nombre"];
  17. $txtEmail  = $row["email"];
  18. echo ".";
  19. }
  20. ?>
  21.  

Para que le funcione con ese caso lo que podria hacer (en vez del echo "."), seria recargar la pagina nuevamente... ahi haria entonces una redireccion a "usuarios.php?txtNombre=".$txtNombre."&txtEmail=".$txtEmail

Aun asi, creo que no tendria sentido usar Ajax para eso.


Título: Re: No me muestra la informacion en el text html al momento de buscarlo
Publicado por: smagno en 5 Noviembre 2009, 14:07 pm
Mr. Crowley
Yo tengo claro eso, estaba buscando tambien como pasar la informacion de php a ajax y de ahi devolver en javascript a html como me muestras en el ejemplo con el nombre, pero como paso el resto como el email y demas datos por que ahi me muestra un solo campo??? eso lo hice para resumir pero faltan mas campos.

En el otro ejemplo que me dices como redirecciono??? aparte de "frmusuarios.php?txtNombre=".$txtNombre."&txtEmail=".$txtEmail y me imagino que es en php quitando el echo "."

al momento de redireccionar, el carga la informacion en el value del input???

Código:
						<tr>
  <td width="150" align="left"><img src="../img/req.gif" width="4" height="6"> <b>Usuario:</b></td>
<td width="300" align="left"><input name="txtUsuario" type="text" id="txtUsuario" size="20" maxlength="10" onBlur="fntCargar_Usuario()" </td>
  </tr>
<tr>
<td align="left"><img src="../img/req.gif" width="4" height="6"> <b>Nombre:</b></td>
  <td colspan="3" align="left"><input name="txtNombre" type="text" id="txtNombre" size="40" maxlength="60" value="<?php echo $_GET['$txtNombre'];?>"></td>
</tr>
<tr>
<td align="left"><img src="../img/req.gif" width="4" height="6"> <b>Email:</b></td>
  <td colspan="3" align="left"><input name="txtEmail" type="text" id="txtEmail" value="<?php echo $_GET['$txtEmail'];?>" size="40" maxlength="60"></td>
</tr>

Cual de las dos formas me recomiendas??  me sea mas util.
no se me parece mejor la del ajax que volver a redireccionar.


Título: Re: No me muestra la informacion en el text html al momento de buscarlo
Publicado por: neopuerta en 5 Julio 2010, 18:25 pm
tu lo que quieres es un registro y un reconocimiento de usuarios con base de datos.