Ir para conteúdo

POWERED BY:

Arquivado

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

Andreia Regina

Preciso de com script de "lembrar senha"

Recommended Posts

Olá Pessoal!

 

Peguei aqui no imasters um código para lembrar senha e fiz algumas modificações para suprir a minha necessidade, só que ele me dá a seguinte mensagem de erro:

 

Parse error: parse error, unexpected T_IF in /home/httpd/sisflex.com.br/html/extrato/lembrar.php on line 26

PHP [/tr][tr]

<?PHP

$nomedosite = "nome do site";

$linkdosite = "http://www.dominio.com.br";

 

function formatoemail($email)

{

if(ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$",$email))

{

return 1;

}

else

{

return 2;

}

}

if ($submit){ #Verificar se o Formulario foi enviado !!

if( $matricula == '' ) $erroStr .= '$nome';

if( $cpf == '' ) $erroStr .= '$nome';

if(formatoemail($email)!=1) $erroStr .= '$email';

 

if (!$erro){ #Senão exite erros ! Procura o email no banco de dados

 

require_once('conexao.php');

$sql = mysql_query("SELECT * FROM tb_associados WHERE matricula = '$matricula' AND cpf = '$cpf'");

$total = mysql_num_rows($sql); # Conta quantos emails foram encontrados na busca -- query!

 

//LINHA QUE APARECE O ERRO É ESTA:

if ($total == 1){ /* Se o total for igual a 1 ele envia a senha por email se for diferente Envia uma msg de erro! */

[/tr]

 

Será que alguém aí pode me ajudar?

 

Desde já agradeço!

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Indica a linha com erro...

 

Mas isso aqui Ñ ta certo tbm:

PHP [/tr][tr]if( $matricula == '' ) $erroStr .= '$nome';

if( $cpf == '' ) $erroStr .= '$nome';

[/tr]
;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

michelspesse techo que você comentou não está erradoif( $matricula == '' ) $erroStr .= '$nome';veja duas formas diferentes de se escrever um if:1<?$acao = 0;if($acao>0){$acao++}else{$acao--;}echo $acao;?>2<?$acao = 0;$acao>0 ? $acao++ : $acao--;echo $acao;?>quanto ao problema da Andreia é preciso ver o restante do código, e/ou até mesmo outras partes de código que são executadas antes desse trecho que foi postado.a mensagem de erro não indica exatamente onde está o erro, indica apenas onjde o erro de execução de script ocorreu.nesse caso é erro na sintaxe. que acabou provocando erro na linha mencionadalendo o código postado, percebi que nessa linhaif ($submit){ abre-se uma condicionalprecisaria ler o restante do código para saber onde termina, e se termina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal!

 

No trecho:

 

PHP [/tr][tr]

if ($submit){ #Verificar se o Formulario foi enviado !!

if( $matricula == '' ) $erroStr .= '$nome';

if( $cpf == '' ) $erroStr .= '$nome';

if(formatoemail($email)!=1) $erroStr .= '$email';

[/tr]

ficou parecendo aspas duplas, mas na verdade são duas aspas simples para indicar que não pode ser em branco.

 

Abaixo está o código completo

PHP [/tr][tr]

<?PHP

$nomedosite = "nomesite";

$linkdosite = "http://www.dominio.com.br";

 

function formatoemail($email)

{

if(ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$",$email))

{

return 1;

}

else

{

return 2;

}

}

if ($submit){ #Verificar se o Formulario foi enviado !!

if( $matricula == '' ) $erroStr .= '$nome';

if( $cpf == '' ) $erroStr .= '$nome';

if(formatoemail($email)!=1) $erroStr .= '$email';

 

if (!$erro){ #Senão exite erros ! Procura o email no banco de dados

 

require_once('conexao.php');

$sql = mysql_query("SELECT * FROM tb_associados WHERE matricula = '$matricula' AND cpf = '$cpf'");

$total = mysql_num_rows($sql); # Conta quantos emails foram encontrados na busca -- query!

if ($total == 1){ /* Se o total for igual a 1 ele envia a senha por email se for diferente Envia uma msg de erro! */

$sql = "SELECT nome_usuario, senha FROM tb_usuarios WHERE usuario = '$matricula'";

 

while($l = mysql_fetch_array($sql)) {

/* Aqui você deve colocar os dados que você quer retirar da tabela do Banco de dados

Aqui eu retirei os campos usuario, nome, e senha, Basta você mudar os dados $l[x]; onde x = campo do seu banco de dados! */

 

$mensagem = "<html><body>";

$mensagem.= "<font size='2' face='Arial, Helvetica, sans-serif'>";

$mensagem.= "Prezado(a)<strong> $1[nome_usuario] </strong><br><br>";

$mensagem.= "Sua senha de acesso à área restrita ao associado é<strong> $1[senha] </strong>

<br><br>";

}

$mensagem.= "<br><br> <strong> ATENÇÃO </strong> Não responda este e-mail. Havendo necessidade, entre em contato conosco através do e-mail: <strong> contato@dominio.com.br</strong>.";

$mensagem.= "</font>";

$mensagem.= "</body></html>";

 

mail("$email", "[$nomedosite][Lembrar Senha]", "$mensagem","From: Extrato\n");

$erro = "<p align='center'><strong><font size='2' face='Arial, Helvetica, sans-serif'>Obrigado!!!</font></strong></p>

<p align='justify'><font size='2' face='Arial, Helvetica, sans-serif'>A

sua senha já está sendo encaminhada para o endereço

eletrônico informado.</font></p>";

 

}else{

$erro = "<p align='center'><strong><font size='2' face='Arial, Helvetica, sans-serif'>Desculpe!!!</font></strong></p>

<p align='justify'><font size='2' face='Arial, Helvetica, sans-serif'>Infelizmente

não foi possível enviar a informação solicitada. <br> Verifique se os dados foram preenchidos corretamente.</font></p>";

}

}

 

}

?>

<body text="#0000FF" link="#0000FF" vlink="#9999FF" alink="#9999FF">

<table width="100%" border="0" cellspacing="0">

<tr>

<td><table width="100%" border="0" cellspacing="0">

<tr>

<td><div align="center"><img src="imagem/faixas/acesso_exclusivo.gif" width="379" height="21"></div></td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td align="center" valign="middle">

<form action="<?php echo $PHP_SELF; ?>" method="post">

<table width="513" border="0" cellspacing="0" cellpadding="0">

<tr>

<td colspan="4"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">Esqueci

minha senha.</font></strong></div></td>

</tr>

<tr>

<td colspan="4"> </td>

</tr>

<tr>

<td width="210"><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Matrícula:</font></div></td>

<td width="24"> </td>

<td width="112"><input name="matricula" type="text" id="matricula" size="16" maxlength="10"></td>

<td width="167" rowspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Importante</strong>:

Digite o C.P.F. utilizando os separadores. Ex.: 000.000.000-00.</font></td>

</tr>

<tr>

<td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Número

do C.P.F.:</font></div></td>

<td> </td>

<td><input name="cpf" type="text" id="cpf" size="16" maxlength="15"></td>

</tr>

<tr>

<td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Envie

minha senha para este e-mail:</font></div></td>

<td> </td>

<td colspan="2"><input name="email" type="text" id="email" size="40" maxlength="50"></td>

</tr>

<tr>

<td><div align="right">

<input type="submit" name="Submit" value="Enviar">

</div></td>

<td> </td>

<td><div align="right">

<input type="reset" name="Submit2" value="Limpar">

</div></td>

<td> </td>

</tr>

<tr>

<td colspan="4" align="center" valign="middle">

<? if ($erro){ echo $erro; } # Msg de erro de acordo com o erro ! ?>

<div align="center"></div></td>

</tr>

</table>

</form>

</td>

</tr>

</table></td>

</tr>

</table>

</html>

[/tr]

 

Grata pela atenção

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal iMasters!

 

Estou quase resolvendo o meu problema mas preciso de ajuda no seguinte:

 

Ele está pegando a senha e envia o e-mail porém só da primeira vez que funcionou ele me enviou a senha e os dados certinhos, agora ele me envia com o remetente APACHE o assunto está certo mas não vem conteúdo.

O código ficou assim:

 

PHP [/tr][tr]

<?php

require_once('conexao.php');

$enviado="<p align='center'><strong><font size='3' face='Arial, Helvetica, sans-serif' color='0000FF'>Obrigado!!!</font></strong></p>

<p align='justify'><font size='2' face='Arial, Helvetica, sans-serif' color='0000FF'>A

sua senha está sendo encaminhada para o endereço

eletrônico informado.</font></p>"

;

 

$erro="<p align='center'><strong><font size='3' face='Arial, Helvetica, sans-serif' color='0000FF'>Desculpe!!!</font></strong></p>

<p align='justify'><font size='2' face='Arial, Helvetica, sans-serif' color='0000FF'>Infelizmente

não foi possível enviar a informação solicitada. <br> Verifique se os dados foram preenchidos corretamente.</font></p>";

 

$erroStr = '';

$assunto = "Lembrar senha";

 

function formatoemail($email)

{

if(ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$",$email))

{

return 1;

}

else

{

return 2;

}

} //end formatoemail

 

$matricula = $_POST['matricula'];

$cpf = $_POST['cpf'];

$email = $_POST['email'];

 

if($matricula == '') $erroStr .= '$nome';

if($cpf == '') $erroStr .= '$nome';

if(formatoemail($email)!=1) $erroStr .= '$email';

 

if (!$erroStr)

{ //Não existindo erros, verifica a validade da matrícula e cpf do associado

$sql_1 = "SELECT matricula

FROM tb_associados

WHERE matricula = '$matricula' AND cpf = '$cpf'";

$result_matricula = @mysql_query ($sql_1) or die("Erro no banco de dados!");

$total_matricula = @mysql_num_rows($result_matricula);

if ($result_matricula == 1)

{

$sql_2 = "SELECT *

FROM tb_usuarios

WHERE usuario = '$matricula'";

$result_senha = @mysql_query ($sql_2) or die("Erro no banco de dados - usuarios!");

$total_senha = @mysql_num_rows($result_senha);

for ($i=0; $i<mysql_num_rows($result_senha); $i++)

{

$nome_usuario[$i] = mysql_result($result_senha, $i, 0);

$usuario[$i] = mysql_result($result_senha, $i, 1);

$senha[$i] = mysql_result($result_senha, $i, 2);

$mensagem = "<html><body>";

$mensagem.= "<font size='2' face='Arial, Helvetica, sans-serif' color='0000FF'>";

$mensagem.= "Prezado(a)<strong> $nome_usuario[$i] </strong><br><br>";

$mensagem.= "Sua senha de acesso à área restrita ao associado é<strong> $senha[$i] </strong><br><br>";

} //end for

$mensagem.= "<br><br> <strong> ATENÇÃO:</strong> Não responda este e-mail. Havendo necessidade, entre em contato conosco através do e-mail: <strong>email@dominio.com.br</strong>.";

$mensagem.= "</font>";

$mensagem.= "</body></html>";

 

$headers = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$headers .= "Sender:Extrato<email@dominio.com.br>";//insere o nome do rementente

} //end if total_matricula

 

mail(

$email,

$assunto,

$mensagem,

$headers

);

echo "$enviado";

}//end if not erro

else

{

echo "$erro";

}//end else

?>

[/tr]

 

Será que vocês têm idéia do que está acontecendo?

 

Continuo grata a todos.

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer mais um pouquinho, ele está enviando os dados certinho mas o remetente está como APACHE e eu gostaria que ele assumisse o que está definido no headers.

 

PHP [/tr][tr]

$headers = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$headers .= "Sender:Extrato<email@dominio.com.br>";//insere o nome do rementente

[/tr]

 

Grata

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

michelsp

 

esse techo que você comentou não está errado

 

if( $matricula == '' ) $erroStr .= '$nome';

Sei dos 2 modos de se utilizar o IF, porém me referi a está linha pois pensava que estava sendo feito o uso de aspas ", mas no caso se faz o uso de aspas simples '.

 

Se abrir uma aspa e não fechar dá erro. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Insere o nome do remetente no header tb, tenta inserir essa linha no header

 

$headers="From:$nome<$email>\n"; ´

Só altera o valor das variaveis e talz.. o embassado é que em alguns emails aparece assim

 

DE: Tal pessoa (forma certa)

Em outros

DE: From: Tal pessoa (forma estupida).. heheeh

 

Mais ve ae se funfa e qq coisa da um toke pra gente, se preisar eu te passo o form que eu tenho aki e você da uma olhada nele

 

T+

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.