Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/10/2009, 08:34
vili86
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Una pequeña guia por favor ????

Exacto en primera instancia hice eso la parte del proceso lo hacia en un script aparte asi:
Código php:
Ver original
  1. <?php
  2. include 'conexion.php';
  3.  
  4. function validaIngreso($valor)
  5. {
  6.     // Funcion utilizada para validar el dato a ingresar recibido por POST
  7.     if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE;
  8.     else return FALSE;
  9. }
  10.  
  11. function verificaExistencia($apodo)
  12. {
  13.     /* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
  14.     Devuelve TRUE si el apodo existe, FALSE de lo contrario */
  15.     $consulta=mysql_query("SELECT id FROM jugadores WHERE registro_fbf='$apodo'") or die(mysql_error());
  16.     $registro=mysql_fetch_row($consulta);
  17.    
  18.     if(!empty($registro)) return TRUE;
  19.     else return FALSE;
  20. }
  21.  
  22. if(isset($_POST["ingreso"]))
  23. {
  24.     // Quito espacios en blanco al comienzo y fin de la cadena
  25.     $valor=trim($_POST["ingreso"]);
  26.     // Si el valor recibido es valido...
  27.     if(validaIngreso($valor))
  28.     {
  29.         conectar();
  30.        
  31.         $consulta=mysql_query("SELECT COUNT(*) FROM jugadores") or die(mysql_error());
  32.         $registro=mysql_fetch_row($consulta);
  33.  
  34.         // Verifico que la base de datos no rebase los 600 registros (numero arbitrario)
  35.         if($registro[0]>=600) { echo "Hay demasiados registros en la Base de Datos"; die(); }
  36.        
  37.         // Si el apodo ya existe en base de datos...
  38.         if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
  39.         else
  40.         {
  41.             // Ingreso el nuevo apodo
  42.             mysql_query("INSERT INTO jugadores (apodo) VALUES ('$valor')") or die(mysql_error());
  43.             echo "Tu apodo ha sido ingresado";
  44.         }
  45.         desconectar();
  46.     }
  47. }
  48. elseif(isset($_POST["verificacion"]))
  49. {
  50.     // Quito espacios en blanco al comienzo y fin de la cadena
  51.     $valor=trim($_POST["verificacion"]);
  52.     // Si el valor recibido es valido...
  53.     if(validaIngreso($valor))
  54.     {
  55.         conectar();
  56.         // Si el apodo ya existe en base de datos...
  57.         if(verificaExistencia($valor)) echo "El registro ya existe Chequea bien aver";
  58.         else echo "Apodo disponible";
  59.         desconectar();
  60.     }
  61. }
  62. ?>

Y en el form a esta parte llamaba asi:

