Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Formulário de cadastro


hitech

Pergunta

Montei uma página protegida por login e senha. Assim sendo, é necessário preencher o cadastro para acessar o site.

O código do index é:

<form action="recebe.php" name="dados" method="post" onsubmit="return checar();">

Nome:><input id="cadinnome" name="cadinnome" type="text" maxlength="60" />

Login:<input id="cadinlogin" name="cadinlogin" type="text" maxlength="15" />

Senha:<input id="cadinsenha" name="cadinsenha" type="password" maxlength="8" />

Redigite a senha:<input id="cadconfinsenha" name="cadconfinsenha" type="password" maxlength="8" />

E-mail:<input id="cadinemail" name="cadinemail" type="text" maxlength="60" />

</form>

São feitas validações usando javascript na função checar() de forma a verificar se todos os campos foram preenchidos e se o e-mail está em formato correto.

Possui ainda um captcha.

A página recebe.php recebe os dados com $_POST

Publiquei a página e tudo estava correndo bem até que resolvi fazer o seguinte teste:

Na página, cliquei em exibir código fonte e alterei o seguinte:

<form action="http://www.meusite.com.br/recebe.php" name="dados" method="post">

Abri a página localmente em minha máquina e preenchi alguns campos. O cadastro foi realizado com sucesso, não sendo feitas as validação e não pedindo o código do captcha, pois não passa pelo index.htm, vai direto para a página recebe.php

Como faço para resolver este problema?

Obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O código do arquivo recebe.php é:

<?php

$cadinnome = $_POST['cadinnome'];

$cadinlogin = $_POST['cadinlogin'];

$cadinsenha = $_POST['cadinsenha'];

$cadinemail = $_POST['cadinemail'];

$conexao = mysql_connect("localhost","login","senha") or die("A conexão com o servidor não foi executada com sucesso");

$db = mysql_select_db("bd", $conexao) or die("Não foi possível selecionar o banco de dados");

$sqlemail = " SELECT email"

. " FROM usuarios"

. " WHERE email = '$cadinemail'";

$rsemail = mysql_query($sqlemail, $conexao) or die ("Não foi possível efetuar a consulta");

$fet_email = mysql_fetch_assoc($rsemail);

$email_busca = mysql_num_rows($rsemail);

if ($email_busca > 0)

{

header("Location: index.php?login=falhou&ecausa=".urlencode('E-mail já cadastrado'));

exit;

}

else

{

$sqlinscad = " INSERT into usuarios (nome, login, senha, email) "

. " VALUES ('$cadinnome', '$cadinlogin', '$cadinsenha', '$cadinemail') ";

$rsinscad = mysql_query($sqlinscad, $conexao) or die ("Não foi possível inserir dados");

}

mysql_close($conexao);

?>

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Cadê a verificação do captcha nesse código? Você deve verificar o valor do captcha no action do formulário... e também deve fazer a validação dos dados no action, javascript é algo que só serve pra bonito, é fácil de burlar...

Link para o comentário
Compartilhar em outros sites

  • 0

Estou validando o captcha com o Jquery Validate, que usa um arquivo PHP separado e por isso não estava dando certo.

Coloquei a validação no arquivo recebe.php, deixando cadastrar apenas se o código do captcha estiver correto e deu certo.

Obrigado a todos

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...