Fiz um script para atualizar senhas sem precisar utilizar sessions, tudo funciona bem, porem quando eu digito um usuário que não existe no DB ele me retorna estes erros:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in C:\xampp\htdocs\site\change_pass2.php on line 47
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in C:\xampp\htdocs\site\change_pass2.php on line 47
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in C:\xampp\htdocs\site\change_pass2.php on line 52
Pergunta
Yugi Moto
Olá pessoal !!!
Fiz um script para atualizar senhas sem precisar utilizar sessions, tudo funciona bem, porem quando eu digito um usuário que não existe no DB ele me retorna estes erros:
as linhas que ele retorna são essas:if(mysql_result($result,0) != $pass3 && mysql_result($result,0) != NULL){ //Linha 47 if(mysql_result($checkloginres,0) == NULL) { //Linha 52o script todo está abaixo...<?php // Conexão com o DB $db_server = 'localhost'; // Endereço do Banco de dados $db_user = 'root'; // Usuário que tenha previlegios ao banco de dados $db_pass = ''; // Senha do Usuário Acima. $db_db = 'teste100'; // Banco de dados if (isset($_POST['userid']) != NULL && isset($_POST['pass']) != NULL && isset($_POST['pass2']) != NULL) { $link = @mysql_connect($dbserver,$db_user,$db_pass); $userid = mysql_real_escape_string($_POST['userid']); $pass = mysql_real_escape_string($_POST['pass']); $pass2 = mysql_real_escape_string($_POST['pass2']); $pass3 = md5($_POST['pass']); $pass4 = md5($_POST['pass2']); if (strlen($userid) < 4) { echo 'Login Incorreto'; } elseif (strlen($pass) < 4 || strlen($pass2) < 4 || $pass == NULL || $pass2 == NULL) { echo "Digite uma Senha!"; } else { $result = mysql_query("SELECT 'user_pass' FROM $db_db.login WHERE 'userid' = '$userid'"); if(mysql_result($result,0) != $pass3 && mysql_result($result,0) != NULL){ echo 'Senha incorreta !!'; } else { $checklogin = "SELECT 'userid' FROM $db_db.login WHERE 'userid' = '$userid'"; $checkloginres = mysql_query($checklogin); if(mysql_result($checkloginres,0) == NULL) { echo 'Um Erro foi encontrado'; } else { $query = "UPDATE $db_db.login SET 'user_pass' = '$pass4' WHERE 'userid' = '$userid'"; mysql_query($query); echo 'Senha foi mudada com sucesso'; } } } mysql_close($link); } ?>Como eu disse, o script funciona muito bem, só ocorre o erro se eu digito um usuário que não existe... outra duvida..existe um geito de fazer tudo de uma vez??
tipo, anti_injection+MD5+mysql_real_escape_string ???
pra não ficar essa coisa grotesca...
Valeu pessoal !!!
Link para o comentário
Compartilhar em outros sites
6 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.