Вход

Просмотр полной версии : Внутри условия php не работает jq


Julia1991
07.12.2020, 17:01
Нужно заменить текст в модальном окне, если $captcha не равно $pr, но jq не работает в php условии

function send_form(){
if (isset($_POST['pr'])){$pr = $_POST['pr']; if ($pr == '') {unset($pr);}}
if (isset($_POST['captcha'])){$captcha = $_POST['captcha'];}
/* Проверяем правильность ввода капчи */

if ($captcha == $pr){
$params["auth"]=$auth['AUTH_ID'];
curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
curl_setopt($c,CURLOPT_POST,true);
curl_setopt($c,CURLOPT_POSTFIELDS,http_build_query (
array("fields" =>
array(
"TITLE" => $_REQUEST['title'],
"NAME" => $_REQUEST['name'],
"ADDRESS" => $_REQUEST['adres'],
"STATUS_ID" => "NEW",
"SOURCE_ID" => $source_id,
"OPENED" => "Y",
//"ASSIGNED_BY_ID" => 1,
"COMMENTS" => $_REQUEST['text'],
"PHONE" => array(array("VALUE" => $_REQUEST['phone'], "VALUE_TYPE" => "WORK")),
//'EMAIL'=> array( array( "VALUE" => $_REQUEST['email'], "VALUE_TYPE" => "WORK" ) ),
),
'params' => array("REGISTER_SONET_EVENT" => "Y")
)
));
$response=curl_exec($c);
$response=json_decode($response,true);

die();
}

else{ ?>

<script>
jQuery(".modal-body").html('Неправильні цифри');
</script>

<?php }

}

jQuery(document).ready(function(){
jQuery('#forma_obratnoj_svyazi').submit(function() {
var topvoprosform = jQuery(this);
jQuery.ajax({
url:topvoprosform.attr('action'),
method:'POST',
data:topvoprosform.serialize(),

success: function (response) {

jQuery('#submit-family').html(response);
jQuery('#formModalCenter').modal(focus);
}

});
return false;
});
});
<!-- Modal -->
<div class="modal fade" id="formModalCenter" tabindex="-1" role="dialog" aria-labelledby="formModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<div id="test" class="modal-body">Дякуемо за звернення!</div>
</div>
</div>
</div>

laimas
07.12.2020, 18:30
$pr = $_POST['pr'];
$captcha = $_POST['captcha'];

if ($captcha == $pr)

Это что за странная каптча?

Julia1991
07.12.2020, 18:33
Капча по рандомным цифрам

<div class="field" style="text-align: center;margin-bottom: 30px;">
<?php
$i=1;
do{
$num[$i] = mt_rand(0,9);
echo "<img src='/wp-content/themes/blankslate/img/numbers/".$num[$i].".jpg' border='0' align='bottom' vspace='5px'>";
$i++;
}
while ($i<5);
$captcha = $num[1].$num[2].$num[3].$num[4];
?>

<input name="captcha" type="hidden" value="<?php echo $captcha ;?>">
<input required name="pr" style="width: 30%;height: 40px" type="text" size="6" maxlength="4" placeholder="Введіть числа з картинки">
</div>

Julia1991
07.12.2020, 18:36
Сравниваем два поля с капчей и поле с веденными данными от пользователя

laimas
07.12.2020, 18:57
Капча по рандомным цифрам


Не важно. Если код каптчи, который нужно "отгадать", тоже на клиенте, то какая же это каптча? Код каптчи должен знать только сервер, иначе это лабуда, и отгадывать ничего не надо.

По поводу "не исполняется", то нужно не js клиенту выплевывать, а сообщение, а запускать окно с этим сообщение, это клиент по ответу сервера.