tenho 2 arquivos php e estou validando com jquery enginer
segue os codigos
contato.php
// primeira linha do documento
<?php
// iniciou a sessão ?
if(!isset($_SESSION)){
// inicia a sessão
session_start();
}
?>
// dentro do body
// inicia o form para mandar ao comentarioEnvia.php caso todos os dados seja validado
<form name="form" id="formID" action="comentarioEnvia.php" method="post">
//gera a img do captcha
<img id="img" src="Plugin/Captcha/captcha.php" width="130" height="40" />
//pego o valor do SESSION e coloco nesse input.. o type ta como text apenas para aparecer na tela
<input id="cap" type="text" name="valorCaptcha" value="<?php echo $_SESSION['textoCAPTCHA']?>"/>
//campo que compara com o valor pelo ID do input de cima
<input id="palavras" type="text" name="captcha" size="12" class="validate[required] equals[cap]
text-input" />
<div id="botao" align="center">
<input type="submit" name="submit" value="Enviar Comentario"/>
</div>
</form>
e
captcha.php
<?php
/**
* função CAPTCHA para diferenciar humanos de computadores
*/
function CAPTCHA(){
// iniciou a sessão ?
if(!isset($_SESSION)){
// inicia a sessão
session_start();
}
// definimos o header como image/png para que possamos visualizar a imagem
header("Content-type: image/png");
// retorna um identificador de imagem representando a imagem obtida através do nome de arquivo
informado.
$imagemCAPTCHA = imagecreatefrompng("captcha1.png");
// carrega uma nova fonte
$fontCAPTCHA = imageloadfont("anonymous.gdf");
// criamos o texto que irá na imagem
$textoCAPTCHA = substr(md5(uniqid(rand(), true)), -9,6);
// guardamos o texto em uma session
$_SESSION['textoCAPTCHA'] = $textoCAPTCHA;
// damos uma cor(RGB) para o texto
$corCAPTCHA = imagecolorallocate($imagemCAPTCHA,255,000,000);
// vamos escrever o texto na imagem.
//imagestring("identificador da imagem","identificador da fonte","posição do texto na
coordenada x",posição do texto na coordenada y","string texto","identificador de cor");
imagestring($imagemCAPTCHA,$fontCAPTCHA,5,5,$textoCAPTCHA,$corCAPTCHA);
// mostramos a imagem pronta
imagepng($imagemCAPTCHA);
// destruimos a imagem
imagedestroy($imagemCAPTCHA);
}
// chamamos a função
CAPTCHA();
?>
Porem o que esta acontecendo é.. o valor da SESSION esta diferente ao valor do captcha.. pq isso ? coloquei uma imagem aqui para melhor explicar imagem
O Campo captcha é 3ccb57 mais a SESSION que tras no input é fb7e07 no campo logo abaixo ele compara certinho com o input..
Ainda to penando para entender a session.. ja vi o manual do php.. mais ainda não entro aqui..
minha maior duvida agora é essa.. pq a mesma session que gerou a img do captcha aparece outro valor em outro lugar ?
percebi que o valor que aparece no input é sempre o valor anterior que estava na img..
onde ta o problema ?
caso precisem do codigo que estou validando eu posto aqui tbm..
Estou estudando PHP sozinho.. desculpa se cometi alguma perola
Vlw



Postagens
Male
