Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Beto Lima

[Resolvido] Gerar captcha

Recommended Posts

Já andei pesquisando aqui no forum mas não encontrei nada sobre o que eu preciso...

 

tenho um simples form de contato, onde após o submit o php irá receber esses dados e tratar....

 

Até aí beleza...

 

Agora coloquei um captcha no form, para evitar mal intencionados...

 

A cada vez que dou refresh na página ele gera um outro número, beleza é assim mesmo.

 

Só que queria colocar um link logo abaixo dele onde o usuário pudesse clicar e gerar um outro número sem dar refresh em toda página e sem perder os dados preenchidos...

 

Como fazer isso?

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

formulario.php

		<form onSubmit="return checa_form(this)" action="envia.php" target="_self" method="post" enctype="multipart/form-data" name="form">
			<div align="left" class="titulo">Nome:</div>
			<input name="nome_form" type="text" class="input" id="nome_form" size="30">
			<div align="left" class="titulo">E-mail:</div>
			<input name="email_from_form" type="text" class="input" size="30" id="email_from_form">
			<div align="left" class="titulo">Assunto:</div>
			<input name="assunto" type="text" class="input" id="assunto" size="30">
			<div align="left" class="titulo">Mensagem:</div>
			<textarea name="mensagem" cols="30" class="textarea" id="mensagem"></textarea>
			<div align="left" class="titulo">Digite o código:
			<img src="imgauth.php" align="top">
			<input type="text" maxlength="4" name="codigoimg" id="codigoimg" class="captcha">
			<br>
			</div>
			<div align="center">
				<input name="Submit" type="submit" class="envia" value="Enviar" id="enviar">
			</div>
		</form>

imgauth.php

session_start();
$_SESSION['codigo'] = rand(1000,9999);

$codigo = $_SESSION['codigo'];

if (!extension_loaded('gd'))
  dl('php_gd2.dll');

$im = imagecreate(40,18);
$background_color = imagecolorallocate($im, 248, 248, 248);
$text_color = imagecolorallocate($im, 233, 140, 63);
imagestring($im, 15, 2, 2, $codigo, $text_color);

header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

não vou colocar o envia.php porque não é necessário. Ele só recebe os dados do form e cadastra no banco....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá companheiro!

 

Use o trecho de código abaixo para carregar uma nova imagem captcha sem dar refresh no navegador.

 

 

<span style="cursor:hand;" onclick="MudaImagem();">

<img id="img1" src="./logon/imgauth.php" border="0" >

Mudar Imagem</span>

<script Language="JavaScript" >
function MudaImagem()
{
document.getElementById("img1").src = "./logon/imgauth.php?"+Math.random();
//Obs.: Use o Math.random() no final, pois assim sempre será uma nova url e isso força
// o carregamento de uma nova imagem.
}
</script>

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tudo evolui, segue aí um exemplo mais simples.

 

<img src="./logon/imgauth.php" border="0" onClick="this.src='./logon/imgauth.php?'+Math.random();" />

 

Até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.