Здравствуйте. Имеется форма регистрации с reCAPTCHA: Код (Text): <form id="registration" method="POST" action="/?page=registration" style="margin:0;padding:0"> <center> <b>Логин</b>:<input id="u_login" onkeyup="reg_u_login();" class="text" type="text" name="u_login" placeholder="" autocomplete="off" maxlength="20" value="<?php echo $u_login; ?>"> <br /><br /> <b>Пароль</b>:<input class="text" id="u_qiwi" type="text" name="u_qiwi" placeholder="" maxlength="30" value="<?php echo $u_qiwi; ?>"> <br /><br /> <b>Вас пригласил</b>: <b><?php if(!empty($_SESSION['ref_login'])){ echo $_SESSION['ref_login']; }?></b><br /><br /> <?php require_once('recaptchalib.php'); // Get a key from https://www.google.com/recaptcha/admin/create $publickey = ""; $privatekey = ""; # the response from reCAPTCHA $resp = null; # the error code from reCAPTCHA, if any $error = null; # was there a reCAPTCHA response? if ($_POST["recaptcha_response_field"]) { $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if ($resp->is_valid) { echo "You got it!"; } else { # set the error code so that we can display it $error = $resp->error; } } echo recaptcha_get_html($publickey, $error); ?> <br/><br> <a class="button" href="javascript:with(document.getElementById('registration')){ submit(); }">РЕГИСТРАЦИЯ</a></center> </table> </form> Как заставить капчу проверять символы? На данный момент можно регистрировать вообще игнорируя ее.
Для формы должен существовать яваскрипт обрабатывающий введенные в поле данные и либо разрешающий сабмит, либо возвращающий ошибку. У тебя тут есть его инит, обращение к функции "submit()", но его самого не видно. Смотри отладчик - грузится ли он на страницу, есть ли там код отвечающий за взаимодействие с элементами страницы, которые формируются строкой "echo recaptcha_get_html($publickey, $error);", есть ли ошибки в его работе... Короче, нужно научиться программировать. P.S. Либо просто посмотреть включена ли капча в настройках. ) Хотя, в нормальной цмс её вообще видно не было бы, когда она отключена. Токо вот, эта форма не из нормальной взята, судя по всему.
Код (Text): <?php $reg_show=1; if(!isset($_POST['u_login'])){ $u_login=''; $u_qiwi=''; } else{ $warning=''; $u_login=$_POST['u_login']; $u_login=preg_replace('#[^a-zA-Z\-\_0-9]+#','',$u_login); $u_login=trim($u_login); if(strlen($u_login)<3){ $warning.='Логин не меньше 3 символов<br>'; } else{ $ulq=mysql_query("SELECT login FROM users WHERE login LIKE '".$u_login."'"); if(mysql_num_rows($ulq)>0){ $warning.='Этот логин занят<br>'; } } $u_qiwi=$_POST['u_qiwi']; $u_qiwi=preg_replace('#[^a-zA-Z\-\_0-9]+#','',$u_qiwi); if(strlen($u_qiwi)<6){ $warning.='Пароль не менее 6 символов<br>'; } if(strlen($u_qiwi)>30){ $warning.='Пароль не более 30 символов<br>'; } if($warning==''){ $u_ref=''; if(!empty($_SESSION['ref_login'])){ $u_ref=$_SESSION['ref_login']; } $regq=mysql_query("INSERT INTO users (login,qiwi,ref,date) VALUES ('$u_login','".md5($u_qiwi)."','$u_ref','$time')"); $regusepq=mysql_query("SELECT uid FROM users"); $r_users=mysql_num_rows($regusepq); $regtoputnu=''; $regnusq=mysql_query("SELECT login FROM users ORDER BY date DESC LIMIT 80"); while($regnusm=mysql_fetch_row($regnusq)){ $regtoputnu.='<img src="images/nu.png"> '.$regnusm[0].' '; } mysql_query("UPDATE data SET users='$r_users', new_u='$regtoputnu'"); $reg_show=0; }} ?> <h2>РЕГИСТРАЦИЯ В ПРОЕКТЕ</h2> <?php if($reg_show==0){ ?> <div class="reg_s_title">Теперь Вы зарегистрированы в нашем проекте!</div> <div align="center" class="reg_s_date"> <b>Логин:</b> <font color="#77AF1B"><?php echo $u_login; ?></font> <br><b>Пароль:</b> <font color="#FF962D"><?php echo $u_qiwi; ?></font> </div> <?php } ?> <?php if($reg_show==1){ ?> <form id="registration" method="POST" action="/?page=registration" style="margin:0;padding:0"> <?php if($warning!=''){ echo '<center><p><b>'.$warning.'<b></p></center><br>'; } ?> <center> <b>Логин</b>:<input id="u_login" onkeyup="reg_u_login();" class="text" type="text" name="u_login" placeholder="" autocomplete="off" maxlength="20" value="<?php echo $u_login; ?>"> <br /><br /> <b>Пароль</b>:<input class="text" id="u_qiwi" type="text" name="u_qiwi" placeholder="" maxlength="30" value="<?php echo $u_qiwi; ?>"> <br /><br /> <b>Вас пригласил</b>: <b><?php if(!empty($_SESSION['ref_login'])){ echo $_SESSION['ref_login']; }?></b><br /><br /> <?php require_once('recaptchalib.php'); // Get a key from https://www.google.com/recaptcha/admin/create $publickey = ""; $privatekey = "-"; # the response from reCAPTCHA $resp = null; # the error code from reCAPTCHA, if any $error = null; # was there a reCAPTCHA response? if ($_POST["recaptcha_response_field"]) { $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if ($resp->is_valid) { echo "You got it!"; } else { # set the error code so that we can display it $error = $resp->error; } } echo recaptcha_get_html($publickey, $error); ?> <br/> <a class="button" href="javascript:with(document.getElementById('registration')){ submit(); }">РЕГИСТРАЦИЯ</a></center> </table> </form> <?php } ?> </div> <div class="main_news_bottom"></div> Ну вот короч код всей страницы. Настроек как таковых нет. Есть стандартный конфиг, т.е. это данные для доступа к бд и еще пара не имеющих в данном случае настроек.