Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - verificador de apodos
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information verificador de apodos

Publicar nuevo tema Responder al tema
Foros de discusión » PHP, CMS, Joomla, WordPress, Alfresco, Apache, Tomcat, Drupal   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
jecavi20
Usuario


Registrado: Sep 04, 2013
Mensajes: 3

Asunto: verificador de apodos Responder citando

buenas tardes compañeros haber si me ayudan ahora con esta, gracias de antemano

tengo unos scripts de ingreso y comprobación de apodos que encontre en navegando en google con php ajax y msql que comprueba si ya existe el apodo o no, pero lo que pasa es que cuando le das ingresar o comprobar el te dice si esta registrado o no y deja el campo en blanco borrando lo que el usuario escribió en el input, yo quiero que no se borre sino que se quede escrito en el campo sin importar si ya esta registro o no

miren los codigo

archivo .html
Código:

<body>
         
         <div id="demo" style="width:600px;">
            <div id="demoDer">
               <input type="text" id="verificacion" onclick="nuevoEvento('verificacion')">
               <button type="button" id="botonVerificacion" onclick="nuevoEvento('verificacion')">Comprobar</button>
            </div>
            <div id="demoIzq">
               <input type="text" id="ingreso"onclick="nuevoEvento('ingreso')">
               <button type="button" id="botonIngreso" onclick="nuevoEvento('ingreso')">Ingresar</button>
            </div>
            <div class="mensaje" id="error"></div>
         </div>
         
</body>



archivo .php
Código:

<?php
include 'conexion.php';

function validaIngreso($valor)
{
    // Funcion utilizada para validar el dato a ingresar recibido por POST
    if(preg_match("/(^[a-zA-Z0-9.@ ]{4,40}$)/", $valor)) return TRUE;
    else return FALSE;
}

function verificaExistencia($apodo)
{
    /* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
    Devuelve TRUE si el apodo existe, FALSE de lo contrario */
    $consulta=mysql_query("SELECT id FROM apodos WHERE apodo='$apodo'") or die(mysql_error());
    $registro=mysql_fetch_row($consulta);
     
    if(!empty($registro)) return TRUE;
    else return FALSE;
}

if(isset($_POST["ingreso"]))
{
    // Quito espacios en blanco al comienzo y fin de la cadena
    $valor=trim($_POST["ingreso"]);
    // Si el valor recibido es valido...
    if(validaIngreso($valor))
    {
        conectar();
         
        $consulta=mysql_query("SELECT COUNT(*) FROM apodos") or die(mysql_error());
        $registro=mysql_fetch_row($consulta);

        // Verifico que la base de datos no rebase los 600 registros (numero arbitrario)
        if($registro[0]>=600) { echo "Hay demasiados registros en la Base de Datos"; die(); }
         
        // Si el apodo ya existe en base de datos...
        if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
        else 
        {
            // Ingreso el nuevo apodo
            mysql_query("INSERT INTO apodos (apodo) VALUES ('$valor')") or die(mysql_error());
            echo "Tu apodo ha sido ingresado";
        }
        desconectar();
    }
}
elseif(isset($_POST["verificacion"]))
{
    // Quito espacios en blanco al comienzo y fin de la cadena
    $valor=trim($_POST["verificacion"]);
    // Si el valor recibido es valido...
    if(validaIngreso($valor))
    {
        conectar();
        // Si el apodo ya existe en base de datos...
        if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
        else echo "Apodo disponible";
        desconectar();
    }
}
?>



archivo .js
Código:

function nuevoAjax()
{
   /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
   lo que se puede copiar tal como esta aqui */
   var xmlhttp=false;
   try
   {
      // Creacion del objeto AJAX para navegadores no IE
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
   catch(e)
   {
      try
      {
         // Creacion del objet AJAX para IE
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(E) { xmlhttp=false; }
   }
   if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }

   return xmlhttp;
}

function eliminaEspacios(cadena)
{
   // Funcion equivalente a trim en PHP
   var x=0, y=cadena.length-1;
   while(cadena.charAt(x)==" ") x++;   
   while(cadena.charAt(y)==" ") y--;   
   return cadena.substr(x, y-x+1);
}

function validaIngreso(valor)
{
   /* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
   valido, FALSE en caso contrario */
   var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
   if(reg.test(valor)) return true;
   else return false;
}

function nuevoEvento(evento)
{
   // Obtengo el div donde se mostraran las advertencias y errores
   var divMensaje=document.getElementById("error");

   /* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
   distintas variables */   
   if(evento=="ingreso")
   {
      var input=document.getElementById("ingreso");
      // Boton presionado
      var boton=document.getElementById("botonIngreso");
      // Valor ingresado por el usuario
      var valor=input.value;
      // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
      var textoAccion="Ingresando...";
   }
   else
   {
      var input=document.getElementById("verificacion");
      // Boton presionado
      var boton=document.getElementById("botonVerificacion");
      // Valor ingresado por el usuario
      var valor=input.value;
      // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
      var textoAccion="Comprobando...";
   }
   // Elimino espacios por delante y detras de lo ingresado por el usuario
   valor=eliminaEspacios(valor);
   // Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
   if(!validaIngreso(valor))
   {
      divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inv&lida";
   }
   else
   {
      // Deshabilito inputs y botones para evitar dobles ingresos
      boton.disabled=true; input.disabled=true;
      input.value=textoAccion;
      
      // 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
      var ajax=nuevoAjax();
      ajax.open("POST", "comprobar_disponibilidad_de_apodo_proceso.php", true);
      ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      ajax.send(evento+"="+valor);
      
      ajax.onreadystatechange=function()
      {
         if (ajax.readyState==4)
         {
            // Habilito nuevamente botones e inputs
            input.value="";
            boton.disabled=false; input.disabled=false;
            // Muestro el mensaje enviado desde el servidor
            divMensaje.innerHTML=ajax.responseText;
         }
      }
   }
}


todo funciona bien pero lo que no quiero es que borre los campos despues hacer las comprobaciones muchas gracias de antemano.
MensajePublicado:
Dom Sep 15, 2013 10:17 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » PHP, CMS, Joomla, WordPress, Alfresco, Apache, Tomcat, Drupal  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A