Jump to content


Photo

Query Nao Faz Update


  • Faça o login para participar
4 replies to this topic

#1 tarik01

tarik01

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Não informado

Posted 25/03/2008, 19:13

Olá amigos,
estou com um script de lembrar senha, ele envia a senha para o email e tudo
mas nao atualiza no mysql.. da uma conferida por favor!

<?
session_start();

$server = 'localhost';
$user  = 'root';
$password	= 'root';
$database	   = 'l2j';

$con = mysql_connect($server, $user, $password) or die(mysql_error());
mysql_select_db($database, $con) or die(mysql_error());
?>
<?
ob_start();

//Campo que sera exibido a senha
$senhass = "";

if ($_GET['acao'] == 'lembrar')
{
$login = strtoupper($_POST['login']);
$email = strtoupper($_POST['email']);

$sql_lembrar = "SELECT login, email FROM accounts WHERE UCASE(login) = '".$login."' and UCASE(email) = '".$email."'";
$rs_lembrar = mysql_query($sql_lembrar);
$ls_lembrar = mysql_fetch_array($rs_lembrar);
$qtd_encontrado = mysql_num_rows($rs_lembrar);

if ($qtd_encontrado == 1)
{
$str = '';

for ($i = 1; $i <= 10; $i++)
{
$set = array(rand (65, 90), rand(97, 122));
$str .= chr($set[rand(0,1)]);
}

$senha = $str;
$senhass = "";
// Gerar nova senha
mysql_query("UPDATE accounts SET password = base64_encode(mhash(MHASH_SHA1, utf8_encode('".$senha."'))) WHERE email = '".$email."'");

//enviar mensagem
$headers = '';
$headers .= "From: L2Flash <l2flash@hotmail.com>\n";
$headers .= "Return-Path: <l2flash@hotmail.com>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$assunto = "Senha - Password - L2Flash";
$mensagem = "<html>Olá amigo player,<br>sua nova senha no L2Flash.net é: $senha<br>Está senha é temporaria mude já sua senha...<br><br><b>L2Flash - Lineage 2</b><br>WWW.L2FLASH.NET<br></html>";

if (mail($email, $assunto, $mensagem, $headers))
{
echo "<script>alert('Senha enviada com sucesso!');</script>";
}
else
{
echo "<script>alert('Falha ao enviar mensagem, tente novamente!');</script>";
}
}
else
{
$senhass = "<script>alert('Informações não Encontradas!');</script>";
}
}

