Вот как можно создать простую капчу из цифры на PHP.
<?php
session_start();
$string=rand(0, 1000000);
$sum_ch=$_SESSION['rand_code'] = $string;
$dir = "fonts/"; //папка с шрифтом
$image = imagecreatetruecolor(170, 60);
$black = imagecolorallocate($image, 0, 0, 0);
$color = imagecolorallocate($image, 200, 100, 90);
$white = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image,0,0,399,99,$white);
imagettftext ($image, 30, 0, 10, 40, $color, $dir."verdana.ttf", $_SESSION['rand_code']);
header("Content-type: image/png");
imagepng($image);
?>
Подключаем капчу к форму таким образом
<div class="row">
<div class="input-field col s12">
<img src="captcha.php" alt="" />
</div>
<div class="input-field col s12">
<input id="captcha" type="text" name="captcha" class="validate">
<label for="captcha">Input captcha</label>
</div>
</div>
Для проверки капчи на уровни php когда проверяем форму проверяем и капчу, код капчи записан в перемену в сессию $_SESSION[‘rand_code’].
<?php
session_start();
if ($_REQUEST['captcha'] != $_SESSION['rand_code']) {
echo "Код капчи неправильный";
}
?>
Вот и все.