0

Gerador de Imagens com texto aleatório

criado por Rafael M. Salvioni em 19/05/2005 2:28pm
Esse script gera imagens com chaves aleatórias para serem usadas como forma de validação de envio de formulários
Data Autor Changelog Download
19/05/2005 2:28pm Rafael M. Salvioni - Versão 1.0

Comentários:

Mostrando 1 - 8 de 8 comentários
Paulo Razec disse:
Olá pessoal... Preciso de Ajuda para resolver uma bobagem... mas que para um programador PHP iniciante está se tornando algo difícil... Lá vai:
Como posso montar uma rotininha que escolhe aleatoriamente 12 números NÃO REPETIDOS de um a 78 por exepmplo...???? Agradeço desde já pela força... Estou cirando um jogo (não é loteria)...
17/08/2006 8:30am (~18 anos atrás)

Essa função faz parte da biblioteca GD, necessária para o funcionamento do script. Vc deve instalar essa bilbioteca para que o Zend Engine reconheça a função ImageCreate()
29/07/2005 12:20pm (~19 anos atrás)

Gregory Iyama disse:
ola... axei seu script super simples, porem na funcao GeraImagem() ele xama outra funcao chamada ImageCreate(), e q por sua vez nao esta incluso no seu codigo... vcpoderia me esclarecer e se realmente estiver faltando essa funcao vc poderia me passar??? vlw!!!
28/07/2005 5:06pm (~19 anos atrás)

Há várias formas de fazer isso. Eu talvez faria da seguinte maneira:

- No momento em que for gerada a chave, armazene-a em uma variavel de sessão;
- Quando o formulário for enviado, compare o valor digitado pelo usuário no campo "chave" do form com essa varaiavel de sessão
27/05/2005 11:58pm (~19 anos atrás)

Cara , estou com problemas em levar a variavel chave para a proxima etapa , se voce poder me dar um help eu agradeço

Primeiro
______________

<table width="412" align="center" border="0" cellpadding="0" cellspacing="0">
<tr width="412">
<td width="412" align="center">
<font face="verdana" size="1">
Escreva seu comentário abaixo e clique em salvar<BR>
</font>
</td>
</tr>
</table>

<table>
<tr>
<td height=7>
</td>
</tr>
</table>

<table width="415" align="center" valign="top" cellpadding="0" cellspacing="0">
<tr >
<td align="center">
<?
echo '<form action="?mural=comentar2" method="post">';


$query5 = "SELECT * from dados where id_cliente =".$_SESSION[id_login];
$result5 = mysql_query($query5);
$cliente5 = mysql_fetch_array($result5);

$query6 = "SELECT * from usuario where id_cliente =".$_SESSION[id_login];
$result6 = mysql_query($query6);
$cliente6 = mysql_fetch_array($result6);

echo '
<table width="412" height="100" align="center" border="1" bordercolor="#CCCCCC" cellpadding="0" cellspacing="0">
<tr width="100" height="100">
<td width="100" height="100">
<img src="../usuarios/'.ucfirst($cliente5['imagem']).'" width="100" height="100" alt="'.ucfirst($cliente5['nome']).'">
</td>
<td width="310" height="100" align="center" cellpadding="0" cellspacing="0">
<table width="310" height="100">
<tr>
<td valign="top">
<font face="verdana" size="1">
Apelido: '.ucfirst($cliente6['nick']).' <BR>
<textarea name="mensagem" cols="60" rows="7" maxlength="350">'.$mensagem.'</textarea>
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>

<table>
<tr>
<td height=2>
</td>
</tr>
</table>

<table width="412" align="center" border="0" cellpadding="0" cellspacing="0">
<tr width="412">
<td width=\"135\">
<font face="verdana" size="1"> ';

function GeraChave($tamanho){
$Validos="ABCDEFGHIJKLMNOPQRSTUVXZWY0123456789abcdefghijklmnopqrstuvxzwy0123456789";
$Chave=null;
for($i=0;$i<$tamanho;$i++){
$Chave.=$Validos{rand(0,strlen($Validos)-1)};
}
return $Chave;
}
//Gera a imagem com a chave embutida
function GeraImagem(){
global $Chave;
$Chave=GeraChave(6);//cria a chave (no caso com 6 caracteres)
$Imagem=ImageCreate(100,40);//cria uma imagem 100x40
$CorFundo=ImageColorAllocate($Imagem,255,255,255);//Cor de fundo (branco, no caso)
$CorTexto=ImageColorAllocate($Imagem,0,0,0);//Cor do texto (preto, no caso)

ImageString($Imagem,5,23,10,$Chave,$CorTexto);
ImageJpeg($Imagem,"chave.jpg");//salva a imagem (troque o nome, se quiser)
ImageDestroy($Imagem);//apaga a imagem da memória do servidor
}
GeraImagem();//chama a função

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"chave.jpg\" border=\"0\">
</td>
<td width=\"277\">
<font face=\"verdana\" size=\"1\"> ";

//Para validar um formulario, utilize a variavel $Chave, pois ela é global
echo 'Confirme o código ao lado<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="chave" type="text" size="7" maxlength="6" class="tx"> <BR>

</font>
</td>
</tr>
</table>

<table width="415" align="center" valign="top" cellpadding="0" cellspacing="0">
<tr >
<td align="center">
<input type="submit" value="Cadastrar">
</form> ';
?>

</td>
</tr>
</table>

</td>
</tr>
</table>
______________

Segundo

____________

<table width="412" align="center" border="0" cellpadding="0" cellspacing="0">
<tr width="412">
<td width="412" align="center">
<font face="verdana" size="1">
<?
if (empty($mensagem))
{
echo '<font face="verdana" size="2">
Dados Incompletos. <BR>
<BR>
Você deve preencher o comentário<BR>
<BR>
<a href="?mural=comentar">Voltar</a>
</font>';
}
else
{
if ($chave != $Chave)
{
echo '<font face="verdana" size="2">
Dados Incorretos. <BR>
<BR>
A confirmação da chave de segurança não confere<BR>
<BR> chave-'.$chave.'--Chave-'.$Chave.'
<a href="?mural=comentar&mensagem='.$mensagem.'">Voltar</a>
</font>';
}
else
{
$data = date('d/m/y H:i');

echo 'Data&nbsp;'.$data.'';
echo '<BR>';
echo 'Mensagem&nbsp;'.$mensagem.'';
echo '<BR>';
echo 'Chave&nbsp;'.$Chave.'';
echo '<BR>';
echo 'chave&nbsp;'.$chave.'';
}
}
?>
</font>
</td>
</tr>
</table>
27/05/2005 2:47am (~19 anos atrás)

Você utiliza cores em RGB, onde o mínimo de cada nível é 0 e o máximo é 255. Supondo que você queira vermelho, você usaria assim:

255,0,0

onde o 1º é o nível de vermelho (Red)
o 2º é o nível de verde (Green)
o 3º é o nível de azul (Blue)
24/05/2005 7:54am (~19 anos atrás)

Será que é possivel postar aqui uma tabela de cores
24/05/2005 12:08am (~19 anos atrás)

Bacana cara, vou usarnum sistema de mural que estou fazendo
23/05/2005 12:56pm (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)