I need a very simple captcha, but it can be validated before the form is sent, how can I do that?
I currently use this:
index.html
<form method="post" action="valida.php" id="form" name="form">
<!-- campos -->
<div class="form-group">
<label>Captcha*:<img src="captcha.php?l=105&a=35&tf=15&ql=5"></label>
<input type="text" name="palavra" id="palavra" class="form-control input-lg" required>
</div>
</form>
captcha.php
<?php
session_start();
header("Content-type: image/jpeg");
function captcha($largura,$altura,$tamanho_fonte,$quantidade_letras){
$imagem = imagecreate($largura,$altura);
$fonte = "verdana.ttf";
$preto = imagecolorallocate($imagem,243,243,243);
$branco = imagecolorallocate($imagem,0,151,182);
$palavra = substr(str_shuffle("ABCDEFGHJKLMNPQRSTUVYXWZ23456789"),0,($quantidade_letras));
$_SESSION["palavra"] = $palavra;
for($i = 1; $i <= $quantidade_letras; $i++){
imagettftext($imagem,$tamanho_fonte,rand(0,0),($tamanho_fonte*$i),($tamanho_fonte + 10),$branco,$fonte,substr($palavra,($i-1),1));
}
imagejpeg($imagem);
imagedestroy($imagem);
}
$largura = $_GET["l"];
$altura = $_GET["a"];
$tamanho_fonte = $_GET["tf"];
$quantidade_letras = $_GET["ql"];
captcha($largura,$altura,$tamanho_fonte,$quantidade_letras);
?>
valida.php
if ($_POST["palavra"] == $_SESSION["palavra"]) {
//...
}
But I do not know how to check if the captcha was filled out correctly before submitting the form.