Foros del Web » Programando para Internet » PHP »

Controlar captcha a medida que escribe

Estas en el tema de Controlar captcha a medida que escribe en el foro de PHP en Foros del Web. Buenas Estoy tratando de controlar un codigo captcha mientras escribe que vaya diciendo, el tema es que no se bien como obtener el valor si ...
  #1 (permalink)  
Antiguo 23/12/2009, 14:35
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Controlar captcha a medida que escribe

Buenas

Estoy tratando de controlar un codigo captcha mientras escribe que vaya diciendo, el tema es que no se bien como obtener el valor si esta bien ingresado o no...aqui dejo lo que estoy haciendo:

Código PHP:
    <!--<div class="yui-u first">
                 <label for="email">Email: <input type="text" id="edit-subject" name="subject" class="form_t1" /><br /><span class="coment_mail">no se mostrará</span></label>
    </div> -->
<style type="text/css">
body { font-family: Arial; font-size: 12px; padding: 20px; }
#result { border: 1px solid green; width: 250px; margin: 0 0 5px 0; padding: 2px 20px; font-weight: bold; }
#change-image { font-size: 0.8em; }
#form{border: 1px solid rgb(148, 163, 196);margin: 0px 0px 15px;width:290px;}
form h3{background: rgb(236, 239, 245);display:block;margin: 0px 0px 0px;padding: 5px 10px;}
</style>
<?php
/** Validate captcha */
if (!empty($_REQUEST['captcha'])) {

    if (empty(
$_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) != $_SESSION['captcha']) {
        
$captcha_message "Captcha incorrecto"$style "background-color: #FF606C";
    } else {
        
$captcha_message "Captcha correcto!"$style "background-color: #CCFF99";
    }
    
$request_captcha htmlspecialchars($_REQUEST['captcha']);

    echo <<<HTML
        <div id="result" style="$style">
        <h3>$captcha_message</h3>
        </div>
HTML;
        
    unset(
$_SESSION['captcha']);
}
?>
<script language = "javascript">
function createRequestObject(){
       var peticion;
       var browser = navigator.appName;
       if(browser == "Microsoft Internet Explorer"){
          peticion = new ActiveXObject("Microsoft.XMLHTTP");
}else{
      peticion = new XMLHttpRequest();
}
return peticion;
}
var http = new Array();
function ObtDatos(url){
      var act = new Date();
      http[act] = createRequestObject();
      http[act].open('get', url);
      http[act].onreadystatechange = function() {
    if (http[act].readyState == 4) {
        if (http[act].status == 200 || http[act].status == 304) {
        var texto
        texto = http[act].responseText
        var DivDestino = document.getElementById("DivDestino");
        DivDestino.innerHTML = texto; 
       }
    }
}
http[act].send(null);
}
function compUsuario(Tecla) {
       Tecla = (Tecla) ? Tecla: window.event;
       input = (Tecla.target) ? Tecla.target : 
       Tecla.srcElement;
       if (Tecla.type == "keyup") {
           var DivDestino = document.getElementById("DivDestino");
           DivDestino.innerHTML = "<div></div>";
           if (input.value) {
              ObtDatos("/themes/theme/comment-theme-form.tpl.php?q=" + input.value);
              } 
       }
}
</script>
<form id="form" method="GET">
<div style="padding:20px">
<img src="/themes/theme/captcha.php" id="captcha" /><br/>
<!-- CHANGE TEXT LINK -->
<a href="#" onclick="document.getElementById('captcha').src='/themes/theme/captcha.php?'+Math.random();" id="change-image">Recargar Captcha.</a><br/><br/>
<div style="margin-top:8px;"><span style="font-size:12px;">Ingrese el codigo:</span><br><input type="text" name="code" onkeyup="compUsuario(event)" class="form_t2" style="width:142px;"></div>
</div>
<div class="yui-u first" class="form_t2">
    <label for="comentario" class="form_t2"><?php print $form['_author']['#value']; ?> dice:<textarea rows="6" cols="45" id="edit-comment" name="comment" class="form_t2"></textarea></label>
        <div id = "DivDestino"></div>
        <div class="boton"><input type="submit" class="boton" name="op" id="edit-submit" value="<?php print t($form['submit']['#value']); ?>"  /></div>
    </div>
    <input type="hidden" name="form_token" id="<?php print $form['form_token']['#id']; ?>" value="<?php print $form['form_token']['#value']; ?>"  />
    <input type="hidden" name="form_id" id="edit-comment-form" value="<?php print $form['form_id']['#value']; ?>"  />
</form>
</div>
Me carga bien el codigo captcha pero como hago para saber si va escribiendo bien?, porque siempre usa un action para controlar pero no deseo hacer eso...
  #2 (permalink)  
Antiguo 23/12/2009, 14:39
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: Controlar captcha a medida que escribe

vas a tener que ir al foro de AJAX para eso, con php es imposible. Puede que mezclando AJAX con un script en PHP, pero lo principal es AJAX.
  #3 (permalink)  
Antiguo 23/12/2009, 14:42
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Controlar captcha a medida que escribe

No deberias traer al valor del texto del captcha con AJAX, guardarlo en una variable y pasarselo a una funcion que compare esa variable con el texto ingresado a medida que se escribe?
__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 23/12/2009, 14:44
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Controlar captcha a medida que escribe

Eso lo estoy haciendo con javascript, el tema es que no se como agarrar el valor que esta escribiendo, ya lo he usado antes de esta manera controlando usuarios y funciona pero el drama es compararlo con el captcha que estoy usando...
  #5 (permalink)  
Antiguo 23/12/2009, 14:46
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: Controlar captcha a medida que escribe

AJAX ... pregunta en el foro de ajax.
  #6 (permalink)  
Antiguo 23/12/2009, 14:51
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Controlar captcha a medida que escribe

Preguntar en el foro de AJAX no es hacer otro post en el foro de Javascript....

http://www.forosdelweb.com/f13/contr...scribe-764181/

Es ESPERAR a que algun moderador lo pase....
__________________
HV Studio
Diseño y desarrollo web
  #7 (permalink)  
Antiguo 23/12/2009, 14:52
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Controlar captcha a medida que escribe

Cita:
Iniciado por jackson666 Ver Mensaje
Preguntar en el foro de AJAX no es hacer otro post en el foro de Javascript....

http://www.forosdelweb.com/f13/contr...scribe-764181/

Es ESPERAR a que algun moderador lo pase....
NO, PREGUNTAR es preguntar.....o hablamos distintos idiomas?...
  #8 (permalink)  
Antiguo 23/12/2009, 14:54
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Controlar captcha a medida que escribe

Cita:
Iniciado por SeNdEr2003 Ver Mensaje
NO, PREGUNTAR es preguntar.....o hablamos distintos idiomas?...
Claro, disculpame, tenes razon.,...

Compara el foro de javascript y el de PHP y decime cuantos post exactamente iguales encontras

Ademas, que? haces caso a todo lo que te dicen a vos? Avisame si es asi!
__________________
HV Studio
Diseño y desarrollo web
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 06:54.