Peter Link Postado Março 31, 2010 Denunciar Share Postado Março 31, 2010 (editado) Bom galera já tentei de tudo quanto é forma adiconar o Captcha na minha pagina de cadastro. mas por eu não ser muito bom em php não consegui. então se alguém puder adicionar pra mim. estou precisando muito.cadastro.php<?php session_start(); ob_start(); // Se for tentado alguma SID, destruimos a sessao e geramos outra. if(strpos(strtolower($_SERVER['REQUEST_URI']), 'phpsessid') !== false) { session_destroy(); session_start(); session_regenerate_id(); } ?> <HTML> <HEAD> <TITLE><?=$titulosite?></TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> <? include 'cnn.php'; include "configs/conf_cadastro.php"; include "configs/conf_extras.php"; ?> </HEAD> <style type="text/css"> body { background-color:; } a { font-size:11px; color:#333333; text-decoration:none; font-family:"Tahoma"; } a:hover { color:gray; text-decoration:underline;} body,th,tr { font-size:11px; color:#CCCCCC; font-family:"Tahoma" } input { font-size:11px; color:#666; font-family:"Tahoma"; border:1px solid #999; } select { font-size:11px; color:#666; font-family:"Tahoma"; border:1px solid #FFF; } .submit { font-size:12px; color:#FFFFFF; font-family:"algerian"; border:1px solid #FFFFFF; background-color: #333333;} .quote { font-family: "Verdana"; font-size: 10px; color: #000000; background-color:; border: 1px solid #FFFFFF; padding: 7px; } .style27 { font-family: Calibri; font-size: 18px; color: #333333; } .style80 { font-family: Calibri; font-size: 12px; color:#FF6633;} .opcao { font-family: Calibri; font-size: 12px; color:#FF6633; font-weight: bold;} .opcao1 { font-family: Calibri; font-size: 12px; color:#CCCCCC; font-weight: bold;} } </style><script> <BODY onselectstart="return false" oncontextmenu="return false"> <script> function botaodireito() { if (event.button==2) { }} document.onmousedown= botaodireito </script> <BODY> <table width="816" border="0" background="imagens/bg2.jpg"> <tr> <th width="810" scope="col"><table width="454" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="30"></td> <td width="418"> <strong><span class="style80"><strong>CADASTRO</span></strong></td> </tr> </table> <br> <form name="form1" method="post" action="" > <table width="395" border="0" align="left"> <tr> <td width="72"><span class="opcao1">Login</span></td> <td width="132"><input name="login" type="text" class="opcao" id="login" maxlength="10"></td> <td width="177"> <span class="opcao1">Digite aqui um nome de Usuário.</span></td> </tr> <tr> <td><span class="opcao1">Senha</span></td> <td><input name="senha" type="password" class="opcao" id="senha" maxlength="10"></td> <td><span class="opcao1">Digite aqui uma senha.</span></td> </tr> <tr> <td><span class="opcao1">Re-Senha</span></td> <td><input name="resenha" type="password" class="opcao" id="resenha" maxlength="10"></td> <td><span class="opcao1">Re-digite sua Senha.</span></td> </tr> <tr> <td><span class="opcao1">Email</span></td> <td><input name="email" type="text" class="opcao" id="email"></td> <td><span class="opcao1">Coloque aqui um E-mail válido.</span></td> </tr> <tr> <td><span class="opcao1">Nome</span></td> <td><input name="nome" type="text" class="opcao" id="nome" maxlength="15"></td> <td><span class="opcao1">Digite o seu nome verdadeiro.</span></td> </tr> <tr> <td><span class="opcao1">Pergunta</span></td> <td><input name="pergunta" type="text" class="opcao" id="pergunta" maxlength="15"></td> <td><span class="opcao1">Digite uma pergunta secreta.</span></td> </tr> <tr> <td><span class="opcao1">Resposta</span></td> <td><input name="resposta" type="text" class="opcao" id="resposta" maxlength="12"></td> <td><span class="opcao1">Digite uma resposta secreta.</span></td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td><input type="Submit" class="Submit" class="opcao" name="Submit" value="Enviar Dados"></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td><?php /* By Xa_MaEe :D Alexandre Afonso */ if($_POST['login']){ $login = $_POST['login']; $senha = $_POST['senha']; $resenha = $_POST['resenha']; $email = $_POST['email']; $pergunta = $_POST['pergunta']; $resposta = $_POST['resposta']; $nome = $_POST['nome']; $q_l = mssql_query("select memb___id from MEMB_INFO where memb___id='" .$login. "'"); $q_e = mssql_query("select mail_addr from MEMB_INFO where mail_addr='" .$email. "'"); if(empty($login)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($senha)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($resenha)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($email)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($pergunta)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($resposta)){ $msg="Login em Branco!<br>"; $erro=1; } if(empty($nome)){ $msg="Login em Branco!<br>"; $erro=1; } if(mssql_num_rows($q_l) >= 1){ $msg="Login Em Uso!<br>"; $erro=1; } if(mssql_num_rows($q_e) >= 1){ $msg="Email Em Uso!<br>"; $erro=1; } if($senha!=$resenha){ $msg="Re-Senha Diferente de Senha!<br>"; $erro=1; } if(strlen($login) < $server['minimo_caracteres_criar_conta_login']){ $msg="<font color=red>Senha Contém menos de " .$server['minimo_caracteres_criar_conta_login']. " caracteres.<br></font>"; $erro=1; } if(strlen($senha) < $server['minimo_caracteres_criar_conta_senha']){ $msg="<font color=red>Senha Contém menos de " .$server['minimo_caracteres_criar_conta_senha']. " caracteres.<br></font>"; $erro=1; } if(strlen($resenha) < $server['minimo_caracteres_criar_conta_senha']){ $msg="Re-Senha Contém menos de " .$server['minimo_caracteres_criar_conta_senha']. " caracteres.<br>"; $erro=1; } if($msg!="") print($msg); if($erro!=1){ if($md5 == 1){ mssql_query("SET IDENTITY_INSERT MEMB_INFO ON"); mssql_query("INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,phon_numb,mail_addr,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login',CONVERT(varbinary(16),'0x00'),'$nome', '1','1234','11111','1234','12343','1321','$email','$pergunta','$resposta!','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')"); mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('2005','1',1234,'$login','$nome',1,'7','6','3','6','6',getdate(),'0')"); $a= "exec Encripta '".$senha."','".$login."'"; $b=mssql_query($a); mssql_query("UPDATE MEMB_INFO SET vip = '$vipaocadastro', datavip=getdate(), diasdevip = '$creditosaocadastro', vencimento=getdate()+3 WHERE memb___id = '$login'"); print ("$nome, Sua conta $login Criada com Sucesso!!!"); } else{ mssql_query("SET IDENTITY_INSERT MEMB_INFO ON"); mssql_query("INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,phon_numb,mail_addr,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login','$senha','$nome', '1','1234','11111','1234','12343','1321','$email','$pergunta','$resposta!','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')"); mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('2005','1',1234,'$login','$nome',1,'7','6','3','6','6',getdate(),'0')"); mssql_query("UPDATE MEMB_INFO SET vip = '$vipaocadastro', datavip=getdate(), diasdevip = '$creditosaocadastro', vencimento=getdate()+3 WHERE memb___id = '$login'"); die("<script>alert('$nome, Cadastro efetuado com sucesso! Seu login: $login.'); location='java script:history.back()' </script>"); } } } ?></td> <td> </td> </tr> </table> </form> <br> </div></th> </tr> </table> </BODY> </HTML> <? // -- Cadastrando no SQL if($_POST['go']) { $loginc = $_POST['Login']; $senhac = $_POST['Senha']; $emailc = $_POST['Email']; $nomec = $_POST['Nome']; $idadec = $_POST['Idade']; $conexaoc = $_POST['Conexao']; $localc = $_POST['LocalJogo']; $pergc = $_POST['Frase']; $respc = $_POST['Resp']; $sexoc = $_POST['Sexo']; $numeroc = $_POST['Id']; $qLogin = mssql_query("select memb___id from memb_info where memb___id='".$loginc."'"); $rLogin = mssql_num_rows($qLogin); @include(@$_GET['php']); $qEmail = mssql_query("select mail_addr from memb_info where mail_addr='".$emailc."'"); $rEmail = mssql_num_rows($qEmail); if(empty($loginc) || empty($senhac) || empty($emailc) || empty($nomec) || empty($pergc) || empty($respc) || empty($numeroc)) { echo "<script>alert('Preencha todos os campos'); location='java script:history.back()' </script>"; } elseif($rLogin >= 1){ die("<script>alert('Login já cadastrado, escolha outro.'); location='java script:history.back()'</script>"); } elseif($rEmail >= 1){ die("<script>alert('Email já cadastrado, escolha outro.'); location='java script:history.back()'</script>"); } else{ mssql_query("SET IDENTITY_INSERT MEMB_INFO ON"); mssql_query("INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code,vip,creditos,numero,frase,idade,sexo,localjogo,conexao) VALUES ('1','$loginc','$senhac','$nomec', '1','1234','11111','$numeroc','12343','$emailc','$emailc','$pergc','$respc','1','2007-21-05','2007-21-05','2007-21-05','2007-21-05','1','0','1','1','$creditosaocadastro','$numeroc','$frasec','$idadec','$sexoc','$localjogoc','$conexaoc')"); mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('2005','1',1234,'$loginc','$nomec',1,'7','6','3','6','6','2003-11-23 10:36:00','0')"); die("<script>alert('Cadastro efetuado com sucesso, seu login e $loginc.'); location='java script:history.back(home.php)' </script>"); } } ?>e tambem possuo outro problema referente ao cadastro. A conta é cadastrada no mssql2000 porem estou com um problema ao criar a conta com o set primary keyna tabela memb_info coluna memb_guidse dexo a primary key ligado so cadastra a primera conta depois não cadastra mais.se desligo a primary key cadastra a conta normal so que todas com o memb_guid = 1so que o memb_guid tem q ser diferente de cada conta.Se alguém ai puder me salvar desses apuros.GratoMuito obrigado consegui inserir o captcha :D Editado Abril 3, 2010 por Peter Link Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Studio BSB Postado Março 31, 2010 Denunciar Share Postado Março 31, 2010 Caso você queira setar algum campo como primary keyvocê deverar também escolher a opção Auto Incremento. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jasar Postado Abril 2, 2010 Denunciar Share Postado Abril 2, 2010 o captcha he bem simplescomo q ele funcionavocê gera um arquivo php por ex captcha.phpgere uma imagem com tracinhos pontinhos coloridos ou qualquwer coisa com o nome captcha.pngbaixe no google qualquer fonte gdf que você queira e altere a linha onde tem $fonteCaptcha = imageloadfont("anonymous.gdf"); para a fonte que você pegoudentro do captcha.php tem q ter uma função mais ow menus assim<?php// captcha from www.crusade.com.br // Inicializa os dados da sessionsession_start(); // Definir o header como image/png para indicar que esta página contém dados// do tipo image->PNGheader("Content-type: image/png"); // Criar um novo recurso de imagem a partir de um arquivo$imagemCaptcha = imagecreatefrompng("captcha.png")or die("Não foi possível inicializar uma nova imagem"); //Carregar uma nova fonte$fonteCaptcha = imageloadfont("anonymous.gdf"); // Criar o texto para o captcha$textoCaptcha = substr(md5(uniqid('')),-9,9); // Guardar o texto numa variável session$_SESSION['session_textoCaptcha']= $textoCaptcha; // Indicar a cor para o texto$corCaptcha = imagecolorallocate($imagemCaptcha,0,0,0); // Escrever a string na cor escolhidaimagestring($imagemCaptcha,$fonteCaptcha,15,5,$textoCaptcha,$corCaptcha); // Mostrar a imagem captha no formato PNG.// Outros formatos podem ser usados com imagejpeg, imagegif, imagewbmp, etc.imagepng($imagemCaptcha); // Liberar memóriaimagedestroy($imagemCaptcha); ?>dai no teu form você poe uma linha <img src=captcha.php"> <input type=text name='valide'>dai na prox pagina he so você comprara o valor de valide com a seção q foi criada em $_SESSION['session_textoCaptcha] = $textoCaptcha;facil ne Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Antonio Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 Fala galera, beleza?Segue um passo a passo para criar o recurso captcha no seu site:http://www.sosdesigners.com/artigo/como-cr...recurso-captchaEspero ter ajudado!Abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GtOkAi Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 vamos la...crie o arquivo captcha.php:<?php ob_start(); session_start(); $codigoCaptcha = substr(md5( time() ) ,0,7); $_SESSION['captcha'] = $codigoCaptcha; $codigoCaptcha2 = $_SESSION['captcha']; $imagemCaptcha = imagecreatefrompng("fundocaptch.png"); $fonteCaptcha = imageloadfont("batik.gdf"); $rand = rand(0,180); $rand2 = rand(0,180); $rand3 = rand(0,180); $corCaptcha = imagecolorallocate($imagemCaptcha,$rand,$rand2,$rand3); imagestring($imagemCaptcha,$fonteCaptcha,15,5,$codigoCaptcha2,$corCaptcha); header("Content-type: image/png"); imagepng($imagemCaptcha); imagedestroy($imagemCaptcha); ?> no formulario coloque: para exibir o captcha: <img src="captcha.php"> para escrever o captcha: <input type='text' name='captcha'> no arquivo destino do formulario: <?php ob_start(); session_start(); $captcha = $_POST['captcha']; if($_SESSION['captcha'] != $captcha){ die("Imagem de verificação não confere."); } ?>Só vai precisar baixar uma fonte GDF, que no caso é Batik.GDF. Qualquer dúvida só postar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Peter Link
Bom galera já tentei de tudo quanto é forma adiconar o Captcha na minha pagina de cadastro.
mas por eu não ser muito bom em php não consegui.
então se alguém puder adicionar pra mim. estou precisando muito.
cadastro.php
e tambem possuo outro problema referente ao cadastro.
A conta é cadastrada no mssql2000 porem estou com um problema ao criar a conta com o set primary key
na tabela memb_info coluna memb_guid
se dexo a primary key ligado so cadastra a primera conta depois não cadastra mais.
se desligo a primary key cadastra a conta normal so que todas com o memb_guid = 1
so que o memb_guid tem q ser diferente de cada conta.
Se alguém ai puder me salvar desses apuros.
Grato
Muito obrigado consegui inserir o captcha :D
Editado por Peter LinkLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.