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