Jump to content
Loira

Update da password não funciona

Recommended Posts

Loira

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

Edited by Rui Carlos

"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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

no recover ou no login?


"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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

claro... e mostra xD


"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

Share this post


Link to post
Share on other sites
Loira


//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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

nao alteraste o ficheiro de php...

altereii meti a newpw :||


"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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
Share on other sites
Loira

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

Share this post


Link to post
Share on other sites
legd1991

Não tens mal a query?

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

não devia ser?

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

Share this post


Link to post
Share on other sites
pikax

Pois tens, nem tinha reparado :D

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."

Share this post


Link to post
Share on other sites
Loira

Pois tens, nem tinha reparado :D

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

Share this post


Link to post
Share on other sites
pikax

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."

Share this post


Link to post
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.