Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carlosrms

Formulário: Envia info. p/ Banco de dados e e-mail

Recommended Posts

Olá. Eu tentei desenvolver um formulário, bem completo mesmo, consegui algumas informações necessários, mas completamente não consegui fazer.O que eu precisaria:Eu criei no banco de dados (MySQL) uma nova tabela com campos do formulário de cadastro (nome, e-mail, senha, cidade, sexo, idade...)E o que eu quero que o formulário faça:Após a pessoa preencher seus dados, o formulário envia tudo para o banco de dados (MySQL) nessa tabela criada anteriormente. E o usuário que preencheu esse formulário (no caso como trata-se de um sistema de login) o usuário então que se cadastrou, receba uma mensagem falando que ele se cadastrou com sucesso. E o administrador do site receber um e-mail com informações que há um novo usuário que acabou de se cadastrar.Poderiam me ajudar a fazer isso?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito simples!

Unica complexidade será que vai ter vários campos!

Vamos a um exemplo com 2 campos!

Digamos que sua tabela o nome é tabela e os campos são nome e email

Meu script ficaria assim: (coisa simples, o visual tu acerta depois)

 

#teste.php

PHP

[*]

[*]

[*]<?php

[*]

[*]mysql_pconnect('host_do_banco','usuario','senha');

[*]mysql_select_db('banco');

[*]

[*]if(isset($_GET['acao']) && $_GET['acao'] == 'cadastro')){

[*]  mysql_query("INSERT INTO tabela (nome, email) VALUES ('" . $_POST['nome'] . "', '" . $_POST['email'] . "')");

[*]  mail("seu@e-mail.com.br", "ASSUNTO", "Dados: " . $_POST['nome'] . " - " . $_POST['email']);

[*]}

[*]?>

[*]

[*]<form action='teste.php?acao=cadastro' method='post' name='cadastro'>

[*]

[*]Nome: <input type='text' name='nome'><br>

[*]E-Mail: <input type='text' name='email'><br>

[*]<br>

[*]<input type='submit' name='submit' value='Enviar'>

[*]

[*]</form>

[*]

 

Tá ae!

Com isso ele cadastra no banco e depois envia dos dados cadastrados para o e-mail!

 

Lógico que você tem que arrumar tudo, deixar o e-mail bonito, fazer verificações do formulário para não passar campo em branco, etc...

 

Mas acho que essa era sua dúvida, qualquer coisa avisa!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to fazendo algo parecido com o que você precisa, e ainda coloquei código de validação por imagem, akeles de digitar o codigo da imagem e talz :) só to apanhando um pouco pra por a validação do form, pra nao deixar campos sem preenchimento :) mas a parte do envio de email que o cara ai em cima postou você ainda precisa alterar, no caso ali ele só manda pra você as informações, e não para você e o usuário que se cadastrou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Primeiramente gostaria de já agradecer por algumas soluções para meu problema.

Porém vamos analisar alguns detalhes:

 

@ fitinge:

O breve código em php que você postou já me ajudou, mas como o "pkr" disse, ele envia os dados para o banco de dados e para o administrador, porém não envia o e-mail para o usuário.

Teria como você "implementar" este recurso no código, para enviar um e-mail também para o usuário?

Obs.: O e-mail que o usuário recebe, não é para receber os dados, e sim um e-mail, com uma mensagem do tipo - Parabéns, você se cadastrou com sucesso e agora tem acesso liberado a todo o site e mais informações detalhadas!

 

@ pkr:

Quanto ao script ou código de formulário que você esta desenvolvendo, poste ele aqui, pois assim você já estará ajudando, e poderemos inserir as funções necessárias que você está precisando.

Por exemplo, o código para validação de campos no formulário, para fazer isso eu pelo menos acho simples.

Veja um resumo abaixo do que pode ser feito a validação em um formulário (talvez tenha até alguns ítens que a maioria não precise, porém como eu estou desenvolvendo um script totalmente completo para cadastro e gerenciamente de usuários, para mim, todas as validações são necessárias):

 

- Verifica se todos os campos estão preenchidos (se não há nenhum campo em branco, à menos que não seja campo obrigatório).

- Faz verificação do login (caso o Login escolhido já está em uso) então retorna um erro.

- Validação de senha de confirmação (caso o usuário não digitou 2 senhas iguais) retorna a mensagem de erro correspondente.

- Verifica se o e-mail é valido (no formato correto).

- Validação de CPF

- Validação de CNPJ (não necessário na maioria dos casos)

- Validação por imagens (porém este você já tem...)

Entre mais algumas validações.

 

Então, apenas post seu código, que poderemos resolver o problema, caso você já tenha o "estilo" que envia os dados do formulário para o banco de dados, envia um e-mail com mensagem (não os dados, apenas uma mensagem programada) para o administrador do site do tipo - Um novo usuário acaba de se registrar, consulte o painel de gerenciador para ver detalhes.

