xatria 0 Denunciar post Postado Setembro 24, 2004 Como eu posso colocar nos meus cadastro aquele controle de span onde o usuario que esta acessando o formulario tem que digitar umas letra que estao em uma imagem, para poder acessar o resto ou enviar um formulario???como no chat do uol? Compartilhar este post Link para o post Compartilhar em outros sites
Wilker 3 Denunciar post Postado Setembro 24, 2004 kra, pra isso o pessoal usa uma livraria extra, chamada GD esse livraria permite a criacao de imagens dinamicamente, a estrutura do codigo segue da seguinte forma (vou explicar teoricamente): 1 - Primeiro você cria um PHP, q vai ser lido como um arquivo de imagem, ex: <img src="codigo.php"> 2 - esse "codigo.php" vai receber pelo metodo GET, um numero, ou digito aleatorio ex: <img src="codigo.php?n=184687"> 3 - o "codigo.php" vai pegar esse numero (ou digito) aleatorio, e vai fazer uma mudanca interna nele, essa mudanca, você q vai criar, um exemplo bem simples eh colocar os caracteres ao contrario, (184687 viraria 786481). bom, isso você q vai fazer do geito que achar melhor, mais fazer a alteracao eh importante(depois eu explico por que) 4 - o "codigo.php" vai gerar uma imagem, com o digito alterado, e esse codigo sera exibido, entaum eh soh você mandar o kra digitar agora, vou explicar o porque do codigo tem q ser alterado: se o codigo n for alterado, entaum o kra q quizer fazer o span, simplismente vai colocar o codigo igual, c ele n souber o numero de saida, ai ele n pode mandar d novo. agora chega de teorias, vo coloca em pratica um codigo desses (usando o formato caractere ivertido) codigo.php PHP [/tr][tr]//arquivo codigo.php $num = $_GET[num]; if(!$num) $num = "000000"; for($i = 5; $i >= 0; $i--) { $num2 .= $num[$i]; } $im = imagecreate(); $tc = imagecolorallocate($im, 80, 80, 80); ImageString ($im, 5, 12, 2, $num2, $tc); imagejpeg($im); imagedestroy($im);[/tr] formulario.php <html><head><?phpsrand((double) microtime() * 1000000);$num = @rand(1, 999999);if($num < 10){ $num = "00000" . $num;}elseif($num < 100){ $num = "0000" . $num;}elseif($num < 1000){ $num = "000" . $num;}elseif($num < 10000){ $num = "00" . $num;}elseif($num < 100000){ $num = "0" . $num;}?><title> Formulario </title></head><body><form action="acao.php" method="post"><input type="hidden" name="pre_code_sec" value="<?php echo $num; ?>">Nome: <input type="text" name="nome"><br><br>Redigite o codigo: <img src="codigo.php?num=<?php echo $num; ?>" border="1"> <input type="text" name="codigo"><button type="submit">Enviar</button></form></body></html>acao.php PHP [/tr][tr]$pre_code = $_POST[pre_code_sec];$code = $_POST[codigo]; //agora vamos repetir a alteracao no valor for($i = 5; $i >= 0; $i--) { $num .= $pre_code[$i]; } //vamos verificar se o numero digitado foi correto if($num != $code) die("codigo incorreto"); [/tr] eh isso kra, espero que voce tenha entendido a base, a livraria GD pode ser baixada no site: http://www.boutell.com/gd/ Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Setembro 24, 2004 e eh biblioteca, não livraria Compartilhar este post Link para o post Compartilhar em outros sites