Ir para conteúdo

POWERED BY:

Arquivado

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

Sander Luís

verificar banco de dados antes de proceder cadastro

Recommended Posts

assim pessoal; tenho esse script simples de cadastro de usuarios

 

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","root","");

$banco = mysql_select_db("login");
$nomepost = addslashes($_POST['nome']);
$emailpost = addslashes($_POST['email']);
$senhapost = addslashes($_POST['senha']);
if(empty($nomepost) || empty($emailpost) || empty($senhapost)){
print "<script>window.location.replace('cadastrar.php?msg=branco');self.location = 'cadastrar.php?msg=branco';</script>";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO login (id, nome, email, senha)
 VALUES (NULL, '$nomepost', '$emailpost', '$senhapost')");
 print " <script>window.location.replace('entrar.php?msg=cadastrado');self.location = 'entrar.php?msg=cadastrado';</script> "; 
}else{
print " <script>window.location.replace('cadastrar.php?msg=email');self.location = 'cadastrar.php?msg=email';</script> ";
}
} else {
if(isset($_GET['msg']))
	{
		if($_GET['msg']==email)
			echo '<div id="error"><p>E-mail Inválido.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
		if($_GET['msg']==branco)
			echo '<div id="error"><p>Preencha Todos Os Campos.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
	}
?>

<form id="form" class="cadastro" name="newuser" method="post" action="?act=gravar">
<label>Nome</label> <input class="form" type="text" name="nome" maxlength=40><br><br>
<label class="desc2">E-mail </label> <input class="form" type="text" name="email" ><br><br>
<label class="desc3">Senha </label> <input class="form" type="password" name="senha" maxlength=20><br><br>
<input class="submit" type="submit" value="Cadastrar">
</form>

<?

}

?>

 

o que tem que mudar é assim, quando faz o cadastro, ele simplesmente manda os dados ok para o banco mas não verifica se ja existe o e-mail lá, ja na area de login pede o e-mail e a senha

dae se eu cadastro 2 emails iguai dá erro diz e-mail invalido, mas o erro acomtese somente por que existe 2 e-mails iguais no banco de dados

 

como q faço para checar se ja está cadastrado o e-mail no banco de dados antes de enviar os dados??

dae se não existe cadastra normal e se ja existe retorna para a pagina cadastrar.php?msg=email

 

e aki no print "<script>window.location.replace('cadastrar.php?msg=branco');self.location = 'cadastrar.php?msg=branco';</script>";

 

tem como eu por um header em vez disso ae dae o link do header seria cadastrar.php?msg=branco

 

vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

ua um if para vereficar se existe o email

 