?>
<!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>Painel - Lembrar Senha</title>
<style type="text/css">
<!--
.style1 {
	font-size: 16px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.style2 {
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
}
a:link {
	color: #666666;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #666666;
}
a:hover {
	text-decoration: underline;
	color: #666666;
}
a:active {
	text-decoration: none;
	color: #666666;
}
-->
</style>

</head>

<body>

<table width="100%" border="0">
  <tr>
	<td align="center"><span class="style1">Painel - Lembrar Senha</span></td>
  </tr>
</table>
<br />
<form name="frm" method="post" action="recuperar_senha.php?acao=lembrar">
<table width="100%" border="0" class="style2">
  <tr>
	<td width="49%" align="right">Login:</td>
	<td width="1%">&nbsp;</td>
	<td colspan="2"><input name="login" type="text" class="style2" id="login" /></td>
  </tr>
  <tr>
	<td width="49%" align="right">E-mail:</td>
	<td width="1%">&nbsp;</td>
	<td colspan="2"><input name="email" type="text" class="style2" id="email" /></td>
  </tr>
  <tr>
	<td align="right">C&oacute;digo de Seguran&ccedil;a: </td>
	<td>&nbsp;</td>
	<td width="3%"><img src="img.php" /></td>
	<td width="47%"><input name="codigo" type="text" class="style2" id="codigo" size="3" maxlength="5" /></td>
  </tr>
  <tr>
	<td align="right">&nbsp;</td>
	<td>&nbsp;</td>
	<td colspan="2"><input name="Submit" type="submit" class="style2" value="OK" /></td>
  </tr>
  <tr>
	<td><?=$senhass;?></td>
  </tr>
</table>
</form>


<br />

</body>
</html>

Edição feita por: tarik01, 25/03/2008, 19:13.

MEU ~PENTIUM DUAL E2160 @ 1.8
~NVIDIA GEFORCE 7300 SE/ 7200 GS
~3072MB RAM DDR2 667
~GIGABYTE GA945GCM-S2C

#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 25/03/2008, 20:28

Tenta assim:

mysql_query("UPDATE accounts SET password = '".base64_encode(mhash(MHASH_SHA1, utf8_encode($senha)))."' WHERE email = '".$email."'");


Qualquer erro, poste.
Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 Tohma

Tohma

    12 Horas

  • Usuários
  • 202 posts
  • Sexo:Masculino
  • Localidade:Curitiba

Posted 26/03/2008, 07:46

Olá amigos,
estou com um script de lembrar senha, ele envia a senha para o email e tudo
mas nao atualiza no mysql.. da uma conferida por favor!

<?
session_start();

$server = 'localhost';
$user  = 'root';
$password	= 'root';
$database	   = 'l2j';

$con = mysql_connect($server, $user, $password) or die(mysql_error());
mysql_select_db($database, $con) or die(mysql_error());
?>
<?
ob_start();

//Campo que sera exibido a senha
$senhass = "";

if ($_GET['acao'] == 'lembrar')
{
$login = strtoupper($_POST['login']);
$email = strtoupper($_POST['email']);

$sql_lembrar = "SELECT login, email FROM accounts WHERE UCASE(login) = '".$login."' and UCASE(email) = '".$email."'";
$rs_lembrar = mysql_query($sql_lembrar);
$ls_lembrar = mysql_fetch_array($rs_lembrar);
$qtd_encontrado = mysql_num_rows($rs_lembrar);

if ($qtd_encontrado == 1)
{
$str = '';

for ($i = 1; $i <= 10; $i++)
{
$set = array(rand (65, 90), rand(97, 122));
$str .= chr($set[rand(0,1)]);
}

$senha = $str;
$senhass = "";
// Gerar nova senha
mysql_query("UPDATE accounts SET password = base64_encode(mhash(MHASH_SHA1, utf8_encode('".$senha."'))) WHERE email = '".$email."'");

//enviar mensagem
$headers = '';
$headers .= "From: L2Flash <l2flash@hotmail.com>\n";
$headers .= "Return-Path: <l2flash@hotmail.com>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$assunto = "Senha - Password - L2Flash";
$mensagem = "<html>Olá amigo player,<br>sua nova senha no L2Flash.net é: $senha<br>Está senha é temporaria mude já sua senha...<br><br><b>L2Flash - Lineage 2</b><br>WWW.L2FLASH.NET<br></html>";

if (mail($email, $assunto, $mensagem, $headers))
{
echo "&lt;script>alert('Senha enviada com sucesso!');</script>";
}
else
{
echo "&lt;script>alert('Falha ao enviar mensagem, tente novamente!');</script>";
}
}
else
{
$senhass = "&lt;script>alert('Informações não Encontradas!');</script>";
}
}

?>
<!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>Painel - Lembrar Senha</title>
<style type="text/css">
<!--
.style1 {
	font-size: 16px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.style2 {
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
}
a:link {
	color: #666666;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #666666;
}
a:hover {
	text-decoration: underline;
	color: #666666;
}
a:active {
	text-decoration: none;
	color: #666666;
}
-->
</style>

</head>

<body>

<table width="100%" border="0">
  <tr>
	<td align="center"><span class="style1">Painel - Lembrar Senha</span></td>
  </tr>
</table>
<br />
<form name="frm" method="post" action="recuperar_senha.php?acao=lembrar">
<table width="100%" border="0" class="style2">
  <tr>
	<td width="49%" align="right">Login:</td>
	<td width="1%">&nbsp;</td>
	<td colspan="2"><input name="login" type="text" class="style2" id="login" /></td>
  </tr>
  <tr>
	<td width="49%" align="right">E-mail:</td>
	<td width="1%">&nbsp;</td>
	<td colspan="2"><input name="email" type="text" class="style2" id="email" /></td>
  </tr>
  <tr>
	<td align="right">C&oacute;digo de Seguran&ccedil;a: </td>
	<td>&nbsp;</td>
	<td width="3%"><img src="img.php" /></td>
	<td width="47%"><input name="codigo" type="text" class="style2" id="codigo" size="3" maxlength="5" /></td>
  </tr>
  <tr>
	<td align="right">&nbsp;</td>
	<td>&nbsp;</td>
	<td colspan="2"><input name="Submit" type="submit" class="style2" value="OK" /></td>
  </tr>
  <tr>
	<td><?=$senhass;?></td>
  </tr>
</table>
</form>


<br />

</body>
</html>




acontece que na sua query o codigo php está sendo interpretado como parte do sql, neste caso delimite-o por aspas ...

mysql_query("UPDATE accounts SET password = ".base64_encode(mhash(MHASH_SHA1, utf8_encode('".$senha."')))." WHERE email = '".$email."' ");

ou encripte a senha antes de colocá-la no sql
DBPlex dbplex.com.br

#4 -|- Cold Heart -|-

-|- Cold Heart -|-

    *** MaDe In HeLL ***

  • Usuários
  • 260 posts
  • Sexo:Não informado
  • Interesses:Guitarras<br>Músicas<br>Web

Posted 26/03/2008, 13:00

Aproveitando o tópico...

Se colocar a senha encriptada no BD, e o user peder a senha, só trocando msm, pois descriptar naum seria possível... seria? usando uma encriptação md5 por exemplo
### Fender Vs. Gibson ###

#5 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 26/03/2008, 14:02

Tenta fazer a query com variável, igual vc fez anteriormente, com $rs_lembrar
Cria uma tipo $passencode e põe a query nela, dae vc chama o mysql_update passando a $passencode.

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq