01/02/2010 - 7:13 > 6.093 Visualizações > 95 comentários
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ário – http://www.mxmasters.com.br//tableless/criando-e-estilizando-formulario/
PHPMailer :http://phpmailer.worxware.com/

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...
Desenvolvido por David CHC e Felipe Cardozo
1/02/10 às 10:34
Muito boa a aula, seria possivel disponibilzar os arqvs?
1/02/10 às 10:44
@Igo, sim, irei disponibilizar depois os arquivos criados.
1/02/10 às 11:25
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?
1/02/10 às 11:29
@IGO, vc fez a validação dos dados?
1/02/10 às 11:32
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’;
}
1/02/10 às 11:34
@IGO, vc clica no formulario, sem peenchar nada ,ele tá enviando?
1/02/10 às 11:39
@DAVID CHC, sim, ele envia sem nada, na caixa de entrada so fica
Nome:
E-mail:
Assunto:
Mensagem:
1/02/10 às 11:46
Poderia excluir meu comentario? é que mandei a senha sem querer
1/02/10 às 11:50
@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.
1/02/10 às 11:52
@IGO, eu removi sua senha.
1/02/10 às 11:55
Não to conseguindo não, vou esperar ser disponibilizados os arquivos pra mim comparar
1/02/10 às 12:05
@IGO já disponibilizei o script.
1/02/10 às 12:56
Muito obrigado DAVID, achei o erro!
1/02/10 às 14:33
DAVID CHC, visto que a codificação esta em ISO-8859-1, como descubro os caracteres? Por exemplo o ã, porque o á á
1/02/10 às 14:46
@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.
1/02/10 às 14:58
@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
1/02/10 às 15:03
@Robert troque para UTF-8, veja se resolve. Para mudar o charset no PHPMailer, basta usar o atributo $CharSet;
$mail->CharSet = ‘UTF-8′;
1/02/10 às 15:10
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.
1/02/10 às 15:11
@Robert, mudou tbm do PHPMailer?
1/02/10 às 15:12
Mudei aqui
* Sets the CharSet of the message.
* @var string
*/
public $CharSet = ‘UFT-8′;
1/02/10 às 15:22
@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.
1/02/10 às 15:27
@DAVID CHC, muito obrigado, agora consegui! Continue fazendo esse excelente trabalho!
1/02/10 às 15:54
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
1/02/10 às 15:56
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
1/02/10 às 16:03
@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.
1/02/10 às 21:24
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.
1/02/10 às 21:29
Consegui, eu retirei a Port e funcionou, quando prescisar eu ponho!
1/02/10 às 21:32
@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.
5/02/10 às 15:01
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
5/02/10 às 15:10
@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.
13/02/10 às 11:42
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!
13/02/10 às 11:55
@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.
13/02/10 às 12:06
http://pastebin.com/m95d3c91
13/02/10 às 12:09
http://pastebin.com/m3695b57c
esse é o index
13/02/10 às 12:11
sera q tem q mudar algo no php mailer ?
* Sets the default SMTP server port.
* @var int
*/
public $Port = 25;
13/02/10 às 12:21
@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.
13/02/10 às 12:30
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
13/02/10 às 12:58
@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.
13/02/10 às 13:51
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.
13/02/10 às 14:01
@Aislan, tranquilo, isso acontece mesmo. abrs
19/02/10 às 15:02
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???
19/02/10 às 15:56
@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
20/02/10 às 6:27
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
20/02/10 às 7:16
@Diego, aqui não apareceu erro algum, veja se me passou o link correto.
21/02/10 às 10:42
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
21/02/10 às 10:49
@Thiago está dizendo q vc não indicou o caminho correto da classe class.phpmailer.php, verifique esse caminho.
22/02/10 às 11:17
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 “”;
}
?>
22/02/10 às 11:20
@Matheus, poste no pastebin, e escolhe php, e me passe o link, é melhor pra analisar.
22/02/10 às 13:50
Olá David segue o ling que me pediu:
http://www.pastebin.com/m3475f77b
Muito obrigado pela ajuda.
22/02/10 às 14:03
@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
22/02/10 às 14:27
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?
23/02/10 às 8:20
@Matheus, pode mandar sim.
3/03/10 às 17:00
Ola david, o meu da erro direto, mas percebi que nao tenho a class.phpmailer.php, tem como voce me enviar?
obrigado
3/03/10 às 17:47
@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.
4/03/10 às 0:02
Ótima aula
vou correndo reconfigurar meu formulário
valeu!!
4/03/10 às 18:02
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
4/03/10 às 18:08
@Péricles, vc colocou no formulário enctype=”multipart/form-data”, informando q irá enviar um arquivo pelo formulário?
4/03/10 às 18:10
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’;
}
?>
4/03/10 às 18:10
Sim
4/03/10 às 18:11
@Péricles, Coloque o código no http://pastebin.com/ e me manda o link para dá uma olhada
4/03/10 às 18:13
http://pastebin.com/tPk8FL1S
4/03/10 às 18:15
@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’;
4/03/10 às 18:17
vlw
22/03/10 às 21:22
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
22/03/10 às 21:30
@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
22/03/10 às 22:20
oi david, o erro q eu falei na linha 37 é esse
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?
23/03/10 às 8:30
@João, coloca o codigo no http://www.pastebin.com, pra poder dá uma olhada
23/03/10 às 21:05
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.
23/03/10 às 21:14
@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.
1/04/10 às 20:01
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
1/04/10 às 20:45
@Wellington, veja se vc esqueceu um ponto-virgula. Mas coloque o código no pastebin : http://www.pastebin.com, e me passa o link
3/04/10 às 3:04
Como pego os dados de um input type checkbox??? é um input único.
3/04/10 às 8:40
@Rafael, vc pegar da mesma maneira como input text. Para q seja marcado uma opção, eles terão que ter o mesmo name.
3/04/10 às 13:20
David, assim?
PHP
$opcao = strip_tags(trim($_POST['opcao']));
XHMTL
Não concordo.
3/04/10 às 14:07
@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'];
3/04/10 às 15:24
thks!!! Big David!!!
3/04/10 às 19:01
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?
3/04/10 às 19:03
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?
3/04/10 às 19:35
@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
11/04/10 às 19:40
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
11/04/10 às 19:49
@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'])){
}
12/06/10 às 21:51
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.
13/06/10 às 9:57
@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
15/06/10 às 11:36
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
15/06/10 às 15:01
@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.
18/06/10 às 20:02
Olá David, teria como vc me passar seu email para eu enviar o codigo p/ vc ver ???
Bjsss
18/06/10 às 20:58
@Silvinha, na parte esquerda do site, q tá uma descrição minha, tem um email de contato, pode enviar por ele.
22/06/10 às 16:51
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.
23/06/10 às 8:41
@Janio Pessoa, vc fez algum carrinho de comprar, pra q pessoa finalize o pedido pra ser enviada para seu email?
25/06/10 às 19:10
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…
25/06/10 às 20:55
@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.
25/06/10 às 22:28
Opa, consegui entender! Obrigado David, valeu mesmo!! Abraços!!
17/08/10 às 23:33
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.
18/08/10 às 8:20
@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.
18/08/10 às 17:04
Opa, consegui entender David, agora sim! rs’
Estava tendo dificuldade de compreender, valeu mesmo!