E um e-mail com mensagem também (não os dados) para o usuário que acabou de se cadastro do tipo - Parabéns, você se cadastrou com sucesso.

Pois é isso que falta no geral do meu sistema de login, e como você me disse que estava fazendo algo do tipo e estava com problemas para a validação, então tudo pode ser resolvido, como eu havia dito.

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

Lembrando que quando eu concluir todo o script que estou desenvolvendo que consiste em:

Cadastro de usuários

Sistema de login

Painel de controle

Acesso liberado à todo site

Painel de administração para gerenciar os usuários

 

Itens extras como:

"Esqueceu a senha"

Busca por descrição de usuários

Sistema de usuários on-line, mostrando quantas pessoas estão on-line e dessas quantos e quais são cadastrados.

 

Entre outras funções, está totalmente completo mesmo eu garanto que vou colocar aqui para o pessoal fazer download, e se tudo der totalmente certo mesmo no script, faço até um tutorial e detalhes (comentários) dos códigos que utilizei. Assim, poderemos também ir lançando novas versões do script e com mais recursos.

 

Só lembrando que de momento estou precisando deste item para o formulário de cadastro, especificado no início de meu post.

 

Agradeço pela atenção e ajuda de todos!

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ carlosrms:Cara, muito bom sua idéia de desenvolver esse excelente script e depois disponibilizar para downlod aqui no fórum. Já que é um script muito útil e interessante, pena que pelo visto não há muitas soluções para seu problema.Por que você já não posta o código que você tem até o momento de seu script na parte de cadastro e aproveita também e já posta os detalhes da validação dos campos em um formulário, já vai ajudar bastante e assim o pessoal pode querer enviar mais soluções para você.Não sou muito expert em php, mas vou estar aqui acompanhando o tópico e contribuindo sempre que eu puder ajudar.Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza ae cara, seguinte, vo recomçar o script aqui, pra terminar ele, eu tinha parado um pouco hehe mas ai quando estiver pronto eu disponibilizo ae pra você e o pessoal tb!!e meu script a princípio é pra ser quase igual o seu :D ps: eu tirei a validação por imagem na hora do cadastro pq já coloquei a função de enviar email para o usuario com link para ele ativar seu cadastro e talz

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza ae cara, seguinte, vo recomçar o script aqui, pra terminar ele, eu tinha parado um pouco hehe mas ai quando estiver pronto eu disponibilizo ae pra você e o pessoal tb!!

e meu script a princípio é pra ser quase igual o seu :D

 

ps: eu tirei a validação por imagem na hora do cadastro pq já coloquei a função de enviar email para o usuario com link para ele ativar seu cadastro e talz

<{POST_SNAPBACK}>

É isso ae cara! Vamos criar esse script mesmo!

Vamos lá, vou dar minha contribuição. Quanto a validação por imagem, fez bem tirar mesmo, porque vai enviar o e-mail pro user daí ele ativa o cadastro...

A única coisa que teria que ter, para ficar melhor para administrar, seria um painel para gerenciar os usuários.

 

Vou postar aqui uma "breve" lógica para esse sistema:

O usuário se cadastra.

Os dados são enviados para o banco de dados.

Após os dados serem enviados, o usuário ainda não está com a conta ativada (apenas o administrador do site pode ativar), então o usuário recebe um e-mail informando sobre isso, para ele aguardar a ativação da conta. Caso ele tente efetuar o login (antes de sua conta ser ativada) abre uma página com mensagens semelhantes à que ele recebeu no e-mail (aguarde sua conta ser ativada...). E o administrador do site recebe um e-mail para informar do novo usuário e então acessar o painel de administração e ativá-lo. Assim que o administrador do site efetuar com sucesso a ativação da conta, o novo usuário irá receber mais um e-mail, informando que sua conta foi ativada com sucesso.

Após a conta ser ativada, ao fazer o login, abre a página com informações de saudações (Olá, você efetuou o login e está com acesso liberado a todo site).

Essa seria um "estilo" de script bem interessante e inteiramente útil.

 

Bom, agora vamos parar de enrolar e vou postar minhas contribuições, no caso, para se cadastrar, seriam as demais validações do formulário...

 

PRINCIPAIS VALIDAÇÕES:

PHP

[*]if ( $resultado_login == 1 ) { $erros .= "Login escolhido já está em uso.<br>"; }

[*]if ( $cad_login == "" ) { $erros .= "Você não digitou um login.<br>"; }

[*]if ( $cad_senha == "" ) { $erros .= "Você não digitou uma senha.<br>"; }

[*]if ( $cad_senha2 == "" ) { $erros .= "Você não digitou uma senha secundária.<br>"; }

[*]if ( $cad_email == "" ) { $erros .= "Você não digitou um email.<br>"; }

[*]

[*]if ( $cad_senha != $cad_senha2 ) { $erros .= "Você não digitou 2 senhas iguais.<br>"; }

[*]

[*]if ( $erros == "" )

[*]

 

Demais validações:

Validar UF:

PHP

