Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2009, 08:16
vili86
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema con generador de códigos

tengo un verificador de codigos generados aleatoriamente que me lo econtre en la red. Cuando lo probe individualmente funciona perfectamente pero ahora lo implemente en mi pagina pero pasa este problema.
1.-
Cuando pongo comprobar no ahy ningun problema me sale el mensaje:
http://img251.imageshack.us/img251/753/46995162.jpg

2.- Pero cuando realizo un busqueda y ese numero esta libre repite dos veces el forma asi:
http://img210.imageshack.us/img210/1945/56235236.jpg

3.- Y cuando encuentra el numero lo mismo pasa asi:
http://img42.imageshack.us/img42/1679/24664366.jpg

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

Y este es mi pq cobtrolador:
Código php:
Ver original
  1. <?php
  2.     $pagina = $_GET['pag'];
  3.    
  4.     switch($pagina) {
  5.         case 'vista':
  6.        
  7.             include('modulos/ajax/vistas/uno.html.php');
  8.        
  9.         break;
  10.         case 'proceso':
  11.            include('modulos/ajax/vistas/uno.html.php');
  12.        
  13.         break;
  14.      
  15.     }
  16. ?>

Alguien podria decirme q es lo que esta pasando y como debp proceder a lo solucion muchas gracias??