MX Masters

01/02/2010 - 7:13 > 6.093 Visualizações > 95 comentários

Formulário de Contato com Anexo usando PHPMailer

1 votos

Salve amigos do Mxmasters, como prometido, iremos aprender a como utilizar a classe PHPMailer com um formulário de contato com anexo enviando por smtp autenticado. Aprenderemos desde validar os dados, até como utilizar a pesquisa para ajudar nessa missão. Espero que gostem, e boa Aula.

Script Criado:Veja o script

Criando e Estilizando Formuláriohttp://www.mxmasters.com.br//tableless/criando-e-estilizando-formulario/

PHPMailer :http://phpmailer.worxware.com/

Posts relacionados

David CHC

Trabalha como free-lance em desenvolvimentos de sites,desde o projeto completo à parte do projeto. Tem conhecimentos em Padrões Web( xhtml, css), javascript( jquery), php, mysql , (iniciando no python e ruby também), photoshop, fireworks, corel draw, enfim, um eterno aprendiz...


Outros posts deste autor

Este autor atualmente possui 38 posts

Veja todos os posts de David CHC


Comentários / Deixe seu Comentário

95 respostas para 'Formulário de Contato com Anexo usando PHPMailer'

  1. IgoNo Gravatar Diz:

    Muito boa a aula, seria possivel disponibilzar os arqvs?

  2. David CHCNo Gravatar Diz:

    @Igo, sim, irei disponibilizar depois os arquivos criados.

  3. IGONo Gravatar Diz:

    O meu esta funcionando mais se eu nao coloco nada ele envia também! O código é esse

    IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Port = 587;
    $mail->Host = ’smtp.sulbrasileiraconstrutora.com.br’;
    $mail->Username = ‘envio=sulbrasileiraconstrutora.com.br’;
    $mail->Password = ‘*********’;
    $mail->SetFrom(‘envio@sulbrasileiraconstrutora.com.br’, ‘Contato’);
    $mail->AddAddress(‘contato@sulbrasileiraconstrutora.com.br’, ‘Sulbrasileira Construtora’);
    $mail->Subject = ‘Contato’;

    $body =
    Nome:{$nome}
    E-mail:{$email}
    Assunto:{$assunto}
    Mensagem:{$mensagem} “;

    $mail->MsgHTML($body);

    if($mail->Send())
    $msg = ‘Sua mensagem foi enviada com sucesso’;
    else
    $msg = ‘Sua mensagem não foi enviada’;
    ?>

    Poderia me informar onde está o erro?

  4. David CHCNo Gravatar Diz:

    @IGO, vc fez a validação dos dados?

  5. IGONo Gravatar Diz:

    Se for isso eu fiz $nome = strip_tags(trim($_POST['nome']));
    $email = strip_tags(trim($_POST['email']));
    $assunto = strip_tags(trim($_POST['assunto']));
    $mensagem = strip_tags(trim($_POST['mensagem']));

    if(empty($nome)){
    $msg = ‘O nome é obrigatório’;
    }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    $msg = ‘Digite um e-mail válido’;
    }elseif(empty($assunto)){
    $msg = ‘O assunto é obrigatório’;
    }elseif(empty($mensagem)){
    $msg = ‘A mensagem é obrigatória’;
    }

  6. David CHCNo Gravatar Diz:

    @IGO, vc clica no formulario, sem peenchar nada ,ele tá enviando?

  7. IGONo Gravatar Diz:

    @DAVID CHC, sim, ele envia sem nada, na caixa de entrada so fica

    Nome:
    E-mail:
    Assunto:
    Mensagem:

  8. IGONo Gravatar Diz:

    Poderia excluir meu comentario? é que mandei a senha sem querer

  9. David CHCNo Gravatar Diz:

    @IGO, ele só vai enviar se todas as condições forem falsas:


    if(empty($nome)){
    $msg = ‘O Nome é Obrigatório’;
    }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    $msg = ‘Digite um E-mail válido’;
    }elseif(empty($titulo)){
    $msg = ‘O Título é Obrigatório’;
    }elseif(empty($mensagem)){
    $msg = ‘A Mensagem é Obrigatória’;
    }elseif(!is_uploaded_file($arquivo['tmp_name'])){
    $msg = ‘O Arquivo é Obrigatório’;
    }elseif($arquivo['size'] > $tamanho){
    $msg = ‘O limite do tamanho do arquivo é de 500KB’;
    }elseif(!in_array($arquivo['type'], $tipos)){
    $msg = ‘O tipo do arquivo permitido é apenas JPEG’;
    }else{
    //se tudo a cima for falso, q quer dizer a mensagem foi enviada com todos requisitos, ai ele enviar.
    }

    Então, veja se vc coloca o else, e dentro do else chamou a classe e a configurou.

  10. David CHCNo Gravatar Diz:

    @IGO, eu removi sua senha.

  11. IGONo Gravatar Diz:

    Não to conseguindo não, vou esperar ser disponibilizados os arquivos pra mim comparar

  12. David CHCNo Gravatar Diz:

    @IGO já disponibilizei o script.

  13. IGONo Gravatar Diz:

    Muito obrigado DAVID, achei o erro!

  14. RobertNo Gravatar Diz:

    DAVID CHC, visto que a codificação esta em ISO-8859-1, como descubro os caracteres? Por exemplo o ã, porque o á á

  15. David CHCNo Gravatar Diz:

    @Robert, o PHPMailer tbm por padrão enviar tbm por iso-8859-1. Todas as suas páginas tem q ser do mesmo charset. Mesmo sem nenhum charset declarado, a sua página contem um. No Komodo Edit, a IDE que utilizo, basta clicar com Botão direito em cima do arquivo, e mudar o charset do documento. Se vc utilizar uma outra IDE, ai vc terá ver essa opção.

  16. RobertNo Gravatar Diz:

    @DAVID CHC, já esta em iso-8859-1, mais alguns caracteres ficam com bug como por exemplo o link Serviços fica Serviços, tem como me ajudar

  17. David CHCNo Gravatar Diz:

    @Robert troque para UTF-8, veja se resolve. Para mudar o charset no PHPMailer, basta usar o atributo $CharSet;

    $mail->CharSet = ‘UTF-8′;

  18. RobertNo Gravatar Diz:

    Não estou conseguindo, quando coloco os caracteres em iso-8859-1, os caracteres do formulário funcionam, mais quando coloco uft-8 o site inteiro funciona menos os do formulario.

  19. David CHCNo Gravatar Diz:

    @Robert, mudou tbm do PHPMailer?

  20. RobertNo Gravatar Diz:

    Mudei aqui

    * Sets the CharSet of the message.
    * @var string
    */
    public $CharSet = ‘UFT-8′;

  21. David CHCNo Gravatar Diz:

    @Robert não precisa mudar na classe, basta definir como te mostrei. Qual IDE q vc tá utilizando? se For Dreamweaver aperte CTRL + J e mudo para window ocidental, se for usar o ISO-8859-1 ou Unicode (UTF-8) se for usar o UTF-8, sendo que todos terão q seguir o mesmo charset.

  22. RobertNo Gravatar Diz:

    @DAVID CHC, muito obrigado, agora consegui! Continue fazendo esse excelente trabalho! :D

  23. LucianaNo Gravatar Diz:

    Boa tarde david!

    Muito legal sua video aula, suoer explicativa, mais to comendo bola em algum lugar pois meu formulario não vai de jeito nenhum alias nem aparece ele transmite um erro .Parse error: parse error in C:\wamp\www\sitechebel\contato.php on line 55
    não sei mais o que por ou tirar .
    Esse é o formulario de contato.

    Untitled Document

    Dúvidas, Sugestões e Elogios?
    Encaminhe para nós e responderemos assim que possível!

    Nome

    E-mail

    Telefone

    Assunto

    Cep

    Mensagem

    esse é o formulario de envio.
    IsSMTP();
    $mail-> SMTPAuth = true;
    $mail-> Port=’587′;
    $mail-> Host=’smtp.studioalleria.com’;
    $mail-> Username=’studioalleria=studioalleria.com.br’;
    $mail-> Password=’xxxxxxx’;
    $mail-> Setfrom=’studioalleria@studioalleria.com’,'luciana’;
    $mail-> AddAddress=’studioalleria@hotmail.com’,'Luciana’;
    $mail-> Subject= “Formulario de Contato”;
    $body=”Nome :{$nome}
    E-mail :{$email}
    Telefone :{$telefone}
    Assunto :{$assunto}
    Cep :{$cep}
    Mensagem :{$mensagem}
    $mail->MsgHTML($body);
    if($mail->Send())
    $msg = ‘Sua Mensagem foi enviada com sucesso!!!!!’;
    else
    $msg = ‘Desculpe mais não foi possivel enviar a sua mensagem tente novamente após alguns minutos’;
    }
    ?>

    Enfim David eu não consigo achar o erro!!!!!
    bjcs

  24. lucianaNo Gravatar Diz:

    rsrsrsrs o formulario de conatto não apareceu acima rsrsrsrs!!!

    Untitled Document

    Dúvidas, Sugestões e Elogios?
    Encaminhe para nós e responderemos assim que possível!

    Nome

    E-mail

    Telefone

    Assunto

    Cep

    Mensagem

  25. David CHCNo Gravatar Diz:

    @luciana coloque os códigos no http://pastebin.com/, escolha a opção PHP para ficar destacado, assim fica mais fácil verificar.

    Confira tbm o código disponibilizado, pra compara o q vc tem.

  26. Lorran DavidNo Gravatar Diz:

    David, boa aula! Estou com 1 problema, tenho 1 site hospedado na hostnet, mais ele nao envia, da esse erro SMTP Error: Could not connect to SMTP host.

  27. Lorran DavidNo Gravatar Diz:

    Consegui, eu retirei a Port e funcionou, quando prescisar eu ponho!

  28. David CHCNo Gravatar Diz:

    @Lorran David , ainda bem q vc conseguiu resolver, pq o foco era a hospedagem da hostnet, se fosse diferente, eu falei pra conferir as configurações da hospedagem q estão usando.

  29. jeanNo Gravatar Diz:

    Estou com um probleminha aqui e nao sei o que fazer.

    quando eu mando enviar, aparece na linha 35 do arquivo enviar.php esta mensagem:

    Fatal error: Call to undefined method PHPMailer::SetFrom() in /home/localturbo/teste/enviar.php on line 35

    preciso de sua ajuda.

    Obrigado
    Jean

  30. David CHCNo Gravatar Diz:

    @jean, esse erro dias que não existe o método SetFrom. Verifica vc chamou esse método com a mesma variavel q vc instanciou a classe:


    $mail = new PHPMailer();
    $mail->SetFrom(‘nome@meusite.com.br’, ‘Nome’);

    Você baixou a mesma versão da Classe PHPMailer indicada na aula anterior, onde é ensinada baixar as classes e enviar de modo autenticado? Versões antigas não tinha esse método.

  31. Aislan RenedyNo Gravatar Diz:

    David muito obrigado pela orientação vi a video aula peguei os codigos e o arquivophpmailer postei tudo na mesma pasta.

    mas aq esta dando mais um erro !!

    Parse error: syntax error, unexpected T_STRING in /home/topagitus/www/email/enviar.php on line 36

    —————————————————————-
    meu codiga esta assim

    $tamanho){
    $msg = ‘O limite do tamanho do arquivo é de 500KB’;
    }elseif(!in_array($arquivo['type'], $tipos)){
    $msg = ‘O tipo do arquivo permitido é apenas JPEG’;
    }else{
    require(‘PHPMailer/class.phpmailer.php’);

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Port = 587;
    $mail->Host = ’smtp.topagitus.com.br’;
    $mail->Username = ‘contato=topagitus.com.br’;
    $mail->Password = ‘*********’;
    $mail->SetFrom(‘contato@topagitus.com.br’, ‘Aislan’);
    $mail->AddAddress(‘teste@topagitus.com.br, ‘Aislan Renedy’);
    $mail->Subject = ‘Formulário de Contato’;

    $body = “Nome :{$nome}
    E-mail :{$email}
    Titulo :{$titulo}
    Mensagem :{$mensagem}
    Arquivo : “.$arquivo['name'];

    $mail->MsgHTML($body);
    $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']);

    if($mail->Send())
    $msg = ‘Sua Mensagem foi enviada com Sucesso!!!’;
    else
    $msg = ‘Sua Mensagem não foi enviada, tente novamente’;

    }

    ?>

    ——————————————————————————–

    o index

    Formulário de Contato

    <?php
    if(isset($msg))
    echo “$msg”;
    ?>

    Formulário de Contato

    Nome

    E-mail

    Titulo

    Mensagem

    Arquivo

    ———————————————————————–

    Se vc poder me ajudar ficarei muito grato pois faz muito tempo q procuro um formulario assim completo e autenticado so encontrei aq mesmo com vcs.

    desde já agradeço a atenção!

  32. David CHCNo Gravatar Diz:

    @Aislan, coloco o código no http://pastebin.com/, escolha a opção php, ele vai gerar um link, e me manda o link, fica mais fácil de ver.

  33. aislanNo Gravatar Diz:

    http://pastebin.com/m95d3c91

  34. aislanNo Gravatar Diz:

    http://pastebin.com/m3695b57c

    esse é o index

  35. Aislan RenedyNo Gravatar Diz:

    sera q tem q mudar algo no php mailer ?
    * Sets the default SMTP server port.
    * @var int
    */
    public $Port = 25;

  36. David CHCNo Gravatar Diz:

    @aislan, o problema é q vc esqueceu de fechar aspas no $mail->AddAddress, que está assim:

    $mail->AddAddress(‘teste@topagitus.com.br, ‘Aislan Renedy’);

    E teria q está assim:

    $mail->AddAddress(‘teste@topagitus.com.br’, ‘Aislan Renedy’);

    Não mude nada na classe, qualquer alteração faça com eu mostrei.

  37. aislan renedyNo Gravatar Diz:

    muito obrigado e desculpe minha falta de atenção.
    mas agora aparece outro erro !

    Warning: require(PHPMailer/class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in /home/topagitus/www/email/enviar.php on line 26

    Fatal error: require() [function.require]: Failed opening required ‘PHPMailer/class.phpmailer.php’ (include_path=’.:/usr/share/pear/:/usr/lib/php/’) in /home/topagitus/www/email/enviar.php on line 26

  38. David CHCNo Gravatar Diz:

    @aislan, está dizendo q o arquivo q vc indicou (class.phpmailer.php) não existe, verifica se vc indicou o caminho correto. E claro, vc tem enviar ele para hospedagem.

  39. AislanNo Gravatar Diz:

    Deu certo cometi um erro ridiculo mas vou contar hehehe
    eu tinha enviado apenas os 3 arquivos indicados na outra video aula tudo junto e nao dentro do diretorio PHPMailer.

    Muito obrigado e desculpe mionhas mancadas .

    abraço a todos.

  40. David CHCNo Gravatar Diz:

    @Aislan, tranquilo, isso acontece mesmo. abrs

  41. MatheusNo Gravatar Diz:

    Eu fiz tudo certinho mas acabei tendo o mesmo problema do amigo IGO, mesmo com o código disponibilizado eu conferir e está tudo certinho, mesmo que eu não envio nada ele envia mesmo assim, ai some a tela fica toda branca… não me apresenta nenhuma das mensagem de autenticação.

    Poderia me ajudar???

  42. David CHCNo Gravatar Diz:

    @Matheus, provalvemente vc não colocou o else no final:


    if(condicao1){
    verdadeiro
    }elseif(condicao2){
    verdadeiro
    }else{
    falso

    }

    Isso quer dizer o seguinte, se passar todas as condições, ele vai executar o falso, seria no caso o envio da mensagem. Reveja o código novamente, e veja senão esqueceu de colocar o else no final

  43. DiegoNo Gravatar Diz:

    Ola sequi o video certinho mais quando e anexado e enviado retorna erro e mostra o conteudo do anexo caso seja um txt poderia verificar o erro http://pontoclassificados.com/envioemail.php

    Obrigado

  44. David CHCNo Gravatar Diz:

    @Diego, aqui não apareceu erro algum, veja se me passou o link correto.

  45. ThiagoNo Gravatar Diz:

    Gente eu fiz tudo certinho da os erros normal quando deiza algo em branco ou com espaço mais na hora de enviar da este erro!

    Warning: require(PHPMailer/class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\pn\Enviar.php on line 26

    Fatal error: require() [function.require]: Failed opening required ‘PHPMailer/class.phpmailer.php’ (include_path=’.;C:\xampp\php\pear\’) in C:\xampp\htdocs\pn\Enviar.php on line 26

  46. David CHCNo Gravatar Diz:

    @Thiago está dizendo q vc não indicou o caminho correto da classe class.phpmailer.php, verifique esse caminho.

  47. Matheus RigoteNo Gravatar Diz:

    Então David, está sim constando o else no final do meu código, o meu código está dessa forma aqui:
    $tamanho){
    $msg = ‘O limite do tamanho do arquivo é de 2MB’;
    }elseif(!in_array($arquivo['type'], $tipos)){
    $msg = ‘O tipo do arquivo permitido é apenas JPEG’;
    }else{
    require(‘PHPMailer/class.phpmailer.php’);

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Port = 25;
    $mail->Host = ‘000.000.000.000′;
    $mail->Username = ‘usuário’;
    $mail->Password = ’senha’;
    $mail->SetFrom(‘matheus@fidelity.com.br’, ‘Matheus’);
    $mail->AddAddress(‘matheus@fidelity.com.br’, ‘Matheus UOL’);
    $mail->Subject = ‘Formulário de Contato’;

    $body = “Empresa : {$empresa}
    Nome : {$nome}
    Telefone : {$telefone}
    E-mail : {$email}
    Estado : {$estado}
    {$mensagem}”;
    //Arquivo : “.$arquivo['name'];

    $mail->MsgHTML($body);
    $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']);

    if($mail->Send())
    echo “”;
    else
    echo “”;

    }

    ?>

  48. David CHCNo Gravatar Diz:

    @Matheus, poste no pastebin, e escolhe php, e me passe o link, é melhor pra analisar.

  49. MatheusNo Gravatar Diz:

    Olá David segue o ling que me pediu:

    http://www.pastebin.com/m3475f77b

    Muito obrigado pela ajuda.

  50. David CHCNo Gravatar Diz:

    @Matheus, tirando q vc tinha trocado aspas, pelo sinal de interrogação, está normal, e tbm testei e tá normal tbm.

    Ele não executa o envio, pq só vai ocorrer se passar pelas condições q colocamos. Pq ele só testar a outra condição se a anterior for falsa , exemplo, se o campo $_POST['empresa'] estiver com valor, ele passa para outro teste, caso nenhum dos testes for verdadeiro (q quer dizer q passou pela validação), ele vai para else, e ai sim, executa.

    http://www.pastebin.com/f2478073d

  51. MatheusNo Gravatar Diz:

    Então, não deu certo, eu não sei o que acontece, na sexta feira eu testei e estava enviando normalmente agora eu tento enviar e não vai, e assim o meu html ele não aparece aquela frase vermelha igual vc havia mostrado na viedeo aula, eu fiz exatamente como vc mostrou, posso enviar os meus fonts para seu e-mail do modo que eu fiz?

  52. David CHCNo Gravatar Diz:

    @Matheus, pode mandar sim.

  53. thiagoNo Gravatar Diz:

    Ola david, o meu da erro direto, mas percebi que nao tenho a class.phpmailer.php, tem como voce me enviar?

    obrigado

  54. David CHCNo Gravatar Diz:

    @thiago, o link tá no post da vídeo aula, aconselho vc ver essa antes:

    http://www.mxmasters.com.br/php/enviando-e-mail-autenticado/

    Eu explico como baixar e configurar o envio, vai ser mais fácil vc entender esse do anexo.

  55. Cristiano Alves PricinoteNo Gravatar Diz:

    Ótima aula
    vou correndo reconfigurar meu formulário
    valeu!!

  56. PériclesNo Gravatar Diz:

    o meu formulario esta dando erro “O Arquivo é Obrigatório”,
    porem eu ja procurei 3 veses as tegs relacionadas com o arquivo e ñ consegui acha o erro.

    formulario \/

    Documento sin título

    <?php
    if(isset($msg))
    echo “$msg”;
    ?>

    Formulário de Contato

    Nome

    E-mail

    Titulo

    Mensagem

    Arquivo

  57. David CHCNo Gravatar Diz:

    @Péricles, vc colocou no formulário enctype=”multipart/form-data”, informando q irá enviar um arquivo pelo formulário?

  58. PériclesNo Gravatar Diz:

    enviar.php\/

    $tamanho){
    $msg = ‘O Limite do tamanho do arquivo é de 500kb’;
    }elseif(!in_array($arquivo['type'], $tipos)){
    $msg = ‘O Tipo do arquivo permitido é apenas JPEG’;
    }else{
    require(‘PHPMailer/class.phpmailer.php’);

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Port = 465;
    $mail->Host = ’smtp.gmail.com’;
    $mail->Username = ‘periclestest@gmail.com’;
    $mail->Password= ‘******’;
    $mail->SetForm(‘periclestest@gmail.com’, ‘periclestest’);
    //*quem ta recebendo\/
    $mail->AddAddress(‘periclescesar@gmail.com’, ‘periclescesar’);
    $mail->Subject = ‘Formulario de Contato’;

    $body = “Nome :{$nome}
    E-mail :{$email}
    Titulo :{$titulo}
    Mensagem :{$mensagem}
    Arquivo :{$arquivo['name']} “;

    $mail->MsgHTML($body);
    $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']);

    if($mail->Send())
    $msg = ‘Sua Mensagem foi envida com Sucesso!!!’;
    else
    $msg = ‘Sua Mensagem não foi enviada tente noavamente’;
    }
    ?>

  59. PériclesNo Gravatar Diz:

    Sim

  60. David CHCNo Gravatar Diz:

    @Péricles, Coloque o código no http://pastebin.com/ e me manda o link para dá uma olhada

  61. PériclesNo Gravatar Diz:

    http://pastebin.com/tPk8FL1S

  62. David CHCNo Gravatar Diz:

    @Péricles, vc tem q testar se o arquivo não foi enviado, então por isso q colocar um sinal de exclamação, q é de negação.

    elseif(!is_uploaded_file($arquivo['tmp_name'])){
    $msg = ‘O Arquivo é Obrigatório’;

  63. PériclesNo Gravatar Diz:

    vlw

  64. JoãoNo Gravatar Diz:

    eaw, eu aqui está a minha duvida como já havia dito que tinha, eu baixei o script e mudei as configurações no entanto aparce um enrro na linha 37 não concigo ver o erro ali, e também não entendi muito bem essa história do smtp.

    vlws

  65. David CHCNo Gravatar Diz:

    @João, dá uma olhada na aula anterior sobre o PHPMailer, lá ensino baixar e configurar , e essa video aula, do anexo, coloco a integração com o site em si

  66. JoãoNo Gravatar Diz:

    oi david, o erro q eu falei na linha 37 é esse :P arse error: syntax error, unexpected T_STRING in /home/minascon/domains/minascontabilidade.com.br/public_html/enviar.php on line 37

    olha o q ta errado?

  67. David CHCNo Gravatar Diz:

    @João, coloca o codigo no http://www.pastebin.com, pra poder dá uma olhada

  68. JoãoNo Gravatar Diz:

    oi, bom aid anoa cocnegui realizar o envio com sucesso, tipo uma das minhas duvidas é que na video aula quando digita a senha no codigo do smtp ela aparece em asterisco na minha não, queria saber se isso também influencia, se é obrigatorio aparece em asterisco.

  69. David CHCNo Gravatar Diz:

    @João, na aula aparece em asteristico para eu não mostrar a minha senha para pessoas q estão assistindo a video aula, naquela parte eu editava.

  70. WellingtonNo Gravatar Diz:

    O meu tá dando erro na ultima linha ?> Parse error: parse error in c:\appserv\www\phpmailer\enviar.php on line 57
    o que seria

  71. David CHCNo Gravatar Diz:

    @Wellington, veja se vc esqueceu um ponto-virgula. Mas coloque o código no pastebin : http://www.pastebin.com, e me passa o link

  72. RafaelNo Gravatar Diz:

    Como pego os dados de um input type checkbox??? é um input único.

  73. David CHCNo Gravatar Diz:

    @Rafael, vc pegar da mesma maneira como input text. Para q seja marcado uma opção, eles terão que ter o mesmo name.

  74. RafaelNo Gravatar Diz:

    David, assim?

    PHP
    $opcao = strip_tags(trim($_POST['opcao']));

    XHMTL

    Não concordo.

  75. David CHCNo Gravatar Diz:

    @Rafael, isso mesmo, exemplo


    Você concorda?

    SIM: [input type="checkbox" name="opcao" value="Sim"]
    NÃO: [input type="checkbox" name="opcao" value="Nao"]

    PHP:

    $opcao = $_POST['opcao'];

  76. RafaelNo Gravatar Diz:

    thks!!! Big David!!!

  77. RafaelNo Gravatar Diz:

    David, para chamar uma mensagem como essa abaixo via Ajax (jQuery) para uma página HTML

    echo ” Mensagem enviada com sucesso.”;

    É melhor usar “echo”, “alert” ou variável de mensagem “$msg” ou outra?

  78. RafaelNo Gravatar Diz:

    David, para chamar uma mensagem como essa abaixo via Ajax (jQuery) para uma página HTML

    http://pastebin.com/M1nHxwUC

    É melhor usar “echo”, “alert” ou variável de mensagem “$msg” ou outra?

  79. David CHCNo Gravatar Diz:

    @Rafael, se vc está usando o ajax, basta ter um local para retornar a mensagem.


    $.post(“enviar.php”,
    {
    “nome”: $(“#nome”).val(),
    “email” : $(“#email”).val()
    }, function(valor){
    $(“#sucesso”).show().html(valor);
    })

    NO arquivo enviar.php, vai fazer todo o procedimento de enviar o email, o valor q retorna ( com echo), vc vai recuperar na parametro valor, e vc pode adicionar na div#sucesso

  80. Lucas Perim Fredrico (Lukozo)No Gravatar Diz:

    Olá. Boa vídeo aula.
    Mas está ocorrendo um erro comigo.
    Eu preencho certinho o form, coloco em enviar e diz que o arquivo é necessário. O que fazer ??

    Obrigado
    Lucas

  81. David CHCNo Gravatar Diz:

    @Lucas, coloque o script no pastebin : http://pastebin.com/ e me passa o link.

    Mas veja se na hora de verificar o arquivo se está com sinal de negação, pra ver se o arquivo está obrigatorio, ficando assim:


    elseif(!is_uploaded_file($arquivo['tmp_name'])){

    }

  82. SilvinhaNo Gravatar Diz:

    Gostaria de saber se alguem sabe criar uma calculadora em php igiual a que esta neste link http://pjuros.php-gtk.com.br/pjuros.html, ja tentei com vareas pessoas e ninguem pode me ajudar. Me ajudem se puder.

  83. David CHCNo Gravatar Diz:

    @Silvinha, mas vc já sabe realizar a lógica desse calculo? Nesse exemplo q vc postou, ele é feito com javascript, mas dá sem problema realizar com PHP, mas vc tem q saber qual é logica nesse caso atras do calculo, pra depois transpor para o PHP

  84. SilvinhaNo Gravatar Diz:

    Olá David, muito obrigada por responder minha duvida…
    O problema é que eu tambem não sei, já baixei o arquivo desta calculadora mais não entendo nada de codigo…Eu tenho o codigo e envio para vc se puder..

    Abraço

  85. David CHCNo Gravatar Diz:

    @Silvinha, mas vc tem a ideia de que forma q funciona, não pensa na linguagem, quero dizer, se vc fizesse esse calculo na mão, vc consegue. Se vc consegui, dai é a adaptar a linguagem q vc for usa. Se vc sabe, coloca ai , indicando os valores necessários e suas descrições.

  86. SilvinhaNo Gravatar Diz:

    Olá David, teria como vc me passar seu email para eu enviar o codigo p/ vc ver ???

    Bjsss

  87. David CHCNo Gravatar Diz:

    @Silvinha, na parte esquerda do site, q tá uma descrição minha, tem um email de contato, pode enviar por ele.

  88. Janio PessoaNo Gravatar Diz:

    com a ajuda de um colega fiz o meu site em php, mas não consigo que o site me remeta um e-mail na hora que a pessoa faz a compra poderias me ajudar? Qual o custo.

  89. David CHCNo Gravatar Diz:

    @Janio Pessoa, vc fez algum carrinho de comprar, pra q pessoa finalize o pedido pra ser enviada para seu email?

  90. Marcio ViniciusNo Gravatar Diz:

    Eae David, blz? Cara, gostaria de uma sugestão sua… Para validação dos Campos do Formulário(não validação, VERIFICAÇÃO), do Login e Senha, entre outras coisas, eu to usando essa função que o meu professor me passou:

    http://www.pastebin.org/359176

    O que você acha que poderia ser melhorado? Está de modo razoável? Abraços…

  91. David CHCNo Gravatar Diz:

    @Marcio Vinicius, não recomendo pq ela é falha ( eu já usei ela tbm, até criei um tutorial com ela tbm, mas já faz tempo). Primeiro ele tenta remover como SQL, no caso vc limita, imagina se seu texto tiver partes em inglês, vai remover essas palavras. Até a remoção de comandos SQL é falha, exemplo:

    deldeleteete

    Repare ele vai remover o primeiro delete, mas vai deixar o segundo q está inserido.

    O trim, e strip_tags pode ser valido. (Eu gosto de usar o trim , no caso de tirar espaço antes e posteriores, dependendo pode ajudar). O strip_tags(), tem q ser usado com cautela, recomendo se usando se o contéudo nao precisa de inserir html, no caso texto de site ou blog, pq muito usam editor online com javascript

    Para trabalhar com banco de dados, recomendo vc usar com PDO, ou quando mysql_*, pra escapar mysql_real_escape_string()


    $titulo = mysql_real_escape_string($_POST['titulo']);
    $conteudo = mysql_real_escape_string($_POST['conteudo']);
    $strSQL = ” INSERT INTO posts (titulo, conteudo) VALUES (‘$titulo’, ‘$conteudo’)”;

    Deixando mais organizado (pelo menos para mim, rs) – http://www.pastebin.org/359338

    Tratamos a parte que entrar, agora a parte q mostra o conteúdo – http://www.pastebin.org/359341

    Isso previne o XSS, no caso injeção de codigo html, no caso Javascript.

  92. Marcio ViniciusNo Gravatar Diz:

    Opa, consegui entender! Obrigado David, valeu mesmo!! Abraços!!

  93. Marcio ViniciusNo Gravatar Diz:

    Eae David, tudo bom cara?
    Assim, eu já assisti essa VA duas vezes, mas ainda não consegui entender(ou diferenciar) três coisas…

    Simples e direto(Tomando como exemplo a sua VA):
    O que é:

    $mail->Username = ‘usuario=seuendereco.com.br’;

    $mail->SetFrom(‘usuario@seuendereco.com.br’, ‘Nome’);

    $mail->AddAddress(’seuemail@terra.com.br’, ‘Seu Nome’);

    Não consegui entender a diferença de cada um deles, tem como me ajudar?
    Abraços, fique com Deus.

  94. David CHCNo Gravatar Diz:

    @Marcio Vinicius, vou tentar explicar:

    $mail->Username => aqui informa o email que você está configurado no seu smtp. No caso será o email q vc usa.
    $mail->SetFrom() => aqui vai informa quem está enviando o email
    $mail->AddAddress() -> aqui vai informa, para quem está enviando o email.

  95. Marcio ViniciusNo Gravatar Diz:

    Opa, consegui entender David, agora sim! rs’
    Estava tendo dificuldade de compreender, valeu mesmo!

Deixe seu Comentário

Publicidade

www.mxmasters.com.br - todos os Direitos Reservados : Desenvolvido com Wordpress

Desenvolvido por David CHC e Felipe Cardozo