Back-End

14 nov, 2008

Impedindo cadastro repetido no banco de dados com o Dreamweaver

Publicidade

Olá, pessoal, tudo certo?

A idéia é a seguinte: é comum termos formulários cadastrando seus dados no banco de dados, certo? Assim como também naturalmente se torna comum o cadastro repetido de informações, seja um cliente repetido, enfim, seja qual for a natureza do cadastro, é de extrema importância que não seja permitido o cadastrado repetido de informações.

Para a alegria de muitos, o Dreamweaver possui este recurso e podemos criar essa proteção ao seu formulário sem muito trabalho.

Vamos lá. Para poder demonstrar isso, precisarei de um formulário cadastrando no banco de dados. Logo, vamos acessar o MySQL e criar uma tabela (o banco foi criado com o nome Imasters). Veja a imagem abaixo:

IMPORTANTE: Se você não está habituado a criar tabelas no MySQL e formulários cadastrando no banco de dados, é necessário ler os artigos abaixo antes de prosseguir:

Cadastro no Banco de Dados

Agora sim a imagem da tabela a ser criada:

Ao clicar em executar teremos:

Veja a mesma preenchida:

Importante, o campo ID foi configurado como Chave Primária e Auto-increment. Veja abaixo:

Depois de configurar, clique em Salvar e veja a geração do código SQL:

Bom, nossa tabela foi criada, agora vamos para o Dreamweaver.

Dentro do Dream, a primeira coisa que preciso é criar um site para poder trabalhar com PHP e MySQL. Então, clique no Menu Site>New Site como mostra abaixo:

Ao clicar, teremos a próxima tela:

Preste bastante atenção quando estiver configurando um site no Dream, o nome do site pode até ser o de sua preferência, mas no endereço teremos o seguinte: http://localhost/nome+da+pasta+do+seu+site. No meu caso eu criei uma pasta dentro de htdocs (htdocs é a pasta raiz do Apache2triad) chamada cadastro_repetido. Sendo assim, o endereço do meu site ficará como você vê na imagem abaixo:

Em seguida, clique em Next. Teremos a tela abaixo:

Configure de acordo com a próxima imagem:

Na próxima tela precisamos configurar a pasta onde os arquivos serão salvos. Veja como ficou a minha considerando que a minha pasta se chama cadastro_repetido:

Após configurar, clique em Next. Na próxima tela, repita a configuração do site como você vê abaixo:

Em seguida avance até concluir.

Começando agora a trabalhar com nosso arquivo, crie um arquivo PHP no Dreamweaver e salve com o nome Cadastro.php.

Como vamos trabalhar com banco de dados, precisamos de uma conexão com o banco de dados criado. Na parte superior direita, localize o painel Application. Veja a imagem abaixo:

Observe que, no meu caso, a aba Databases já está selecionada, se no seu caso não estiver, basta clicar pra selecionar.

Clique no sinal de + e em seguida em MySQL Connection como você vê abaixo:

Ao clicar, teremos a seguinte tela:

Veja as explicações de cada item:

  • Connection name: nome da conexão com o banco (pode ser o que você quiser)
  • MySQL Server: se for local como o meu, é localhost
  • User name: nome do usuário que você utiliza para acessar o banco de dados
  • Password: senha do usuário utilizado
  • Database: nome do banco de dados que está usando.

Veja como ficou a tela preenchida:

Depois que configurar clique em OK. Você pode expandir a conexão criada para testar se de fato você está conseguindo acessar a tabela. Veja abaixo:

Agora que já temos a conexão com o banco de dados, vamos criar o formulário que cadastre as informações no mesmo.

No painel DATA, clique na opção Record Insertion Form Wizard. Veja a imagem abaixo:

Ao clicar, teremos a próxima tela:

Veja as explicações de cada item:

  • Connection: a conexão com o banco a ser utilizada, no nosso caso temos apenas uma.
  • Table: a tabela do banco de dados a ser utilizada, como nosso banco tem apenas uma tabela, ao escolher a conexão já temos corretamente a tabela selecionada.
  • After inserting, go to: como o próprio nome fala, aqui configuramos para qual arquivo será redirecionado após inserir os dados no banco de dados. (Tipo uma mensagem informando: dados cadastrados com sucesso)
  • Label: o nome que vai aparecer como legenda antes do campo de formulário.
  • Display as: o tipo de campo de formulário (text, password, select, etc)

Veja a tela configurada abaixo:

Observe que retirei o ID, como ele é auto-numeração não precisamos dele como campo de formulário para cadastrar.

Observe também que em After inserting, go to informei que ele seria redirecionado para um arquivo chamado CadastroSucesso.php, é importante lembrar que ainda não criamos este arquivo, ok?

Por último, mudei o tipo do campo senha para password, veja:

Por último clique em ok. Teremos a tela abaixo:

Pronto, temos o formulário cadastrando no banco de dados. Antes de continuarmos precisamos criar dois arquivos. Um que é o CadastroSucesso.php, então crie um arquivo novo e salve com esse nome. Nele digite a seguinte mensagem: DADOS CADASTRADOS COM SUCESSO.

Crie agora outro arquivo e salve com o nome CadastroERRO.php com a seguinte mensagem: Ops! Esse usuário já existe, por favor tente outro nome.

Com os dois arquivos de mensagens criados, volte para o arquivo Cadastro.php.

No painel DATA, clique em User Authentication e em seguida clique em Check New Username como mostra a imagem abaixo (DICA: Ao clicar no painel DATA, é o segundo botão da direita para esquerda):

Ao clicar teremos:

Aqui temos que fazer dois pequenos ajustes. O primeiro é ajustar qual campo será usado para não permitir duplicidade de informação, você configura isso em Username Field.

Logo abaixo, caso o cadastro já exista, pra que arquivo redirecionar?

Veja a tela preenchida:

No meu caso utilizei o campo Login para não permitir duplicidade, dependendo do seu sistema, fique à vontade para escolher outro campo. E caso o usuário já exista, redirecione para o arquivo CadastroERRO.php.

Clique em ok, salve o arquivo e pronto. Teste seu formulário tentando cadastrar o mesmo login e verá que não será possível.

Abraços a todos!