6/1/17

[Ứng dụng php] Sử dụng Google reCAPTCHA với PHP

Ứng dụng sử dụng Google reCAPTCHA với PHP mình sắp trình báy sau đây được đăng ký từ google:

Bước 1: các bạn cần đăng ký reCAPTCHA của google

Các bạn truy cập vào đường dẫn sau: https://www.google.com/recaptcha/admin#list. Dưới đây là giao diện của đăng ký recaptcha của google.

Bước 2: Lấy Site Key của bạn

Lấy site Key đăng ký của website của bạn.


Bước 3: Lấy Secret Key của bạn

Bước 4: Tạo form HTML với mã reCAPTCHA

Tạo file index.php với form HTMl như sau:

ind

Bước 5: PHP code cho ứng dụng Google reCAPTCHA với PHP


<?php
if(isset($_POST['submit'])):
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])):
//Nhập secret key
$secret = 'Nhập secret key';
//Xác minh dữ liệu
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
$name = !empty($_POST['name'])?$_POST['name']:'';
$email = !empty($_POST['email'])?$_POST['email']:'';
$message = !empty($_POST['message'])?$_POST['message']:'';
if($responseData->success):
$to = 'vnfitcom@gmail.com';
$subject = 'Tiêu đề liên hệ';
$htmlContent = "
<h1>Chi tiết liên hệ</h1>
<p><b>Tên: </b>".$name."</p>
<p><b>Email: </b>".$email."</p>
<p><b>Nội dung: </b>".$message."</p>
";
// Luôn đặt content-type khi gửi email HTML
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From:'.$name.' <'.$email.'>' . "\r\n";
//gửi email
@mail($to,$subject,$htmlContent,$headers);
$succMsg = 'Gửi liên hệ thành công.';
$name = '';
$email = '';
$message = '';
else:
$errMsg = 'Xác minh Robot không thành công, vui lòng thử lại.';
endif;
else:
$errMsg = 'Vui lòng click vào hộp reCAPTCHA.';
endif;
else:
$errMsg = '';
$succMsg = '';
$name = '';
$email = '';
$message = '';
endif;
?>

Bước 6: Test trên web với kết quả thu được

Bài trên mình đã hướng dẫn các bạn tạo Google reCAPTCHA với PHP các bạn có thể thực hành trên website của mình.

0 nhận xét: