Ir ao conteúdo
  • Cadastre-se

Agamoto

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

3
  1. Mudei o Formulário, este aqui funciona perfeitamente é um formulário bem simples mas quem for usar pode incrementar com css como preferir, lembrando que foi usado aqui a classe PHPMailer e sempre usar a versão mais recente Segue o Código: enviar.php <?php // Adiciona o arquivo class.phpmailer.php - você deve especificar corretamente o caminho da pasta. require_once("PHPMailer/PHPMailerAutoload.php"); // Aqui inicia a classe PHPMailer $mail = new PHPMailer(); // DADOS DE AUTENTICAÇÃO - Você deve alterar conforme o seu domínio da sua hospedagem! $mail->IsSMTP(); // Define que a mensagem será SMTP $mail->Host = "seudomínio.com.br"; // Seu endereço de host SMTP(seu domínio) $mail->SMTPAuth = true; // Define que será utilizada a autenticação - Mantenha o valor "true" $mail->Port = 587; // Porta de comunicação SMTP - Na maioria das vezes se usa a porta"587", mas confirme com sua hospedagem a porta correta. $mail->SMTPSecure = false; // Define se é utilizado SSL/TLS - Mantenha o valor "false" $mail->SMTPAutoTLS = false; // Define se, por padrão, será utilizado TLS - Mantenha o valor "false" $mail->Username = 'emaildasuahospedagem.com.br'; // Conta de email existente e ativa em seu domínio $mail->Password = 'senhadoemaildasuahospedagem'; // Senha da sua conta de email que você fez dentro da sua hospedagem // DADOS DO REMETENTE $mail->Sender = "emaildasuahospedagem.com.br"; // Conta de email existente e ativa em seu domínio $mail->From = "emaildasuahospedagem.com.br"; // repita o mesmo e-mail $mail->FromName = "nome do site"; // Nome do site // DADOS DO DESTINATÁRIO $mail->AddAddress('[email protected]', 'seu nome'); // Aqui é o email que você quer que receba as mensagens do formulário //$mail->AddAddress('[email protected]'); // Define qual conta de email receberá a mensagem //$mail->AddCC('[email protected]'); // Define qual conta de email receberá uma cópia //$mail->AddBCC('[email protected]'); // Define qual conta de email receberá uma cópia oculta // Definição de HTML/codificação $mail->IsHTML(true); // Define que o e-mail será enviado como HTML $mail->CharSet = 'utf-8'; // Charset da mensagem // DEFINIÇÃO DA MENSAGEM $mail->Subject = "Formulário de Contato"; // Assunto da mensagem $mail->Body .= " Nome: ".$_POST['nome']."<br>"; // Texto da mensagem $mail->Body .= " E-mail: ".$_POST['email']."<br>"; // Texto da mensagem $mail->Body .= " Assunto: ".$_POST['assunto']."<br>"; // Texto da mensagem $mail->Body .= " Mensagem: ".nl2br($_POST['mensagem'])."<br>"; // Texto da mensagem // ENVIO DO EMAIL $enviado = $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); // Exibe uma mensagem de resultado do envio if ($enviado) { echo "<script>window.location='contato.php';alert('$_POST[nome], sua mensagem foi enviada com sucesso! Estaremos retornando em breve');</script>"; } else { echo "Não foi possível enviar o e-mail."; echo "<b>Detalhes do erro:</b> " . $mail->ErrorInfo; } contato.php <div id="formulario"> <form action="enviar.php" method="post"> <table width="80" border="0" cellspacing="5px"> <tbody> <tr> <td width="80">Nome:</td> <td><input name="nome" type="text" id="nome" size="30"></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" type="email" id="email" size="30"></td> </tr> <tr> <td>Assunto:</td> <td><input name="assunto" type="text" id="assunto" size="30"></td> </tr> <tr> <td>Mensagem:</td> <td><textarea name="mensagem" cols="45" rows="7" maxlength="300" id="mensagem"></textarea></td> </tr> <tr> <td>&nbsp;</td> <td align="right"><input name="btEnviar" type="submit" id="btEnviar" value="Enviar"></td> </tr> </tbody> </table> </form> </div> adicionado 10 minutos depois @luscas Valeu mesmo, muito obrigado é que já tinha mudado o formulário inteiro mas vou usar a sua dica sim em outro projeto.
  2. Boa tarde Estou finalizando um formulário de contato e me deparei com este erro: Fatal error: Call to a member function IsSMTP() on null in C:\Users\##########################\enviar.php on line 20 (20 $this->objmail->IsSMTP ();) Aparentemente o código está correto mas sempre retorna esta mesma mensagem que citei... alguém pode me ajudar a entender o que pode ser? Segue o código: <?php require_once 'PHPMailer/PHPMailerAutoload.php'; class Funcoes{ private $objmail; public function _construct(){ $this->$objmail = new PHPMailer(); } public function tratarCaracter($vlr,$tipo){ switch($tipo){ case 1: $rst = utf8_decode($vlr); break; case 2: $rst = htmlentities($vlr, ENT_QUOTES, "ISO-8859-1"); break; } return $rst; } public function enviarEmail($dados){ $this->objmail->IsSMTP(); $this->objmail->SMTPAuth = true; $this->objmail->SMTPSecure = 'tls'; $this->objmail->Port = 587; $this->objmail->Host = 'smtp.dominio.com.br'; $this->objmail->Username = '[email protected]'; $this->objmail->Password = 'password'; $this->objmail->ContentType = 'text/html; CharSet=utf-8'; $this->objmail->SetFrom('[email protected]', 'Titulo'); $this->objmail->AddAddress('[email protected]', nome - Recebe1'); $this->objmail->Subject = ''.$this->tratarCaracter($dados['assunto'], 1).''; $html = '<p><strong>Nome:</strong> ' .$this->tratarCaracter($dados['nome'], 1).'<br>'; $html .= '<strong>E-mail:</strong> ' .$dados['email'] .'<br>'; $html .= '<strong>Assunto:</strong> ' .$this->tratarCaracter($dados['assunto'], 1).'<br>'; $html .= '<strong>Mensagem:</strong><br>'; $html .= $this->tratarCaracter ($dados['mensagem'], 1) .'</p>'; $this->objmail->MsgHTML($html); if(!$this->objmail->Send()){ echo "Error" .$this->objmail->ErrorInfo; }else{ echo "Mensagem enviada"; } } } ?>
  3. DIF, quando coloco aspas dentro dos colchetes aparece esta mensagem de erro: syntax error, unexpected quoted-string and whitespace(T_encapsed_and_whitespace), expecting identifier (T_string) or variable(T_variable) or number(T_num_string). retirei os espaços e continua o problema Vou tentar usar o PHPMailer como você sugeriu e depois volto aqui pra dizer o que consegui
  4. Boa tarde pessoal Tenho um formulário de contato em PHP bem simples que estou usando para teste e ele não envia a mensagem, já usei o mesmo formulário antes e ele funcionava normalmente. estou fazendo os testes com uma hospedagem gratuita E recebo uma mensagem que há erro nesta linha: $enviar = mail($dest, ' contato do site', $mensagem, $nome, $email); Poderiam me ajudar a encontrar o erro? Segue o codigo: PHP - enviar.php <html> <head> </head> <?php $mensagem =" nome: $_POST[nome]; email: $_POST[email]; mensagem: $_POST[mensagem]"; $dest = "########@gmail.com"; $enviar = mail($dest, ' contato do site', $mensagem, $nome, $email); ?> <script>alert('Enviado com sucesso.');</script> <meta http-equiv="Refresh" content="0"; url="contatos.php"> </html> HTML - contato.php <form action="enviar.php" method="post"> <table width="80" border="0" cellspacing="5px"> <tbody> <tr> <td width="80">Nome:</td> <td><input name="nome" type="text" id="nome" size="30"></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" type="email" id="email" size="30"></td> </tr> <tr> <td>Mensagem:</td> <td><textarea name="mensagem" cols="45" rows="7" maxlength="300" id="mensagem"></textarea></td> </tr> <tr> <td>&nbsp;</td> <td align="right"><input type="submit"></td> </tr> </tbody> </table> </form>
  5. Valeu DiF Vou usar as suas dicas também, foram valiosas agora tá redondinho. muito obrigado
  6. Caique deu certo!! também tinha tentado isso antes mas sem efeito, mas a sua dica de trocar de posição a variável com o banco de dados é que foi o pulo do gato. Obrigado
  7. Estou com um problema que parece simples mas que empacou de vez um formulário de cadastro que estou tentando usar. Não encontra o banco de dados, já tentei muitas permissões tanto no windows quanto no próprio mysql e nada... código em php: <html> <head></head> <title>cadastrando</title> <body> <?php $con = mysqli_connect("127.0.0.1", "root", "vertrigo") or die("Não foi possível conectar com o servidor de dados!"); mysql_select_db ( "cadastro" , $con ) or die("Banco de dados não localizado!"); ?> <?php if($_GET['go'] == 'cadastrar'){ $nome = $_POST['nome']; $email = $_POST['email']; $user = $_POST['usuario']; $pwd = $_POST['senha']; if(empty($nome)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }elseif(empty($email)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }elseif(empty($user)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }elseif(empty($pwd)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }else{ $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario where usuario = '$user'")); if($query1 == 1){ echo "<script>alert('Usuário já existe.'); history.back();</script>"; }else{ mysql_query("insert into usuario(nome,email,usuario,senha) values ('$nome','$email','$user','$pwd')"); echo "<script>alert('Usuário cadastrado com sucesso.'); </script>"; echo "<meta http-equiv='refresh' content='0, url=cadastro.php'>"; } } } ?> </body> </html> Mensagem de Erro: (!) Atenção: mysql_select_db () espera que o parâmetro 2 seja recurso, objeto dado em C: \ Users \ Aloizio \ Serv \ www \ carros \ cadastrar.php on line 10 Pilha de chamadas #Tempo Memória Função Localização 10,0020 246480 {a Principal}( ) ... \ cadastrar.php : 0 20,0130 255264 Mysql_select_db () ... \ cadastrar.php : 10 Banco de dados não localizado!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...