ajax.open("POST", index.php?mod=ajax&pag=proceso", true);

Y en mi controlador asi:
Código php:
Ver original
  1. switch($pagina) {
  2.         case 'vista':
  3.         // if(!empty($_SESSION['usuario_id'])||($_SESSION['usuario_nivel']==3)||($_SESSION['usuario_nivel']==2)){
  4.             include('modulos/ajax/vistas/uno.html.php');
  5.         //} else {
  6.         //   echo "<center> Usted no tiene permisos para acceder </center>";
  7.         //}
  8.         break;
  9.         case 'proceso':
  10.            include('modulos/ajax/vistas/proceso.php');

Pero es lo mismo me sigue repitiendo ??


Estoy haciendo la prueba en un solo fuera de mi sistema esto y resulta que lleve todos los archivos en uno solo que se llama uno.html.php
y el problema es el mismo:
Código php:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>UNO SOLO</title>
  6. <script type="text/javascript">
  7. function nuevoAjax()
  8. {
  9.     /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
  10.     lo que se puede copiar tal como esta aqui */
  11.     var xmlhttp=false;
  12.     try
  13.     {
  14.         // Creacion del objeto AJAX para navegadores no IE
  15.         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  16.     }
  17.     catch(e)
  18.     {
  19.         try
  20.         {
  21.             // Creacion del objet AJAX para IE
  22.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  23.         }
  24.         catch(E) { xmlhttp=false; }
  25.     }
  26.     if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
  27.  
  28.     return xmlhttp;
  29. }
  30.  
  31. function eliminaEspacios(cadena)
  32. {
  33.     // Funcion equivalente a trim en PHP
  34.     var x=0, y=cadena.length-1;
  35.     while(cadena.charAt(x)==" ") x++;  
  36.     while(cadena.charAt(y)==" ") y--;  
  37.     return cadena.substr(x, y-x+1);
  38. }
  39.  
  40. function validaIngreso(valor)
  41. {
  42.     /* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
  43.     valido, FALSE en caso contrario */
  44.     var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
  45.     if(reg.test(valor)) return true;
  46.     else return false;
  47. }
  48.  
  49. function nuevoEvento(evento)
  50. {
  51.     // Obtengo el div donde se mostraran las advertencias y errores
  52.     var divMensaje=document.getElementById("error");
  53.  
  54.     /* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
  55.     distintas variables */ 
  56.     if(evento=="ingreso")
  57.     {
  58.         var input=document.getElementById("ingreso");
  59.         // Boton presionado
  60.         var boton=document.getElementById("botonIngreso");
  61.         // Valor ingresado por el usuario
  62.         var valor=input.value;
  63.         // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
  64.         var textoAccion="Ingresando...";
  65.     }
  66.     else
  67.     {
  68.         var input=document.getElementById("verificacion");
  69.         // Boton presionado
  70.         var boton=document.getElementById("botonVerificacion");
  71.         // Valor ingresado por el usuario
  72.         var valor=input.value;
  73.         // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
  74.         var textoAccion="Comprobando...";
  75.     }
  76.     // Elimino espacios por delante y detras de lo ingresado por el usuario
  77.     valor=eliminaEspacios(valor);
  78.     // Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
  79.     if(!validaIngreso(valor))
  80.     {
  81.         divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inv&aacute;lida";
  82.     }
  83.     else
  84.     {
  85.         // Deshabilito inputs y botones para evitar dobles ingresos
  86.         boton.disabled=true; input.disabled=true;
  87.         input.value=textoAccion;
  88.        
  89.         // Creo la conexion con el servidor y le envio la variable evento (que le indica si debe ingresar o verificar) y el dato a utilizar
  90.         var ajax=nuevoAjax();
  91.         ajax.open("POST", "uno.html.php", true);
  92.         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  93.         ajax.send(evento+"="+valor);
  94.        
  95.         ajax.onreadystatechange=function()
  96.         {
  97.             if (ajax.readyState==4)
  98.             {
  99.                 // Habilito nuevamente botones e inputs
  100.                 input.value="";
  101.                 boton.disabled=false; input.disabled=false;
  102.                 // Muestro el mensaje enviado desde el servidor
  103.                 divMensaje.innerHTML=ajax.responseText;
  104.             }
  105.         }
  106.     }
  107. }
  108. </script>
  109. </head>
  110. <?php
  111. include 'conexion.php';
  112.  
  113. function validaIngreso($valor)
  114. {
  115.     // Funcion utilizada para validar el dato a ingresar recibido por POST
  116.     if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE;
  117.     else return FALSE;
  118. }
  119.  
  120. function verificaExistencia($apodo)
  121. {
  122.     /* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
  123.     Devuelve TRUE si el apodo existe, FALSE de lo contrario */
  124.     $consulta=mysql_query("SELECT id FROM jugadores WHERE registro_fbf='$apodo'") or die(mysql_error());
  125.     $registro=mysql_fetch_row($consulta);
  126.    
  127.     if(!empty($registro)) return TRUE;
  128.     else return FALSE;
  129. }
  130.  
  131. if(isset($_POST["ingreso"]))
  132. {
  133.     // Quito espacios en blanco al comienzo y fin de la cadena
  134.     $valor=trim($_POST["ingreso"]);
  135.     // Si el valor recibido es valido...
  136.     if(validaIngreso($valor))
  137.     {
  138.         conectar();
  139.        
  140.         $consulta=mysql_query("SELECT COUNT(*) FROM jugadores") or die(mysql_error());
  141.         $registro=mysql_fetch_row($consulta);
  142.  
  143.         // Verifico que la base de datos no rebase los 600 registros (numero arbitrario)
  144.         if($registro[0]>=600) { echo "Hay demasiados registros en la Base de Datos"; die(); }
  145.        
  146.         // Si el apodo ya existe en base de datos...
  147.         if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
  148.         else
  149.         {
  150.             // Ingreso el nuevo apodo
  151.             mysql_query("INSERT INTO jugadores (apodo) VALUES ('$valor')") or die(mysql_error());
  152.             echo "Tu apodo ha sido ingresado";
  153.         }
  154.         desconectar();
  155.     }
  156. }
  157. elseif(isset($_POST["verificacion"]))
  158. {
  159.     // Quito espacios en blanco al comienzo y fin de la cadena
  160.     $valor=trim($_POST["verificacion"]);
  161.     // Si el valor recibido es valido...
  162.     if(validaIngreso($valor))
  163.     {
  164.         conectar();
  165.         // Si el apodo ya existe en base de datos...
  166.         if(verificaExistencia($valor)) echo "El registro ya existe Chequea bien aver";
  167.         else echo "Apodo disponible";
  168.         desconectar();
  169.     }
  170. }
  171. ?>
  172. <body>
  173. <center>
  174.            
  175.             <div id="demo" style="width:600px;" align="center">
  176.            
  177.                     <input type="text" id="verificacion">
  178.                     <button type="button" id="botonVerificacion" onclick="nuevoEvento('verificacion')">Comprobar</button>
  179.            
  180.            
  181.                    
  182.            
  183.                 <div class="mensaje" id="error"></div>
  184.             </div>
  185. </center>          
  186. </body>
  187.  
  188. </html>


Creo q el porblema paso por aqui :
var ajax=nuevoAjax();
ajax.open("POST", "uno.html.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valor);

Cuando llama de nuevo vuelve a cargar creo no se que dicen ??

Última edición por vili86; 28/10/2009 a las 08:39 Razón: Falta de codigo