[*]<?

[*]function CheckUF($uf){

[*]$uf=ereg_replace("[^A-Za-z]","",$uf);

[*]$valid_list=array("AC","AL","AM","AP","BA","CE","ES","GO","MA","MG","MS",

[*]"MT","PA","PB","PE","PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO");

[*]if(strlen($uf)==2&&in_array(strtoupper($uf),$valid_list))return true;else return false;

[*]}

[*]?>

[*]

Utilização:

PHP

[*]<?

[*]echo (CheckUF("sp"))?"UF válido":"UF inválido";

[*]?>

 

Validar CNPJ:

PHP

[*]<?

[*]function CheckCNPJ($cnpj){

[*]$cnpj=ereg_replace("[^0-9]","",$cnpj);

[*]$ignore_list=array("00000000000000");

[*]if(strlen($cnpj)!=14||in_array($cnpj,$ignore_list))return false;else{

[*]$m1=2;

[*]for($i=11;$i>-1;$i--){$d1+=$cnpj[$i]*$m1;$m1=($m1<9)?++$m1:$m1=2;}

[*]$r1=$d1%11;

[*]$d1=($r1>1)?(11-$r1):0;

[*]$m2=3;

[*]for($i=11;$i>-1;$i--){$d2+=$cnpj[$i]*$m2;$m2=($m2<9)?++$m2:$m2=2;}

[*]$r2=($d2+($d1*2))%11;

[*]$d2=($r2>1)?(11-$r2):0;

[*]if(substr($cnpj,-2)==$d1.$d2)return true;else return false;

[*]}

[*]}

[*]

[*]?>

Utilização:

PHP

[*]<?=(CheckCNPJ("00.000.000/0000-00"))?"CNPJ válido!":"CNPJ inválido!";?>

 

Validar RG:

PHP

[*]<?

[*]function CheckRG($rg){

[*]$rg=ereg_replace("[^0-9]","",$rg);

[*]$ignore_list=array("000000000");

[*]if(strlen($rg)!=9||in_array($rg,$ignore_list))return false;else{

[*]$m=2;

[*]for($i=0;$i<8;$i++){$s+=($rg[$i]*$m);$m=($m<9)?++$m:$m=2;}

[*]$r=$s%11;

[*]$d=($r>1)?(11-$r):0;

[*]if($rg[8]==$d)return true;else return false;

[*]}

[*]}

[*]

[*]?>

Utilização:

PHP

[*]<?=(CheckRG("12.345.678-9"))?"RG válido":"RG inválido";?>

 

Validar CPF:

PHP

[*]<?

[*]function CheckCPF($cpf){

[*]$cpf=ereg_replace("[^0-9]","",$cpf);

[*]$ignore_list=array("00000000000","01234567890","11111111111","22222222222",

[*]"33333333333","44444444444","55555555555","66666666666","77777777777",

[*]"88888888888","99999999999");

[*]if(strlen($cpf)!=11||in_array($cpf,$ignore_list))return false;else{

[*]for($i=0;$i<9;$i++)$d1+=$cpf[$i]*(10-$i);

[*]$r1=$d1%11;

[*]$d1=($r1>1)?(11-$r1):0;

[*]for($i=0;$i<9;$i++)$d2+=$cpf[$i]*(11-$i);

[*]$r2=($d2+($d1*2))%11;

[*]$d2=($r2>1)?(11-$r2):0;

[*]if(substr($cpf,-2)==$d1.$d2)return true;else return false;

[*]}

[*]}

[*]

[*]?>

Utilização:

PHP

[*]<?=(CheckCPF("000.000.000-00"))?"CPF válido":"CPF inválido";?>

 

Espero ter ajudado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ carlosrms: Com certeza estes códigos que você passou para validação de formulário são de grande importância!!!Gostei daquela breve lógica que você postou, um script de login desse estilo é excelente.Acho que com a contribuição de todos estamos conseguindo fazer este sistema de login.Obs.: Se além dessa validação de campos no formulário, você já tenha feito mais coisas, posta aí pra colaborar com o pessoal! Gostaria muito mesmo de ter um sistema de login desse estilo em meu site.@ pkr: Se possível, também post o que você está fazendo, assim podemos discutir juntos várias soluções para ser desenvolvido esse sistema de login.Bom, eu estarei acompanhando o tópico, e estou pesquisando bastante, assim que eu conseguir desenvolver algo que fique bom e seja de ajuda para interar mais opções neste script, eu posto aqui!Espero que mais pessoas também achem interessante esse tópico!T+!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal tudo bom ?

muito interessante esse script que você esta desenvolvendo Carlos.

 

estou com um problema, quero enviar um formulário tanto para um e-mail quanto para o banco de dados como faço isso ?

quero enviar este formulário para o e-mail e para o banco de dados

<form action="phpmail.php" name="cadastro" method="post">
<input required name="Nome" type="text" />
<input required name="email" type="text" />
<input required name="mensagem" type="text" />
</form>


Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.