Ir para conteúdo

POWERED BY:

Arquivado

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

Aderson Designer

Código de envio de formulário em PHP

Recommended Posts

Olá pessoal Obrigado pela ajuda!

estou com esse problema já alguns meses.

 

pessoal tenho um cadastro para ter acesso a are restrita com login e senha,

quando o usuário preenchi o formulário o mesmo é enviado para o banco de dados e enviado um link

para o e-mail do usuário para ele ativar o cadastro.

O problema:

quando o e-mail do usuário é do Gmal/Hotmail/Bol e outros ele nunca recebe este e-mail,

gostaria da ajuda de vocês logo a baixo esta o código utilizado:

 

 

<?php
include("config.php");

if (isset($_POST['login'])){

   //pega a sessão id do usuario
   session_start();
   $sessao = session_id();
   $login = $_POST['login'];
   $senha = $_POST['senha'];
   $email = $_POST['email'];

   $sql_busca = "SELECT * FROM user WHERE login = '$login'";
   $exe_busca = mysql_query($sql_busca) or die (mysql_error());
   $num_busca = mysql_num_rows($exe_busca);

   $sql_busca2 = "SELECT * FROM user WHERE email = '$email'";
   $exe_busca2 = mysql_query($sql_busca2) or die (mysql_error());
   $num_busca2 = mysql_num_rows($exe_busca2);

   //Verifica se os campos estão preenchidos
   if ($_POST['login'] == "" || $_POST['senha'] == "" || $_POST['senha2'] == "" || $_POST['email'] == ""){
      $ac[] = "Por favou preencha todos os campos corretamente.";
   }
   //Verifica se ja existe o login
   if ($num_busca > 0){
      $ac[] = "Esse login já esta sendo usado por outro usuario.";
   }
   //Verifica se ja existe o e-mail
   if ($num_busca2 > 0){
      $ac[] = "Esse e-mail já esta sendo usado por outro usuario.";
   }
   //Verifica se o e-mail esta correto
   if (!ereg("@.", $_POST['email'])){
      $ac[] = "E-mail invalido.";
   }
   //Verifica se as duas senha são diferente
   if ($_POST['senha'] != $_POST['senha2']){
      $ac[] = "Verifique se as duas senha estão correta.";
   }
   //Verifica se todas estão corretas
   if (!isset($ac)){
	  //Inclui o cadastro no mysql
	  $sql_inclu = "INSERT INTO user(login, senha, email, sessao) VALUES
	                ('$login', '$senha', '$email', '$sessao')";
	  $exe_inclu = mysql_query($sql_inclu) or die (mysql_error());
	  
	  $topico = "Registro $nome_site";
	  $mensagem = "<html>";
	  $mensagem .= "<body>";
	  $mensagem .= "Olá $login\r\n";
	  $mensagem .= "<br>Você efetuou um Registro no $nome_site.</br>";
	  $mensagem .=	"<br>Login: $login";
	  $mensagem .=	"<br>Senha: $senha";
	  $mensagem .=	"<br>Ativar conta <a href='$site/active.php?ac=$sessao'>$site/active.php?ac=$sessao</a></br>";
	  $mensagem .=	"</body>";
	  $mensagem .=	"</html>";
	  $headers = "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	  $headers .= "From: $nome_site <$email>\r\n";
	  $ac[] = "Cadastro efetuado com sucesso, verifique seu e-mail para ativa a conta.";
	  //enviar para o email o login, senha e o codigo de ativação
	  mail($email, $topico, $mensagem, $headers);
   }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style2 {font-size: 13px}
-->
</style>
</head>

<body>
<?php
if (isset($ac)){
   for($i=0;$i<count($ac);$i++){
      echo "<li>".$ac[$i];
   }
}
?>
<form id="form1" name="form1" method="post" action="<? $_SERVER['PHP_SELF']?>">
  <table width="100%" border="0">
    <tr>
      <td colspan="2"><div align="center"><strong>Cadastro</strong></div></td>
    </tr>
    <tr>
      <td width="13%"><span class="Style2">Login:</span></td>
      <td width="87%"><span class="Style2">
        <label>
        <input name="login" type="text" id="login" />
        </label>
      </span></td>
    </tr>
    <tr>
      <td><span class="Style2">Senha:</span></td>
      <td><span class="Style2">
        <label>
        <input name="senha" type="password" id="senha" />
        </label>
      </span></td>
    </tr>
    <tr>
      <td><span class="Style2">Repetir senha: </span></td>
      <td><span class="Style2">
        <label>
        <input name="senha2" type="password" id="senha2" />
        </label>
      </span></td>
    </tr>
    <tr>
      <td><span class="Style2">E-mail:</span></td>
      <td><span class="Style2">
        <label>
        <input name="email" type="text" id="email" />
        </label>
      </span></td>
    </tr>
    <tr>
      <td> </td>
      <td><span class="Style2">
        <label>
        <input type="submit" name="Submit" value="Enviar" />
        </label>
      </span></td>
    </tr>
  </table>
  <p> </p>
</form>
</body>
</html>

esse é o código do config.php caso seja necessário

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$host = "localhost"; //Servidor do mysql
$user = "user_banco"; //Usuario do banco de dados
$senha = "senha_banco"; //senha do banco de dados
$db = "nome_banco"; //banco de dados
$nome_site = "Aderson Designer - Criação e Administração de Site"; //Nome do site
$email = "contato@adersondesigner.com"; //E-mail do administrador
$site = "http://www.adersondesigner.com/v03/sistema"; //Seu site n se esquece de bota o http://

mysql_connect($host, $user, $senha) or die (mysql_error());
mysql_select_db($db) or die (mysql_error()); 
?>

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas procurei sim,

acessei o site phpmailer.worxware.com >> cliquei em https://github.com/Synchro/PHPMailer

 

apareceu uma lista de arquivos>> fiz o dowmload

 

como uso esse arquivo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora que você baixou estraia e divirta-se explorando as pastas test,examples e docs

Compartilhar este post


Link para o post
Compartilhar em outros sites


/ ************************************************* ******************

* O site http://phpmailer.codeworxtech.com/'>http://phpmailer.codeworxtech.com/ agora carrega um pouco *

* Anúncios através da rede Google Adsense. Por favor, visite *

* Os sites de anunciantes e nos ajudar a compensar alguns de nossos custos . *

* Graças .... *

************************************************** ****************** /

 

PHPMailer

Completa Classe Email Transferência destaque para PHP

==========================================

 

Versão 5.0.0 ( 02 de abril de 2009 )

 

Com o lançamento desta versão , estamos iniciando uma nova versão de numeração

sistema para diferenciar da versão PHP4 de PHPMailer .

 

O mais notável neste lançamento é objeto totalmente código orientado .

 

Agora temos disponível o PHPDocumentor ( phpdocs ) documentação. isto é

separar a transferência regular para manter o tamanho dos arquivos para baixo. Por favor, veja o

baixar área de http://phpmailer.codeworxtech.com .

 

Também criamos um novo script de teste (veja / test_script ) que você pode usar

direito fora da caixa . Copie a pasta / test_script diretamente ao seu servidor (em

a mesma estrutura ... com class.phpmailer.php e class.smtp.php na

pasta acima dela. Em seguida, inicie o script de teste com :

http://www.yourdomain.com/phpmailer/test_script/index.php

a partir deste script, você pode testar as configurações do servidor de mail () , sendmail (ou

qmail ) e SMTP. Este lhe enviaremos um e-mail amostra (usando contents.html para

o corpo de e-mail ) e dois anexos. Um dos dispositivos é utilizado como um inline

imagem para demonstrar como PHPMailer irá detectar automaticamente se os anexos são

da mesma fonte que os gráficos incorporados e incluem apenas uma versão. Depois de clicar em

no botão Enviar, os resultados serão exibidos , incluindo qualquer debug SMTP

informações e status de envio . Nós também irá exibir uma versão do script que

você pode cortar e colar para incluir em seus projetos. Divirta-se!

 

Versão 2.3 ( 08 de novembro de 2008 )

 

Nós removemos o / phpdoc dos downloads. Toda a documentação está agora em

site da http://phpmailer.codeworxtech.com .

 

O phpunit.php foi atualizado para suportar PHP5 .

 

Para todas as outras alterações e notas , consulte o changelog .

 

Doações são aceitas pelo PayPal com nosso id " paypal@worxteam.com " .

 

Versão 2.2 (15 Julho 2008)

 

- Veja o changelog .

 

Versão 2.1 ( 04 de junho de 2008 )

 

Com este lançamento , estamos anunciando que o desenvolvimento do PHPMailer para PHP5

será o nosso foco a partir desta data . Implementamos todas as melhorias

e correções da versão mais recente do PHPMailer para PHP4 .

 

Muito mais importante , porém, é que esta versão do PHPMailer ( v2.1 ) é

totalmente testado com erro E_STRICT verificação habilitado .

 

** Nota: Nós temos uma nova variável de idioma para assinado digitalmente EMAILS S / MIME.

SE VOCÊ PODE AJUDAR COM outros idiomas além do inglês e espanhol , seria

Apreciados.

 

Temos agora adicionado funcionalidade S / MIME ( capacidade para assinar digitalmente e-mails ) .

OBRIGADO GRANDE " sergiocambra " por postar este patch em novembro de 2007.

A funcionalidade de " e-mails assinados ", acrescenta o método Sign para passar a chave privada

nome do arquivo ea senha para lê-lo e, em seguida, e-mail será enviado com

do tipo de conteúdo multipart / assinado e com a assinatura digital anexada.

 

Uma breve nota sobre E_STRICT :

 

- Em cerca de metade dos ambientes de teste a versão de desenvolvimento foi submetido

para , um erro foi jogado para as funções date ( ) ( usados ​​na linha 1565 e 1569 ) .

Este não é um erro PHPMailer , é o resultado de um configurado incorretamente

Instalação PHP5 . A correção é para modificar o arquivo ' php.ini' e incluir o

date.timezone = America / New York

directiva ( para o seu próprio fuso horário do servidor)

- Se você receber esse erro, e são incapazes de acessar o arquivo php.ini , não há

uma solução alternativa. No seu script PHP , adicione

date_default_timezone_set (' America / Toronto ');

 

* Não tente usar

$ myVar = date_default_timezone_get ();

como um teste, ele irá lançar um erro.

 

Incluímos também mais arquivos de exemplo para mostrar o uso de " sendmail ", "mail ()" ,

"smtp " e " gmail " .

 

Estamos também à procura de mais programadores para se juntar a equipe de desenvolvimento voluntário.

Se você tem interesse nisso, por favor nos avise .

 

Divirta-se!

 

 

Versão 2.1.0beta1 & beta2

 

por favor , note que este é um software BETA

** NÃO USE ESTE NA PRODUÇÃO OU PROJETOS AO VIVO

DESTINA RESTRITA PARA TESTE

 

** NOTA:

 

A partir de novembro de 2007, PHPMailer tem uma nova equipe do projeto liderado pela indústria

veterano Andy Prevost ( codeworxtech ) . O primeiro lançamento em mais de dois

anos incidirá sobre correções , acrescentando melhorias de facilidade de uso , fornecer

compatibilidade básica com o PHP4 e PHP5 usando retrocompatibilidade PHP5

recursos. A nova versão está prevista antes do final do ano de 2007 que irá fornecer

compatibilidade total com PHP4 e PHP5 , bem como mais correções de bugs.

 

Estamos à procura de desenvolvedores do projeto para ajudar na restauração da PHPMailer para

sua posição de liderança . Nossos objetivos são simplificar o uso do PHPMailer , fornecer

boa documentação e exemplos, e manter compatibilidade com versões anteriores para o nível

1.7.3 padrões .

 

Se você estiver interessado em ajudar , visite http://sourceforge.net/projects/phpmailer

e indicar o seu interesse .

 

**

 

http://phpmailer.sourceforge.net/

 

Este software está licenciado sob a LGPL. Por favor, leia LICENÇA para obter informações sobre o

disponibilidade de software e de distribuição .

 

Características de Classe :

- Enviar e-mails com vários OT , CCS, CBCs e RESPOSTA - OT

- Servidores SMTP redundantes

- Multipart / e-mails alternativos para os clientes de email que não lêem e-mail HTML

- Suporte para 8bit , base64 , binário e codificação quoted -printable

- Usa os mesmos métodos que o componente muito popular AspEmail servidor ativo (COM)

- Autenticação SMTP

- Suporte ao idioma nativo

- Quebra de linha, e muito mais!

 

Por que você pode precisar dele :

 

Muitos desenvolvedores PHP utilizar e-mail no seu código . A única função PHP

que suporta esta é a função mail (). No entanto , ele não expõe

qualquer um dos recursos mais populares que muitos clientes de e-mail usam hoje em dia como

E-mails e anexos com base em HTML . Há duas proprietárias

ferramentas de desenvolvimento por aí que têm toda a funcionalidade incorporada

fácil de usar classes: AspEmail (tm) e AspMail . Ambos

programas são componentes COM disponíveis apenas no Windows. Eles são também uma

pouco caro para projetos menores.

 

Desde que eu faço desenvolvimento Linux Ive perdeu essas ferramentas para o meu código PHP.

Então eu construí uma versão mim mesmo que implementa os mesmos métodos ( objeto

chama ) que os componentes baseados no Windows fazer. É open source e

Licença LGPL permite que você coloque a classe no seu PHP proprietária

projetos.

 

 

Instalação:

 

Copie class.phpmailer.php em ​​seu include_path php.ini. Se você é

usando o mailer SMTP coloque class.smtp.php em ​​seu caminho também.

No diretório do idioma que você vai encontrar vários arquivos como

phpmailer.lang - en.php . Se você olhar para a direita antes da extensão php .

que há duas letras . Estes representam o tipo de linguagem do

arquivo de tradução . Por exemplo, " en" é o arquivo de Inglês e "br " é

o arquivo Português . Escolha o arquivo que melhor se encaixa com o seu idioma

e colocá-lo no PHP incluir caminho . Se o seu idioma é o Inglês

então você não tem nada mais a fazer. Se é um idioma diferente

você deve apontar PHPMailer para a tradução correta . Para fazer isso, chamar

o método PHPMailer SetLanguage assim:

 

/ / Para carregar a versão em Português

$ mail- > SetLanguage ( "br ", " / opcional / path / to / language / diretório / ");

 

É isso aí. Agora você deve estar pronto para usar PHPMailer !

 

 

Um exemplo simples:

 

<? php

require ( " class.phpmailer.php ");

 

$ mail = new PHPMailer ();

 

$ mail- > IsSMTP () / / set mailer usar SMTP

$ mail- > Host = " smtp1.example.com ; smtp2.example.com " / / especificar servidor principal e de backup

$ mail- > SMTPAuth = true / / Ligue autenticação SMTP

$ mail- > Username = " JSwan " / / nome de usuário SMTP

$ mail- > Password = " segredo " / / senha de SMTP

 

$ mail- > From = " from@example.com ";

$ mail- > FromName = " Mailer ";

$ mail- > AddAddress ( " josh@example.net ", " Josh Adams ");

$ mail- > AddAddress ( " ellen@example.com " ) / / nome é opcional

$ mail- > AddReplyTo ( " info@example.com ", "Informação ");

 

$ mail- > WordWrap = 50; / / set palavra embrulhar 50 caracteres

$ mail- > AddAttachment ("/ var / tmp / file.tar.gz " ) / / adicionar anexos

$ mail- > AddAttachment ("/ tmp / imagem.jpg ", " new.jpg " ) / / nome opcional

$ mail- > IsHTML (true ) / / set formato e-mail para HTML

 

$ mail- > Subject = "Aqui é o assunto" ;

$ mail- > Body = " Este é o corpo <b> mensagem HTML em negrito </ b> ";

$ mail- > AltBody = "Este é o corpo de texto simples para clientes de correio não-HTML ";

 

if (! $ mail- > Send ( ) )

{

echo " A mensagem não pôde ser enviada <p> . ";

echo " Mailer erro:" . $ mail- > ErrorInfo ;

exit;

}

 

echo " Mensagem foi enviada ";

>

 

CHANGELOG

 

veja changelog.txt

 

Download: http://sourceforge.net/project/showfiles.php?group_id=26031

 

Andy Prevost

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.