Ở bài viết này chúng ta sẽ làm quen với cách tạo 1 file ảnh với nội dung là 1 dãy các ký tự ngẫu nhiên.


Để sử dụng được ứng dụng này, các bạn cần có kiến thức về các hàm, lệnh của PHP liên quan tới ảnh.

Ví dụ:

- ImageCreate

- ImageColorAllocate

- ImageFill

- ImageRectangle

- ImageJpeg

- ImageDestroy

viet-ung-dung-tao-ma-xac-nhan-capche-bang-php

Đặt đoạn code sau đây vào file có tên capcha.php

<?php
session_start();
create_image('jpg'); 
function create_image($type='')
{ 
    //Let's generate a totally random string using md5 
	$md5_hash = rand(1000,9999); 
	//We don't need a 32 character long string so we trim it down to 5 
	$security_code = substr($md5_hash, 0, 4); 
    //Set the session to store the security code
   $_SESSION["security_code"] = $security_code;

    //Set the image width and height 
    $width = 60; 
    $height = 22;  

    //Create the image resource 
    $image = ImageCreate($width, $height);  

    //We are making three colors, white, black and gray 
    $white = ImageColorAllocate($image, 255, 255, 255); 
    $black = ImageColorAllocate($image, 000, 000, 000); 
    $grey = ImageColorAllocate($image, 000, 000, 000); 

    //Make the background black 
    ImageFill($image, 0, 0, $black); 

    //Add randomly generated string in white to the image
    ImageString($image, 5, 10, 3, $security_code, $white); 

    //Throw in some lines to make it a little bit harder for any bots to break 
    ImageRectangle($image,0,0,$width-1,$height-1,$grey); 
    //imageline($image, 0, $height/2, $width, $height/2, $grey); 
    //imageline($image, $width/2, 0, $width/2, $height, $grey); 
 
    //Tell the browser what kind of file is come in 
    header("Content-Type: image/jpeg"); 

    //Output the newly created image in jpeg format 
    ImageJpeg($image); 
    
    //Free up resources
    ImageDestroy($image); 
} 
?>

Đặt đoạn code sau đâu vào file có tên form.php

<?php
session_start();
if(isset($_POST['ok']))
{
 if($_POST['txtCaptcha'] == NULL)
 {
  echo "Please enter your code";
 }
 else
 {
  if($_POST['txtCaptcha'] == $_SESSION['security_code'])
  {
   echo "ma lenh hop le";
  }
  else
  {
   echo "Ma lenh khong hop le";
  }
 }
}
?>
<form action="form.php" method=post>
<table>
 <tr>
  <td align="left">
   <label for="captcha">Captcha</label>
  </td>
  <td>
   <input type="text" name="txtCaptcha" maxlength="10" size="32" />
  </td>
  <td>
   <img src="capcha.php" />
  </td>
 </tr>
 <tr>
  <td> </td>
  <td>
   <input type=submit name=ok value="Check" />
  </td>
 </tr>
</table>
</form>

Download toàn bộ source tại đây.

Xem ví dụ demo tại đây.

Tổng kết:

Qua bài này, chúng ta thấy được cách vận dụng Session trong PHP, các hàm lệnh xử lý ảnh. Sự kết hợp các lệnh với nhau để cùng xử lý 1 yêu cầu.

Mọi thắc mắc vui lòng comment xuống phía dưới để được giải đáp.

Chúc các bạn thành cong !


Hệ thống Facebook Marketing Online

Tải code
BÌNH LUẬN
Đăng ký nhận bài viết từ Học Code
Chia sẻ Học Code
Quảng cáo tài trợ
Dịch vụ Marketing Online
Series Hay