ปัญหาเกี่ยวกับ การทำ Captcha ใน joomla

พูดคุย phpBB3, SMF ปัญหา การติดตั้ง ปัญหา การลง Mod การแก้ไข หน้าตาบอร์ด การใช้งาน Joomla 1.5, 1.6, 1.7, 2.5 ,3.x รวมถึง Joomla 4 การใช้งาน wordpress และ CMS อื่นๆ
การตั้งคำถาม ควรระบุรุ่นที่ใช้ ในการตั้งคำตามด้วย นะ เช่น SMF 1.1.4 หรือ SMF2.0, OpenERP, Odoo และ รายละเอียดของ server OS, php เวอร์ชั่นไหน ฐานข้อมูลอะไร

Moderator: mindphp

กฎการใช้บอร์ด
คำถามหมวดนี้ ควรระบุ รายละเอียดของ Server OS, เวอร์ชั่น ของ PHP, CMS ที่ท่านใช้
รวมถึง Hosting หรือ Control Panel Hosting
ภาพประจำตัวสมาชิก
samsonnaze3
PHP Hero Member
PHP Hero Member
โพสต์: 190
ลงทะเบียนเมื่อ: 04/03/2012 1:06 am

ปัญหาเกี่ยวกับ การทำ Captcha ใน joomla

โพสต์ที่ยังไม่ได้อ่าน โดย samsonnaze3 »

ผมลองทำการเรียนแบบใน component com_users ตรงที่มีการดึง form xml มาใช้ โดยใน form จะมี input Captcha ด้วย ก็เลยทำขั้นตอนดังนี้
1. สร้างโฟร์เดอร์ form ใน โฟร์เดอร์ Models แล้วทำการสร้างไฟล์ xml
2. Copy โค๊ด xml ที่เป็นตัว input Captcha ที่อยู่ใน com_users/models/form/registation.xml
โดยโค๊ดที่ก๊อบมาเป็นดังนี้

โค้ด: เลือกทั้งหมด

<form name="frm_orders" method="post" action="<index.php>">
    <fieldset name="credentials"
        label="COM_USERS_LOGIN_DEFAULT_LABEL">

                <field
            name="captcha"
            type="captcha"
            label="Captcha"
            description="COM_USERS_CAPTCHA_DESC"
            validate="captcha"
        />

    </fieldset>
</form> 
3. ก๊อบวิธีการเรียกใช้งาน form จากโมเดล
4. เรียกใช้งาน form ในหน้า view.html.php

โค้ด: เลือกทั้งหมด

$this->form = $this->get('Form'); 
5. เรียกใช้งาน form ในหน้า Layout โดยใช้ foreach
ผลลัพธ์เป็นแบบด้านล่าง ซึ่ง จะเห็นได้ว่ามันกลายเป็น 2 Form เอามารวมเป็นอันเดียวกันไม่ได้
แนบไฟล์
1.gif
1.gif (7.94 KiB) Viewed 1690 times
รูปภาพ
ภาพประจำตัวสมาชิก
samsonnaze3
PHP Hero Member
PHP Hero Member
โพสต์: 190
ลงทะเบียนเมื่อ: 04/03/2012 1:06 am

Re: ปัญหาเกี่ยวกับ การทำ Captcha ใน joomla

โพสต์ที่ยังไม่ได้อ่าน โดย samsonnaze3 »

ผมได้ลองอีกวิธี โดยเอามาจาก https://developers.google.com/recaptcha/docs/php เค้าจะแบ่งเป็น 2 ส่วนคือ Client Side และ Server Side ในส่วนของ Server Side มีโค๊ดดังนี้

โค้ด: เลือกทั้งหมด

 <?php
  require_once('recaptchalib.php');
  $privatekey = "your_private_key";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
  ?>
ตรงตัวแปร $_SERVER["REMOTE_ADDR"] นี้ ใช้ยังไงครับ
รูปภาพ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41336
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ปัญหาเกี่ยวกับ การทำ Captcha ใน joomla

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ใน Joomla 2.5 จะมี Class JCaptcha ซึ่งเป็น lib สำหรับ สร้าง captcha ไว้อยู่แล้ว
จะอยู่ ที่
libraries\cms\captcha\captcha.php

ให้ import เข้ามา แล้วเรียกใช้ JCaptcha เพื่อสร้าง captcha ได้เลย
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 48