if{
$verifica = mysql_query("SELECT * FROM login WHERE email = '$email'")
			or die (mysql_error());
$contar = mysql_num_rows($verifica);
				if ($contar >='1'){
		echo "Este e-mail ja está cadastrado em nosso banco de dados!<br /><br />";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ouu vlw

 

sou novato em php consegui só ageitar esse script ae, mas me diz uma coisa, aonde q coloco o codigo q você mandou ae dentro? tem q ser depois de validar se é mesmo um e-mail q tem dentro do input e de mandar os dados ali em

 

if(filter_var($emailpost, FILTER_VALIDATE_EMAIL))
codigo aki
{  
 mysql_query("INSERT INTO login (id, nome, email, senha)
 VALUES (NULL, '$nomepost', '$emailpost', '$senhapost')");
 print " <script>window.location.replace('entrar.php?msg=cadastrado');self.location = 'entrar.php?msg=cadastrado';</script> "; 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo assim, você tem que ir colocando as validaçoes dentro dos "if, else e elseif", deichando o script que ira gravar os dados para o final. Ou seja, para o script gravar os dados tera que passar por todas as validaçoes, logo as validaçoes tem que vir antes do codigo que ira gravar os dados

 

if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "Informe um e-mail válido!";

}elseif{
$verifica = mysql_query("SELECT * FROM login WHERE email = '$email'")
			or die (mysql_error());
$contar = mysql_num_rows($verifica);
				if ($contar >='1'){
		echo "Este e-mail ja está cadastrado em nosso banco de dados!<br /><br />";
}else{ seu script que ira gravar os dados}

 

veja meu codigo que eu estou usando para um sistema de newsletter

 

<?php if(isset($_POST['news_cadastro']) && $_POST['news_cadastro'] == 'cadastra'){
$email = $_POST['email'];
$codigo = md5($email);

//verifica se o email não esta vazio
		if (empty($email)){
		echo "Digite seu e-mail!<br /><br />";

//verifica se o email é válido	
		}elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
		echo "Informe um e-mail válido!";

//verifica se ja existe um cadastro com este email
		}else{
$verifica = mysql_query("SELECT * FROM newsletter WHERE email = '$email'")
			or die (mysql_error());
$contar = mysql_num_rows($verifica);
				if ($contar >='1'){
		echo "Este e-mail ja está cadastrado em nosso banco de dados!<br /><br />";
				}else{

//se tiver tudo ok, cadastra no bd		
$cadastra = mysql_query("INSERT INTO newsletter (email, codigo, status) VALUES('$email','$codigo','inativo')")
			or die (mysql_error());

//verifica se foi inserido dados da tabela				
						if ($cadastra <='0'){
						echo "Erro ao cadastrar";
						}else{
						echo "Cadastro efetuado com sucesso!";


Compartilhar este post


Link para o post
Compartilhar em outros sites

assim, você pode coloar ele no lugar certo aki

 

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","xxx","xxx");

$banco = mysql_select_db("sandersi_log");
$nomepost = addslashes($_POST['nome']);
$emailpost = addslashes($_POST['email']);
$senhapost = addslashes($_POST['senha']);
if(empty($nomepost) || empty($emailpost) || empty($senhapost)){
print "<script>window.location.replace('cadastrar.php?msg=branco');self.location = 'cadastrar.php?msg=branco';</script>";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO login (id, nome, email, senha)
 VALUES (NULL, '$nomepost', '$emailpost', '$senhapost')");
 print " <script>window.location.replace('entrar.php?msg=cadastrado');self.location = 'entrar.php?msg=cadastrado';</script> "; 
}else{
print " <script>window.location.replace('cadastrar.php?msg=email');self.location = 'cadastrar.php?msg=email';</script> ";
}
} else {
if(isset($_GET['msg']))
	{
		if($_GET['msg']==email)
			echo '<div id="error"><p>E-mail Inválido.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
		if($_GET['msg']==branco)
			echo '<div id="error"><p>Preencha Todos Os Campos.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
	}
?>

<form id="form" class="cadastro" name="newuser" method="post" action="?act=gravar">
<label>Nome</label> <input class="form" type="text" name="nome" maxlength=40><br><br>
<label class="desc2">E-mail </label> <input class="form" type="text" name="email" ><br><br>
<label class="desc3">Senha </label> <input class="form" type="password" name="senha" maxlength=20><br><br>
<input class="submit" type="submit" value="Cadastrar">
</form>

<?

}

?>

 

olha eu tentei colocar como você falou mas na verdade a parte { seu script que ira gravar os dados}

 

é tudo isso:

 

if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO login (id, nome, email, senha)
 VALUES (NULL, '$nomepost', '$emailpost', '$senhapost')");
 print " <script>window.location.replace('entrar.php?msg=cadastrado');self.location = 'entrar.php?msg=cadastrado';</script> "; 
}else{
print " <script>window.location.replace('cadastrar.php?msg=email');self.location = 'cadastrar.php?msg=email';</script> ";
}
} else {
if(isset($_GET['msg']))
               {
                       if($_GET['msg']==email)
                               echo '<div id="error"><p>E-mail Inválido.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
                       if($_GET['msg']==branco)
                               echo '<div id="error"><p>Preencha Todos Os Campos.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
               }
?>

<form id="form" class="cadastro" name="newuser" method="post" action="?act=gravar">
<label>Nome</label> <input class="form" type="text" name="nome" maxlength=40><br><br>
<label class="desc2">E-mail </label> <input class="form" type="text" name="email" ><br><br>
<label class="desc3">Senha </label> <input class="form" type="password" name="senha" maxlength=20><br><br>
<input class="submit" type="submit" value="Cadastrar">
</form>

<?

}

?>

 

antes de gravar tem o validar e-mail eu exclui etc ageitei mas aparece erro nos else no dreamweaver

 

me ajuda por favor tenho q terminar o meu site e falta bastante vlww depois coloco um link pro seu site na home se você me ajudar aki

 

por favor celio da erro aki..

 

e ae?

 

pelo q eu vi esse codigo q você mandou dah certo mas naum consegui colocar dentro do meu script

Compartilhar este post


Link para o post
Compartilhar em outros sites

é, ia dar erro mesmo!

 

faz assim, tenta da forma que eu vou passar, ou me manda todos os arquivos do seu projeto para que eu possa ajeitar para você, não da pra mim testar porque tem outros arquivos vinculados.

 

veja que a validação se o campo esta vazio esta assim

 

if(empty($nomepost) || empty($emailpost) || empty($senhapost)){
print "<script>window.location.replace('cadastrar.php?msg=branco');self.location = 'cadastrar.php?msg=branco';</script>";
exit();
}

 

 

então é so colocar o meu codigo embaixo dele

 

if{
  $verifica = mysql_query("SELECT * FROM login WHERE email = '$email'")
  or die (mysql_error());
  $contar = mysql_num_rows($verifica);
      if ($contar >='1'){
         echo "Este e-mail ja está cadastrado em nosso banco de dados!<br /><br />";
 }

 

ou você pode usar o meu codigo com else em lugar do if dando continuidade ao primeiro codigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah coloquei como você tinha falado tudo ok mas ainda dar erro, cade coloquei else tbm continuou igual

 

aki vai os arquivos, o codigo completo é simples, é mais para teste, ainda falta eu validar isso ae e criptografar a senha..

 

<?

if($_GET[ 'act' ]=="gravar") {

$conn = mysql_connect("localhost","root","");

$banco = mysql_select_db("login");
$nomepost = addslashes($_POST['nome']);
$emailpost = addslashes($_POST['email']);
$senhapost = addslashes($_POST['senha']);
if(empty($nomepost) || empty($emailpost) || empty($senhapost)){
print "<script>window.location.replace('cadastrar.php?msg=branco');self.location = 'cadastrar.php?msg=branco';</script>";
exit();
}
if(filter_var($emailpost, FILTER_VALIDATE_EMAIL)){

 mysql_query("INSERT INTO login (id, nome, email, senha)
 VALUES (NULL, '$nomepost', '$emailpost', '$senhapost')");
 print " <script>window.location.replace('entrar.php?msg=cadastrado');self.location = 'entrar.php?msg=cadastrado';</script> "; 
}else{
print " <script>window.location.replace('cadastrar.php?msg=email');self.location = 'cadastrar.php?msg=email';</script> ";
}
} else {
if(isset($_GET['msg']))
	{
		if($_GET['msg']==email)
			echo '<div id="error"><p>E-mail Inválido.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
		if($_GET['msg']==branco)
			echo '<div id="error"><p>Preencha Todos Os Campos.</p></div><style>.cadastro {margin-top: -28px;}.submit {margin-top: 13px;}</style>';
	}
?>

<form id="form" class="cadastro" name="newuser" method="post" action="?act=gravar">
<label>Nome</label> <input class="form" type="text" name="nome" maxlength=40><br><br>
<label class="desc2">E-mail </label> <input class="form" type="text" name="email" ><br><br>
<label class="desc3">Senha </label> <input class="form" type="password" name="senha" maxlength=20><br><br>
<input class="submit" type="submit" value="Cadastrar">
</form>

<?

}

?>

 

aqui não precisa de outras paginas não pq a pagina q redireciona com o <script>window.location.replace('cadastrar.php?msg=email');self.location = 'cadastrar.php?msg=email';</script>

é simplesmente a mesma pagina de cadastro só q ela tem o meu template q tem um include para este cadastro aki...

 

o codigo de cadastro em si é apenas este........

 

o ?act=gravar é nesta mesma pagina, se tem tudo prenchido apenas executa o comando q manda para o db,

 

aki como você falou deu erro igual, se você tem o Dreamweaver, testa ae, veja qvai dar erro no else ou na ultima linha do codigo, isso ae simplesmete deve ser algum ponto errado etc q aki quando eu tava ageitando o sistema tinha apenas um ; fora do lugar e acusava varios erros no script

 

veja aki um demo dele com o template, só falta validar ae o cadastro e criptografar a senha, ageitar o menu, os links o rodapé, os robots, htaccess, formulario de contato com resposta automatica q falta ageitar o css dele e ai vai ..... tenho q fazer no maximo ate dia 10 era para tar pronto mas dae apareceu esses errinhos ae.....

 

http://sandersites.com.br/demophp/

 

o site tah em construção ignorem a home o template dele vai ser o q estou fazendo no demophp

 

se der tudo certo vai ser uma vitoria!!! kkkkkkkk fora ainda ter q dar uma organizada para o IE q as vezes dah uma distorcida no template e tbm no opera q agora me aperece com erro no position: absolute;

 

dae sim....

 

vejam quando clica em login ou cadastrar o formulario desse para baixo como se tasse em baixo das outras divs.. mas ja resolvo...... isso no opera

vlw

 

sobre o erro no opera acho q tem q tirar os <br> de dentro da div com position absolute, parece q é isso o erro delas são se tornarem absolute no opera, isso eu vi em um forum em igles do opera... vou testar aki amanhã

 

ja aki sobre o post #6 kkkkkkkk tem senha e tudo..... aina bem q vi mudei tudo aki tabela user e senha kkkkkkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 03/02/2012 at 20:39, Célio A. disse:

estranho, eu testei e deu tudo certo.

 

mas se ta resolvido beleza.

:thumbsup: tah mega beleza fiz ate para enviar os dados para o e-mail de quem cadastrou e tbm um outro com a mensagem novo usuario cadastrado etc para o meu e-mail.....

 

 

agora uma duvida, como q coloco tags html no e-mail?

 

aki tah assim:

 

  if(!empty($_POST)){
$cab = "From: Sander Sites <Contato@sandersites.com.br>\n";
   $mensagem =  "Obrigado Por Cadastrar-se Em Nosso Site!\n";
$mensagem.= "Seguem Seus Dados De Login:\n\n";
$mensagem.= "Nome: ".$_POST['nome']." \n";
$mensagem.= "E-mail: ".$_POST['email']." \n";
$mensagem.= "Senha: ".$_POST['senha']." \n";

if(mail("".$_POST['email']."", "".$_POST['nome'].", Seu Cadastro Foi Realizado Com Sucesso! - SanderSites.com.br", $mensagem,$cab)){}
} 

  if(!empty($_POST)){
$cab = "From: ".$_POST['nome']." <".$_POST['email'].">\n";
   $mensagem = "Novo Usuario Cadastrado: ".$_POST['nome']."\n\n";
$mensagem.= "Nome: ".$_POST['nome']." \n";
$mensagem.= "E-mail: ".$_POST['email']." \n";
$mensagem.= "Senha: ".$_POST['senha']." \n";

if(mail("contato@sandersites.com.br", "Novo Usuario Cadastrado: ".$_POST['nome']."", $mensagem,$cab)){}
} 

 

eu queria formatar os textos da $mensagem tem como? tentei por as tags html e naum deu certo....

 

pq q nem o site webs.com ele manda uma pagina html com baner etc para o meu e-mail quando se cadastro etc

 

tem como vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha, eu vou postar aqui parte do codigo de um sistema de newsletter que faz exatamente oque você quer. Dai eu explico as funçoes:

 

defina variaveis nome, email, e senha dai você coloca elas no corpo da mensagem.

use uma varavel date como no exemplo que eu postei, ela impedira (ou diminuira) o span.

como o corpo da mensagem esta dentro de aspas duplas sempre use contra barra para fazer o escape quando tiver que usar as aspas duplas na mensagem.

certifique que no cabeçalho de sua pagina tenha esta linha

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

dai é só colocar no header, este content-type é necessario para usar o html

 

$data = date('d/m/Y H:i');
$msn = "
Seu email foi cadastrado para receber as novidades do Portal Assaí Gospel.
<br />
       Para confirmar o seu cadastro clique no link abaixo.
<br />
<br />
<a href=\"http://www.assaigospel.com.br/newsletter/comfirma.php?email=$email&codigo=$codigo\">Click aqui para comfirmar seu cadastro</a>
<br />
<br />
Se você não se cadastrou em nosso site, por favor desconsidere este e-mail!
<br />
Atenciosamente Assaí Gospel
<br />
<br />
Enviado em: $data
";

$para = 'ninjanetvendas@gmail.com';
$assunto = 'Nova assinatura de boletim';
$headers = "From: $para\n";
$headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";

mail($email, $assunto, $msn, $headers);

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 03/02/2012 at 23:24, Célio A. disse:

olha, eu vou postar aqui parte do codigo de um sistema de newsletter que faz exatamente oque você quer. Dai eu explico as funçoes:

 

defina variaveis nome, email, e senha dai você coloca elas no corpo da mensagem.

use uma varavel date como no exemplo que eu postei, ela impedira (ou diminuira) o span.

como o corpo da mensagem esta dentro de aspas duplas sempre use contra barra para fazer o escape quando tiver que usar as aspas duplas na mensagem.

certifique que no cabeçalho de sua pagina tenha esta linha

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

dai é só colocar no header, este content-type é necessario para usar o html

 

$data = date('d/m/Y H:i');
$msn = "
Seu email foi cadastrado para receber as novidades do Portal Assaí Gospel.
<br />
       Para confirmar o seu cadastro clique no link abaixo.
<br />
<br />
<a href=\"http://www.assaigospel.com.br/newsletter/comfirma.php?email=$email&codigo=$codigo\">Click aqui para comfirmar seu cadastro</a>
<br />
<br />
Se você não se cadastrou em nosso site, por favor desconsidere este e-mail!
<br />
Atenciosamente Assaí Gospel
<br />
<br />
Enviado em: $data
";

$para = 'ninjanetvendas@gmail.com';
$assunto = 'Nova assinatura de boletim';
$headers = "From: $para\n";
$headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";

mail($email, $assunto, $msn, $headers);

 

ae celio vlw por ajudar...

 

eu procurei melhor e fiz assim para mandar html

 

<?php
/* Destinatário */
$to  = "sanderluis@hotmail.com"; 

/* assunto */
$subject = "Teste2";

/* mensagem */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
 <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
 <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
 <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Atenção se você pretende inserir numa variável uma mensagem html mais
complexa do que essa sem precisar escapar os carateres
necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* headers adicionais */
$headers .= "From: Sander Sites <Contato@sandersites.com.br>\r\n";
/* Enviar o email */
mail($to, $subject, $message, $headers);
?>

 

funciona q uma beleza, manda na hora, funciona até de mais pq manda 2 mensagens iguais pro destinario kkkkkkkkkkkkkk

 

oque pode ser isso????? vlwww

 

e soubre usar a sintaxe heredoc como tem ae no code oque é essa sintaxe sabe me dizer? vlww

 

kkkkkkkkkk

 

tah mandando 3 mensagens iguais em vez de uma kkkkkkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Heredoc.

 

O código está aparentemente certo, mas, em algum momento, você está o executando mais de uma vez. Será que não é na hora de chamar a ação que o envia?

 

Dê uma olhada aqui. Pode te ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 04/02/2012 at 01:13, Guilherme Oderdenge disse:

Heredoc.

 

O código está aparentemente certo, mas, em algum momento, você está o executando mais de uma vez. Será que não é na hora de chamar a ação que o envia?

 

Dê uma olhada aqui. Pode te ajudar.

 

 

pois é eu apenas coloquei o codigo do fernandobecker dentro de <? codigo aki ?>

 

o 1º exemplo funcionou, ja o segundo dava erro na linha mail("contato@fernandobecker", "Assunto", "Texto", $headers);

 

dae eu fiz isso com o codigo meu anterior para testar:

<?
if($_GET[ 'acao' ] == "enviar") {
/* Destinatário */
$to  = "sanderluis@hotmail.com"; 

/* assunto */
$subject = "Teste2";

/* mensagem */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
 <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
 <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
 <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Atenção se você pretende inserir numa variável uma mensagem html mais
complexa do que essa sem precisar escapar os carateres
necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* headers adicionais */
$headers .= "From: Sander Sites <Contato@sandersites.com.br>\r\n";
/* Enviar o email */
mail($to, $subject, $message, $headers);
}
?>
<form  method="post" action="?acao=enviar">
<input type="submit" value=" enviar ">
</form>

 

funcionou perfeito mas dae tem q clicar no Button ou acessar email.php?acao=enviar

 

agora me diz, tem como eu chamar o ?acao=enviar no proprio php na hora certa? pq eu vou colocar pra preencher os dados etc do cadastro etc e se tudo der ok dae faz o ?acao=enviar e se der erro dae exibe outro alerta

 

simplesmente tem omo chamar o ?acao=enviar em php?

 

pq se eu colocar como eu coloquei ae em cima funciona perfeito quando clico ou aceso o link ja com o ?acao=enviar no final do link e se eu deixar normal o codigo direto sem o if($_GET[ 'acao' ] == "enviar") { ele envia de 2 a 3 mensagens iguais de uma só vez... vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim, tem o formulario de cadastro, campos: nome, email, senha.

se naum tah preenchido nada aparece E-mail incorreto! Campo nome em branco! Campo senha em branco! se ja tem o e-mail cadastrado tbm volta dizendo q esse e-mail ja esta cadastrado

e assim vai, valida os 3 campos, ate q fiquem os 3 ok, depois q os tres estão ok dae ativa o script q grava os dados no db e depois de gravar manda 2 e-mails, um para mim informando q teve um novo usuario cadastrado e um para quem se cadastrou mostrando os dados de login etc

 

ae tudo ok beleza funcionando

 

mas na parte de enviar os e-mails, depois de ter cadastrado no db eu coloquei assim:

 

  if(!empty($_POST)){
$cab = "From: Sander Sites <Contato@sandersites.com.br>\n";
   $mensagem =  "Obrigado Por Cadastrar-se Em Nosso Site!\n";
$mensagem.= "Seguem Seus Dados De Login:\n\n";
$mensagem.= "Nome: ".$_POST['nome']." \n";
$mensagem.= "E-mail: ".$_POST['email']." \n";
$mensagem.= "Senha: ".$_POST['senha']." \n";

if(mail("".$_POST['email']."", "".$_POST['nome'].", Seu Cadastro Foi Realizado Com Sucesso! - SanderSites.com.br", $mensagem,$cab)){}
} 

  if(!empty($_POST)){
$cab = "From: ".$_POST['nome']." <".$_POST['email'].">\n";
   $mensagem = "Novo Usuario Cadastrado: ".$_POST['nome']."\n\n";
$mensagem.= "Nome: ".$_POST['nome']." \n";
$mensagem.= "E-mail: ".$_POST['email']." \n";
$mensagem.= "Senha: ".$_POST['senha']." \n";

if(mail("contato@sandersites.com.br", "Novo Usuario Cadastrado: ".$_POST['nome']."", $mensagem,$cab)){}
} 

 

ae beleza tudo funcionando mas oq eu quero é adaptar esses emails ae para poder por as tags html dentro tipo <html> <head><body><div><center> <b> <i> <strong> e assim vai por isso q tava testando os metodos assima q enviam em html, dae se eles funcionacem bem eu trocava esses aki de cima pelo q dese certo e enviase html...

 

mas como eu disse todos os q enviam em html q eu testei nos posts assima não enviam apenas um e-mail mas sim 2 para o mesmo remetente, se eles funcionasem e enviase corretamente oq eu mandava e não oq eles queriam kkk dae eu trocava o codigo q eu postei agora por 2 daqueles, sendo que um é enviado para quem cadastrou e um é enviado para mim..

 

entendeu????/ resumindo quero adaptar esse script q postei para html e não somente texto... vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é fácil. Tente o seguinte:

 

  if(!empty($_POST)){
       $cab = "From: Sander Sites <Contato@sandersites.com.br>\n";
       $cab .= "MIME-Version: 1.0\n"; 
       $cab .= "Content-type: text/html; 
       $mensagem =  "Obrigado Por Cadastrar-se Em Nosso Site!\n";
       $mensagem.= "Seguem Seus Dados De Login:\n\n";
       $mensagem.= "Nome: ".$_POST['nome']." \n";
       $mensagem.= "E-mail: ".$_POST['email']." \n";
       $mensagem.= "Senha: ".$_POST['senha']." \n";

       if(mail("".$_POST['email']."", "".$_POST['nome'].", Seu Cadastro Foi Realizado Com Sucesso! - SanderSites.com.br", $mensagem,$cab)){}
} 

  if(!empty($_POST)){
       $cab = "From: ".$_POST['nome']." <".$_POST['email'].">\n";
       $cab .= "MIME-Version: 1.0\n"; 
       $cab .= "Content-type: text/html; charset=iso-8859-1\n"; 
       $mensagem = "Novo Usuario Cadastrado: ".$_POST['nome']."\n\n";
       $mensagem.= "Nome: ".$_POST['nome']." \n";
       $mensagem.= "E-mail: ".$_POST['email']." \n";
       $mensagem.= "Senha: ".$_POST['senha']." \n";

       if(mail("contato@sandersites.com.br", "Novo Usuario Cadastrado: ".$_POST['nome']."", $mensagem,$cab)){}
} 

 

Em resumo, eu adicionei o seguinte:

       $cab .= "MIME-Version: 1.0\n"; 
       $cab .= "Content-type: text/html; 

 

Esses conteúdos farão com que você consiga inserir HTML em seus e-mails.

 

Teste e diga se conseguiu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ouuuuuuu blzaaaaaa

 

testei apenas colocando

$mensagem = "<b>Novo Usuario Cadastrado:</b>\n\n";

 

e apareceu la em negrito belezaa

 

agora posso apagar os

        $mensagem = "Novo Usuario Cadastrado: ".$_POST['nome']."\n\n";
       $mensagem.= "Nome: ".$_POST['nome']." \n";
       $mensagem.= "E-mail: ".$_POST['email']." \n";
       $mensagem.= "Senha: ".$_POST['senha']." \n";

e deixar só assim:

 

$mensagem = "<b>Novo Usuario Cadastrado:</b> ".$_POST['nome']."<br/>
<b>Nome: </b>".$_POST['nome']." <br/>
<b>E-mail: </b>".$_POST['email']." <br/>
<b>Senha: </b>".$_POST['senha']." <br/>
";

 

ou até mesmo por

 

$mensagem = "
<html>
<head>
</head>
<body>
<b>Novo Usuario Cadastrado:</b> ".$_POST['nome']."<br/>
<b>Nome: </b>".$_POST['nome']." <br/>
<b>E-mail: </b>".$_POST['email']." <br/>
<b>Senha: </b>".$_POST['senha']." <br/>
</body>
</html>
";

 

e posso por um css externo caso seja como o ultimo exemplo ou tem q ser dentro de

<style></style>

ou não dá nenhum dos dois?

 

ouvi falar q é melhor fazer com tabelas pq alguns leitores de e-mail não interpretam bem divs ...vlw

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.