Guest Ricardo Nepomuceno Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 Salve galera Eu fiz um formulario onde caso o usuario tenha esquecido a sua senha a mesma seja reenviada para o email cadastrado , mas ocorre um erro que na página não informa primeiro eu fiz um formulario com o código abaixo <form name="form1" method="post" action="envia_senha.php"> <table width="282" border="0" align="center" bgcolor="#eaeaea"> <tr> <td colspan="2"> <div align="center"><font face="Verdana, Arial, sans-serif" size="2"><b><font color="#0033FF">Esqueceu a senha ?</font></b></font></div> </td> </tr> <tr> <td width="134" bgcolor="#E0FBFE"> <div align="right"><font face="Verdana, Arial, sans-serif" size="2">Digite seu email </font></div> </td> <td width="138" bgcolor="#E0FBFE"> <input type="text" name="email" size="20"> </td> </tr> <tr> <td colspan="2"> <div align="center"> <input type="submit" name="Submit" value="Enviar" bgcolor="#fdf1c1"> </div> </td> </tr> </table> <p align="center"><font size="2" face="Verdana, Arial, sans-serif"><a href="JavaScript:window.close('esqueceu.php')"><b>Fechar</b></a></font></p> </form> Veja que é so um campo de formulario com o campo email que chama a página envia_senha.php segue o código abaixo <?include "conexao.php"?> <? $vemail = $_post["email"]; $strsql = "select email,login,senha from user1 where email=$vemail'"; $rs = mysql_query($strsql, $conexao) or die(mysql_error()); $num_linhas=mysql_num_rows($rs); if ($num_linhas=="0"){ echo "Usuário não cadastrado<br>"; echo "<a href=javascript:history.go(-1)>Voltar</a>"; }else{ $linha = mysql_fetch_array($rs); $login = $linha["login]; $senha = $linha["senha"]; $email = $linha["email"]; ?> <? /* Destinatário */ $to = "$login <$email>" . ", " ; /* Assunto */ $subject = "Reenvio de Senha!"; /* Mensagem */ $mensagem = ' <html><bgcolor='#ffffff' text='#0000cc'><table width='100%'><tr><td><b><font face='verdana' size='2' color='#0000cc'><center>Login:. echo $login; .</center></font></b></td></tr><tr><td><font face='verdana' size='2' color='#0000cc'><center>Senha: "& rs("senha") & " </center></font></td></tr></table></body></html>' $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: Teste <teste@nepomuceno.locaweb.com.br>\n"; /* Enviando a mensagem */ mail($to, $subject, $message, $headers); print 'Sua senha foi enviada para o email $email!'; ?> A mensagem de erro é na linha 29 onde está o $headers = "MIME-Version: 1.0\n"; mensagem de erro Parse error: parse error in /home/restricted/home/ricardo/public_html/biabiscuit/admin/envia_senha.php on line 29 agradeço desde já que puder ajudar Abraços_________________Ricardo Nepomuceno Web Master Neponet Desenvolvimento de WebSites www.neponet.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Ricardo Nepomuceno Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 Fiz uma pequena alteração e o erro mudou , só que a linha que indica o erro não tem nada e ele não mostra qual é o erro real , so da parser error<?include "conexao.php"?><?$vemail = $_post["email"];$strsql = "select email,login,senha from user1 where email=$vemail'";$rs = mysql_query($strsql, $conexao) or die(mysql_error());$num_linhas=mysql_num_rows($rs);if ($num_linhas=="0"){ echo "Usuário não cadastrado<br>"; echo "<a href=javascript:history.go(-1)>Voltar</a>";}else{$linha = mysql_fetch_array($rs);$login = $linha["login];$senha = $linha["senha"];$email = $linha["email"];?><?/* Destinatário */$to = "$login <$email>" . ", " ;/* Assunto */$subject = "Reenvio de Senha!";/* Mensagem */$mensagem = '<html><bgcolor="#ffffff" text="#0000cc"><table width="100%"><tr><td><b><font face="verdana" size="2" color="#0000cc"><center>Login:. echo $login; .</center></font></b></td></tr><tr><td><font face="verdana" size="2" color="#0000cc"><center>Senha:. echo $senha; .</center></font></td></tr></table></body></html>';$headers = "MIME-Version: 1.0\n";$headers .= "Content-type: text/html; charset=iso-8859-1\n";$headers .= "From: Teste <teste@nepomuceno.locaweb.com.br>\n";/* Enviando a mensagem */mail($to, $subject, $message, $headers);print 'Sua senha foi enviada para o email $email!';?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 só dei uma olhada por cima, fala direito qual é o erro...mas notei uma coisa, na var $mensagem, você é usa o echo dentro dela, não pode, você tá atribuindo um valor à variável e não mostrando ele Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 (editado) Dei uma olhadinha por riba....../* Mensagem */$mensagem = '.../* Enviando a mensagem */mail($to, $subject, $message, $headers);...A var message q tu te refere na função mail é a mesma onde tu concatenou aqueles valores todos??? se for tem brema ae... porque dae tu tme q colocar $mensagem na função mail e n $message...FaloEDITANDOdei mais uma olhadinha hehehheesse trecho tá eio tosco../* Mensagem */$mensagem = '<html><bgcolor="#ffffff" text="#0000cc"><table width="100%"><tr><td><b><font face="verdana" size="2" color="#0000cc"><center>Login:. echo $login; .</center></font></b></td></tr><tr><td><font face="verdana" size="2" color="#0000cc"><center>Senha:. echo $senha; .</center></font></td></tr></table></body></html>';A parte em azul, faltam umas aspas ali... e o q tá em vermelho n existe...Que editor que tu estás usando??? Usa um que dê cor ao c[odigo que fica mais fácil de visualizar esses bugs...pra ti concatenar uma variável tu precisa fazer assim...$variavel=10; //inteiro $recebe_concatenacao="Começo do código ".$variavel.", fim do código"; //string echo $recebe_concatenacao; Isso me mestraria a string: Começo do código 10, fim do código Saco?? Dica: por experiência própria, na maioria das vezes que eu concateno uma vairiável em uma string muito grande, da parse error, a solução que eu encontrei é abrir um novo e cho ou variável. $variavel_grande="faz de conta q tem texto pra cace..."; $variavel_grande.=$variavel; $variavel_grande.="faz de conta again..."; //ou echo "faz de conta q tem texto pra cace..."; echo $variavel; echo "faz de conta again...";qualquer coisa tamo ae Editado Março 30, 2005 por lemissel Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 Veja se não tem a ver onde você colocou:$to = "$login <$email>" . ", " ;Defina a variável dessa forma:$to = $email; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Keyboarvip® Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 todos os erros que tinha cara a galera postou ae..sua variavel $to tava errada e o a $message que deveria ser $mensagem..deve funcionar agora.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 30, 2005 Denunciar Share Postado Março 30, 2005 só uma coisinha, a var $to não estava totalmente errada....$to = "$login <$email>";assim está correta Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Março 31, 2005 Denunciar Share Postado Março 31, 2005 Mas, na função mail(), a strig "to" não deve conter apenas uma string de conta de e-mail? Ou até várias contas de email separadas por uma concatenção? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Março 31, 2005 Denunciar Share Postado Março 31, 2005 Se for windows, pode n funcionaNota: O parâmetro tonão deveria ser um endereço na forma de "Algo <alguém@example.com>". O comando de email poderia não analisar isso adequadamente enquanto se comunica com o MTA (Particularmente dentro do Windows). Fonte: Manual do php (http://www.php.net) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Março 31, 2005 Denunciar Share Postado Março 31, 2005 Se for no Windows pode não funcionar mas se for no Linux funciona? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Março 31, 2005 Denunciar Share Postado Março 31, 2005 Cara, eu achoq ue funciona. porque tp, olha como eles falam no texto Particularmente dentro do Windows e n fala nada de linux... enton funciona Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 31, 2005 Denunciar Share Postado Março 31, 2005 funciona sim...no próprio manual tem um exemplo com vários destinatários separados por , Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Ricardo Nepomuceno
Salve galera
Eu fiz um formulario onde caso o usuario tenha esquecido a sua senha a mesma seja reenviada para o email cadastrado , mas ocorre um erro que na página não informa
primeiro eu fiz um formulario com o código abaixo
<form name="form1" method="post" action="envia_senha.php">
<table width="282" border="0" align="center" bgcolor="#eaeaea">
<tr>
<td colspan="2">
<div align="center"><font face="Verdana, Arial, sans-serif" size="2"><b><font color="#0033FF">Esqueceu
a senha ?</font></b></font></div>
</td>
</tr>
<tr>
<td width="134" bgcolor="#E0FBFE">
<div align="right"><font face="Verdana, Arial, sans-serif" size="2">Digite
seu email </font></div>
</td>
<td width="138" bgcolor="#E0FBFE">
<input type="text" name="email" size="20">
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar" bgcolor="#fdf1c1">
</div>
</td>
</tr>
</table>
<p align="center"><font size="2" face="Verdana, Arial, sans-serif"><a href="JavaScript:window.close('esqueceu.php')"><b>Fechar</b></a></font></p>
</form>
Veja que é so um campo de formulario com o campo email que chama a página envia_senha.php
segue o código abaixo
<?include "conexao.php"?>
<?
$vemail = $_post["email"];
$strsql = "select email,login,senha from user1 where email=$vemail'";
$rs = mysql_query($strsql, $conexao) or die(mysql_error());
$num_linhas=mysql_num_rows($rs);
if ($num_linhas=="0"){
echo "Usuário não cadastrado<br>";
echo "<a href=javascript:history.go(-1)>Voltar</a>";
}else{
$linha = mysql_fetch_array($rs);
$login = $linha["login];
$senha = $linha["senha"];
$email = $linha["email"];
?>
<?
/* Destinatário */
$to = "$login <$email>" . ", " ;
/* Assunto */
$subject = "Reenvio de Senha!";
/* Mensagem */
$mensagem = '
<html><bgcolor='#ffffff' text='#0000cc'><table width='100%'><tr><td><b><font face='verdana' size='2' color='#0000cc'><center>Login:. echo $login; .</center></font></b></td></tr><tr><td><font face='verdana' size='2' color='#0000cc'><center>Senha: "& rs("senha") & " </center></font></td></tr></table></body></html>'
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: Teste <teste@nepomuceno.locaweb.com.br>\n";
/* Enviando a mensagem */
mail($to, $subject, $message, $headers);
print 'Sua senha foi enviada para o email $email!';
?>
A mensagem de erro é na linha 29 onde está o
$headers = "MIME-Version: 1.0\n";
mensagem de erro
Parse error: parse error in /home/restricted/home/ricardo/public_html/biabiscuit/admin/envia_senha.php on line 29
agradeço desde já que puder ajudar
Abraços
_________________
Ricardo Nepomuceno
Web Master
Neponet Desenvolvimento de WebSites
www.neponet.com.br
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.