Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17582
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Captcha com figuras

24-09-2007 15:49

Nesse artigo passo um código de como fazer captcha com figuras.

São 2 arquivos:

captcha.php

<?php $largura = 150; // largura da imagem criada $altura = 40; // altura da imagem criada $imagem = imagecreate($largura,$altura); /* use no array letras de a-z | A-Z | números de 0 à 9 */ $letras = array('a','b','c','d','e','1','2','3','4','5'); // escreva abaixo quantas letras/números serão mostrados $quantas = 5; $tam_letras = count($letras)-1; $cinza = imagecolorallocate($imagem,0xF8,0xF8,0xF8); $cinza_escuro = imagecolorallocate($imagem,0xCC,0xCC,0xCC); $vermelho = imagecolorallocate($imagem,0xFF,0x00,0x00); $azul = imagecolorallocate($imagem,0x0F,0x93,0xFF); $verde = imagecolorallocate($imagem,0x00,0x66,0x00); $rosa = imagecolorallocate($imagem,0xFF,0x1A,0x98); $preto = imagecolorallocate($imagem,0x00,0x00,0x00); $marrom = imagecolorallocate($imagem,0xDC,0x91,0x3D); $laranja = imagecolorallocate($imagem,0xFF,0x8C,0x24); $cores = array($vermelho,$azul,$verde,$rosa,$preto,$marrom,$laranja); $tam_cores = count($cores)-1; $nro_linhas = 20; for($i=0;$i<$nro_linhas;$i++){ $x1 = rand(0,$largura); $x2 = rand(0,$largura); $y1 = rand(0,$altura); $y2 = rand(0,$altura); imageline($imagem,$x1,$y1,$x2,$y2,$cinza_escuro); } $nro_arcos = 20; for($i=0;$i<$nro_arcos;$i++){ $cx = rand(0,$largura); $w = rand(0,$largura); $cy = rand(0,$altura); $h = rand(0,$altura); $s = rand(0,360); $e = rand(0,360); imagearc($imagem,$cx,$cy,$w,$h,$s,$e,$cinza_escuro); } $palavra = ''; $xPos = 0; for($i=0;$i<$quantas;$i++){ $xPos += rand(10,25); $yPos = rand(10,15); $j = rand(0,$tam_cores); $k = rand(0,$tam_letras); $palavra .= $letras[$k]; imagestring($imagem, 5, $xPos, $yPos, $letras[$k], $cores[$j]); } session_name('captcha'); session_start(); $_SESSION['palavra'] = $palavra; header("Content-type: image/png"); imagepng($imagem); imagedestroy($imagem); ?>

form.php
<?php session_name('captcha'); session_start(); ?> <?php if(isset($_POST['captcha'])){ if($_SESSION['palavra'] == $_POST['captcha']) { echo "Dados enviados com sucesso<br>"; echo $_POST['nome']; echo "<br>"; echo $_POST['email']; // linhas de envio e resposta } else { echo 'Os dados estão incorretos, tente novamente.'; } } ?>


<form action="" method="POST"> <img src="captcha.php"> <input type="text" name="captcha" value=""> <br> nome: <input type="text" name="nome" value="<?php $_POST['nome']!='' ? print($_POST['nome']) : print("");?>"> <br> email: <input type="text" name="email" value="<?php $_POST['email']!='' ? print($_POST['email']) : print("");?>"> <br> <input type="submit" value="envia"> </form>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado