PDA

View Full Version : سوال: مشکل در اعتبار سنجی کد کپچا



sajad prm
شنبه 25 شهریور 1396, 18:25 عصر
با سلام
من یک نمونه کد کپچا در پروژه ام استفاده کردم من از قالب وردپرس استفاده میکنم
توی این کد باید session start بشه که من اونو رو در فایل function.php قالب قرار دادم که در زیر میبینید

<?php
function pr_session_start()
{session_start();$_SESSION = array();include get_template_directory()."/inc/captcha/simple-php-captcha.php";$_SESSION['captcha'] = simple_php_captcha();}
?>
<?php add_action('init','pr_session_start'); ?>

لازم به ذکر است که من از تکنولوژی ajax در ارسال اطلاعات به سرور استفاذه می کنم
و در صفحه لاگین هم
<div class="captcha">
<?php echo '<img src="' . $_SESSION['captcha']['image_src'] . '" alt="CAPTCHA code">'; ?>

</div>
<input type="text" placeholder="کد امنیتی" name="security_login" id="security_login" />
این تکه کد برای نمایش کد کپچا و فیلد ورود کد هست

اطلاعات ارسالی از ajax باید در صفحه ای به نام ajax.php پردازش روی آنها انجام شود که من در اون صفحه شرط اعتبار سنجی کد کپچا رو قرار دادم

$security= sanitize_text_field($_POST['security_login']);

if ( $_SESSION['captcha']['code'] <> $security) {
$is_error = true;

$result = array(

'error' => true,

'message' => "کد امنیتی را به صورت صحیح وارد کنید",


);


wp_send_json($result);
}



من فایل capcha و عکس صفحه لاگین رو ضمیمه کردم که بهتر متوجه شید

مشکل من اینه که اعتبار سنجی درستی انجام نمیشه و
$_SESSION['captcha']['code']در کد من نمیشناسه ( این کد کد نمایش داده شده در کپچا رو در خودش نگه میدارد ) من با دستور echo این رو چاپ کردم و محتوای کد رو برای من چاپ کرد ولی در دستور if شناخته شده نیست
چه باید کرد
لطفا راهنمایی کنید