Jump to content

Update da password não funciona


Loira

Recommended Posts

Bom Dia programadores 🙂

o projeto ta quase quase pronto.... mas e assim tenho um problema

quero fazer o update da pw...

//UPDATE DA PW
elseif (isset($_GET["update"])) {
require('mysql.php');
$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);

$result = mysql_query("SELECT * from `users` where `username` = '".$user."' && `password` = '".$pass."'");

if (mysql_num_rows($result)) {
mysql_query("UPDATE  `users` SET  `password` =  '".$pass."' WHERE  `username` = '".$user."'");
echo "ok"; // k go
}
else{
echo "error";
}
}

private void btnRecover_Click(object sender, EventArgs e)
	{

		try
		{
			WindowsFormsApplication1.Form1 fMain = (WindowsFormsApplication1.Form1)Application.OpenForms["Form1"];
			using (WebClient client = new WebClient())
			{
				result = client.DownloadString("http://" + REMOTE_SERVER_IP + "/api.php?update&user=" + txtUser.Text + "&pass=" + txtPw.Text);
			}
			if (result != "error")
			{
				MessageBox.Show("Password Alterada com Sucesso");
				this.Close();
			}
			else
			{
				MessageBox.Show("Não Alterado");

			}
		}
		catch (Exception error)
		{
			MessageBox.Show(error.Message);
		}

	}

ja fiz um debug pa ver o que tinha nas variaveis e:

na txtuser tem o user que meto.

na txtpw tem a pw que meto.

no result tem error, logo ele salta para o else e como e de esperar nao atualiza a pw :c

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

tu nao estas a alterar a password!

O Where no teu select esta' mal!

...."where `username` = '".$user."' && `password` = '".$pass."'"

Estas a fazer select onde o utilizador e a NOVA password coincidem!

depois estas a fazer um update com essa mesma password.

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

tu nao estas a alterar a password!

O Where no teu select esta' mal!

...."where `username` = '".$user."' && `password` = '".$pass."'"

Estas a fazer select onde o utilizador e a NOVA password coincidem!

depois estas a fazer um update com essa mesma password.

eu so quero fazer o update aquele user.. hum como me explicar.. xD..

tipo faço o login

user: marta

mas esquecime da pw...

ok sigo para a alteraçao da pw

tenho que saber o user

meto

user:marta

existe? ok mete a pw nova.. nao existe? user nao esta na bd :|

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

nunca se gravam pass's em texto(plain text) na BD!

o que se grava na BD e' um hash(salteada ou nao).

para veres se o user existe basta:

SELECT * from `users` where `username` = '".$user."'

podes aproveitar ideias de outros web-sites para caso percas a pw, por exemplo tens uma pergunta secreta que tens que saber para alterar a pass. mandar um email de confirmacao para outro e-mail, codigo para o telemovel do user, etc....

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

nunca se gravam pass's em texto(plain text) na BD!

o que se grava na BD e' um hash(salteada ou nao).

para veres se o user existe basta:

SELECT * from `users` where `username` = '".$user."'

podes aproveitar ideias de outros web-sites para caso percas a pw, por exemplo tens uma pergunta secreta que tens que saber para alterar a pass. mandar um email de confirmacao para outro e-mail, codigo para o telemovel do user, etc....

pow nao nos tamos a intender. o que quero e mt simples. o user existe? ok mete a pw nova e já está :|

apenas devo ter a query mal... ou alguma coisa no c#.. e isso que tou a pedir ajuda :|

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

isto ja' devera' de funcionar

//UPDATE DA PW
elseif (isset($_GET["update"])) {
   require('mysql.php');
   $user = mysql_real_escape_string($_GET['user']);
   $pass = mysql_real_escape_string($_GET['pass']);

   $result = mysql_query("SELECT 1 from `users` where `username` = '".$user."'' ");

   if (mysql_num_rows($result)>0) {
       mysql_query("UPDATE  `users` SET  `password` =  '".$pass."' WHERE  `username` = '".$user."'");
       echo "ok"; // k go
   }
   else{
   echo "error";
   }
}

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

isto ja' devera' de funcionar

//UPDATE DA PW
elseif (isset($_GET["update"])) {
require('mysql.php');
$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);

$result = mysql_query("SELECT 1 from `users` where `username` = '".$user."'' ");

if (mysql_num_rows($result)>0) {
	mysql_query("UPDATE  `users` SET  `password` =  '".$pass."' WHERE  `username` = '".$user."'");
	echo "ok"; // k go
}
else{
echo "error";
}
}

TENHO que esperar que chegue o moço que me mete isto no server.. depois ja experimento.. ty *

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

experimenta meter uma password errada e/ou username, e ve o que aparece.

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

no recover, tem que mostrar a message box -> "Não Alterado"

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites


//UPDATE DA PW
elseif (isset($_GET["update"])) {
require('mysql.php');
$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);
$newpass = mysql_real_escape_string($_GET['newpass']);

$result = mysql_query("SELECT * from `users` where `username` = '".$user."' && `password` = '".$pass."'");

if (mysql_num_rows($result)) {
mysql_query("UPDATE `users` SET `password` = '".$newpass."' WHERE `username` = '".$user."'");
echo "ok"; // k go
}
else{
echo "error";
}
}



	private void btnRecover_Click(object sender, EventArgs e)
	{

		try
		{
		   WindowsFormsApplication1.Form1 fMain = (WindowsFormsApplication1.Form1)Application.OpenForms["Form1"];


			System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
			byte[] bs = System.Text.Encoding.UTF8.GetBytes(txtPw.Text.ToString());
			bs = x.ComputeHash(bs);
			System.Text.StringBuilder s = new System.Text.StringBuilder();
			foreach (byte b in bs)
			{
				s.Append(b.ToString("x2").ToLower());
			}
			password2 = s.ToString();

			using (WebClient client = new WebClient())
			{
				result = client.DownloadString("http://" + REMOTE_SERVER_IP + "/api.php?update&user=" + fMain.login + "&pass=" + fMain.password  + "&user="+txtUser.Text + "&newpass=" + password2);
			}
			if (result != "error")
			{
				MessageBox.Show("Password Alterada com Sucesso");
				this.Close();
			}
			else
			{
				MessageBox.Show("Não Alterado");

			}
		}
		catch (Exception error)
		{
			MessageBox.Show(error.Message);
		}

	}

continua sem workar

Edited by Loira

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

nao alteraste o ficheiro de php...

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

o ficheiro que colocaste e' igual ao que colocaste no inicio do topico...

Ja' agora, cuidado a colocares o IP do servidor que estas a trabalhar...

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

o ficheiro que colocaste e' igual ao que colocaste no inicio do topico...

Ja' agora, cuidado a colocares o IP do servidor que estas a trabalhar...

nem tinha reparado que tinha posto la o ip :o

btw,o ficheiro php nao e o mesmo.. tem la uma nova variavel.. checka la

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

Pois tens, nem tinha reparado 😄

Faz um print aos resultados do select no php, e ve se o que o sql esta' a returnar.

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Pois tens, nem tinha reparado 😄

Faz um print aos resultados do select no php, e ve se o que o sql esta' a returnar.

o update funca na perfeiçao.. see

34fbcdw.png

"Hello guys. You don't know me, but I know you. I want to play a game. Here's what happens if you lose"

"Só erra quem produz... Mas só produz quem não tem medo de errar"

irc @Login

NickServ Acesso a Number1 autorizado

Link to comment
Share on other sites

mas o problema nao e' do update, e' do select, muda a query como o @legd1991 disse. Agora esta'-me a falhar a memoria se o mysql suporta o &&

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.