PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چطور کپچایی که ساختم با ایجکس ریلود کنم؟؟



mojtabakh18
March 31st, 2017, 22:13
سلام من یک کد کپچا ساختم همه چی به درستی کار می کنه

برای نمایش هم از این کد استفاده می کنم (کدنویسی ساده به دلیل تست کردن کپچا بوده بعدا منتقل می کنم به پروژه)


<form action="" method="post"> <img src="captcha_images.jpg.php"><br>
<input type="text" name="captcha" placeholder="کد امنیتی" autocomplete="off"><br>
<input type="submit" name="btn" value="چک">
</form>

خب چطور مثلا می تونم یه آیکون ریلود بزارم کاربر روش کلیک کرد یه کپچا جدید براش نمایش داده بشه؟

متشکر

mojtabakh18
April 1st, 2017, 00:22
یعنی هیشکی بلد نیست؟

sinaazemat
April 1st, 2017, 01:00
دوست عزیز با این کد جی کوئری میتونی این کار رو انجام بدی. ابتدا یک کلاس به نام کپتچا به تگ img اختصاص بده و سپس کد رو اجرا کن

var random=Math.floor(Math.random()*1000); var address='captcha_images.jpg.php?id='; address+=random; $('.captcha').attr('src',address);

mojtabakh18
April 1st, 2017, 01:09
دوست عزیز با این کد جی کوئری میتونی این کار رو انجام بدی. ابتدا یک کلاس به نام کپتچا به تگ img اختصاص بده و سپس کد رو اجرا کن

var random=Math.floor(Math.random()*1000); var address='captcha_images.jpg.php?id='; address+=random; $('.captcha').attr('src',address);

طراحی سایت (http://sina-web.ir)

به تگ img خاصیت onclick بدم منظورتونه؟؟

اگه میشه کد کاملشو لطف کنین بزارین ممنون

sinaazemat
April 1st, 2017, 01:24
<form action="" method="post"> <img class="captcha" src="captcha_images.jpg.php"><br> <input type="text" name="captcha" placeholder="کد امنیتی" autocomplete="off"><br> <input type="submit" name="btn" value="چک"> <button onclick="repeat_captcha">reload</button> </form> <script> function repeat_captcha() { var random=Math.floor(Math.random()*1000); var address='captcha/image.jpg.php?id='; address+=random; $('.captcha').attr('src',address); } </script>

طراحی سایت (http://sina-web.ir)

- - - Updated - - -

ضمنا باید کتابخانه ی جی کوئری رو هم به پروژه اضافه کنید

iroo
April 1st, 2017, 11:12
سلام من یک کد کپچا ساختم همه چی به درستی کار می کنه

برای نمایش هم از این کد استفاده می کنم (کدنویسی ساده به دلیل تست کردن کپچا بوده بعدا منتقل می کنم به پروژه)


<form action="" method="post"> <img src="captcha_images.jpg.php"><br>
<input type="text" name="captcha" placeholder="کد امنیتی" autocomplete="off"><br>
<input type="submit" name="btn" value="چک">
</form>

خب چطور مثلا می تونم یه آیکون ریلود بزارم کاربر روش کلیک کرد یه کپچا جدید براش نمایش داده بشه؟

متشکر


سلام
مشکلتون حل شد؟
میشه یه نمونه پروژه کوچیک بذارید اینجا؟

تصاویرت کپچاهات توی پوشته ای ذخیره کردی ؟

AtrafNet
April 1st, 2017, 11:51
سلام
یه کاری میشه کرد بدون Ajax اونم اینه که یه فایل php بسازید که خروجی فقط تصویر image/png کپچا رو بده طوری که مرورگر صرفاً عکس تحویل بگیره بعدش با جاوا اسکریپت دکمه تعویض کپچا لینک تصویر رو به همون لینک فایل php تصویر ساز با یه query رندوم بده تا تصویر عوض بشه.

نمونه کد php برای خروجی فقط عکس:



<?php
header('Content-Type: image/png');
echo $captcha_image;
exit();


اینجا باید به جای متغیر captcha_image خروجی تصویری کپچا رو echo کنید.

حالا فرض میکنیم لینک این فایل که خروجی فقط تصویر کپچا به صورت رندوم داره اینه:



http://mysite.ir/captcha.php


این لینک چون خروجی تصویر میده مستقیم امکان استفاده در تگ img و خصوصیت src رو داره اینطوری:



<img src="http://mysite.ir/captcha.php" id="captcha" width="100" height="30" alt="captcha" title="سوال امنیتی" />


خب حالا یه دکمه میسازید که قراره تصویر کپچا رو عوض کنه فقط کافیه اینجا لینک mysite.ir/captcha.php رو آخرش یه Query اضافه کنه که مرورگر لینک جدید حسابش کنه اینطوری:



http://mysite.ir/captcha.php?random=7fdfhhg


خب حالا با جاوا اسکریپت میشه براحتی یه خط کد نوشت که خصوصیت src تگ img رو به همین لینک فقط با query رندوم عوض کنه اینطوری:



<button onclick="document.getElementById('captcha').src='http://mysite.ir/captcha.php?random=' + Date.now().toString();">کپچا جدید</button>