Foros del Web » Programando para Internet » PHP »

Hay algo mal en mi codigo, captcha?

Estas en el tema de Hay algo mal en mi codigo, captcha? en el foro de PHP en Foros del Web. El problema es que le doy al boton de guardar sin poner el captcha, escribirlo... Y no aparece mensaje de error es como si no ...
  #1 (permalink)  
Antiguo 25/03/2014, 14:44
 
Fecha de Ingreso: febrero-2014
Mensajes: 31
Antigüedad: 10 años, 3 meses
Puntos: 0
Hay algo mal en mi codigo, captcha?

El problema es que le doy al boton de guardar sin poner el captcha, escribirlo...

Y no aparece mensaje de error es como si no lo leyera, nose que tengo mal.

Código PHP:
if(isset($_POST['save'])){
$privatekey = "6LcXlO8SAAAAACI1R4e4vQYDkrjvY27wfacmMtdj";
$resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);

if(isset($_POST['recaptcha_response_field']) && isset($_POST['recaptcha_challenge_field']) && isset($_POST['password']) && isset($_POST['confpass']))
    {
        if(!$resp->is_valid)
            { $result = "Codigo de seguridad invalido.";
              $error = "1";            }
            else
            {
    $pass1 = FilterText($_POST['password']);
    //Hashes and salts the old password with the user id (in lowercase) --encryption--
    $pass1_hash = HoloHashMD5($pass1, $myrow['name']);
    $day1 = FilterText($_POST['day']);
    $month1 = FilterText($_POST['month']);
    $year1 = FilterText($_POST['year']);
    $formatted_dob = "".$day1.".".$month1.".".$year1."";
    $newpass = FilterText($_POST['pass']);
    //Hashes and salts the new password with the user id (in lowercase) --encryption--
    $newpass_hash = HoloHashMD5($newpass, $rawname);
    $newpass_conf = FilterText($_POST['confpass']);
        if($pass1_hash == $myrow['password']){
            if($newpass == $newpass_conf){
                if(strlen($newpass) < 6){
                $result = "La contrase&ntilde;a debe contener al menos 6 car&aacute;cteres.";
                $error = "1";
                } else {
                    if(strlen($newpass) > 51){
                    $result = "&iexcl;Tu contrase&ntilde;a es demasiado larga! Debe contener 50 car&aacute;cteres como m&aacute;ximo.";
                    $error = "1";
                    } else {
                    //Updates password --encryption--
                    mysql_query("UPDATE users SET password = '".$newpass_hash."' WHERE username = '".$rawname."' and password = '".$rawpass."'");
                    $result = "Contrase&ntilde;a cambiada correctamente. Por favor, entra de nuevo.";
                    }
                }
            } else {
            $result = "Las contrase&nitlde;as no coinciden.";
            $error = "1";
            }
        } else {
        $result = "Los datos no coinciden con los de nuestra base de datos.";
        $error = "1";
        }
    }

}
}
} ?>

<?php } else if($tab == "4"){ ?>

<div class="habblet-container " style="float:left; width: 560px;">
        <div class="cbb clearfix settings">

            <h2 class="title">Cambia tu contrase&ntilde;a</h2>
            <div class="box-content">

<?php
if(!empty($result)){
    if(
$error == "1"){
    echo 
"<div class='rounded rounded-red'>";
    } else {
    echo 
"<div class='rounded rounded-green'>";
    }
    echo 
"".$result."<br />
    </div><br />"
;
}
?>

Hemos visto que te has conectado con tu <?php echo $shortname?> cuenta. Si quieres cambiar la contrase&ntilde;a, deber&aacute;s introducir tu contrase&ntilde;a para que sepamos que eres el due&ntilde;o de la cuenta.

<form action="profile/4" method="post" id="passwordform">
<input type="hidden" name="tab" value="4" />
<input type="hidden" name="__app_key" value="HoloCMS" />

<div class="settings-step">

<p>
 <label for="currentpassword">Contrase&ntilde;a actual</label><br />
 <input type="password" size="32" maxlength="32" name="password" id="currentpassword" class="currentpassword " />
</p>

<div>


    </div>
</div>
<div class="settings-step">

<p>
<label for="pass">Nueva Contrase&ntilde;a</label><br />
<input type="password" name="pass" id="password" size="32" maxlength="48" value="" />
</p>

<p>
<label for="confpass">Nueva Contrase&ntilde;a (otra vez)</label><br/>
<input type="password" name="confpass" id="password" size="32" maxlength="48" value="" />
</p>

    </div>
</div>



<?php
$publickey 
"6LcXlO8SAAAAACoZjwuAIAOCSbPF45KUwRVWNZuT";
                            
                            echo 
recaptcha_get_html($publickey$error); ?>
  <p>
   

<div class="settings-buttons"><center>
<input type="submit" value="Guardar" name="save" class="submit" /></center>
</div>
  #2 (permalink)  
Antiguo 25/03/2014, 20:27
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Hay algo mal en mi codigo, captcha?

No te sale error, y quieres que lo resolvamos? Wow
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 26/03/2014, 09:11
 
Fecha de Ingreso: febrero-2014
Mensajes: 31
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Hay algo mal en mi codigo, captcha?

Cita:
Iniciado por loncho_rojas Ver Mensaje
No te sale error, y quieres que lo resolvamos? Wow
Lo qué quiero decir es que no funciona... Nose porque.
  #4 (permalink)  
Antiguo 26/03/2014, 09:23
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Hay algo mal en mi codigo, captcha?

Cita:
Iniciado por davidprogramacion Ver Mensaje
Lo qué quiero decir es que no funciona... Nose porque.
De entrada necesitas revisar la condición
Código PHP:
Ver original
  1. { $result = "Codigo de seguridad invalido.";
  2.               $error = "1";            }
  3.             else

$resp->is_valid() tal vez no este devolviendo lo que esperas asi que imprime su resultado con var_dump o print_r o mejor aun configura xdebug. Tambien verifica que te estan llegando estas variables con los valores que esperas:
Código PHP:
Ver original
  1. isset($_POST['recaptcha_response_field']) && isset($_POST['recaptcha_challenge_field']) && isset($_POST['password']) && isset($_POST['confpass'])
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: html, mysql
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 07:08.