Estou criando uma area de promoções em um site...e tem um tipo de jogo e quem acertar uma senha leva o brinde...
Quando o usuario digitar a senha de 4 digitos, se ele não acertar a senha, a programação deve dizer quantos numeros ele acertou...não precisa ser da ordem certa...mas apenas o numero...tipo você acertou 3 numeros da senha ...
Qual a melhor forma de fazer esta programação? Pensei em pegar o numero digitado pelo usuario e com a funçao substr, comparar numero por numero... e com a função strpos verificar se existe o numero na senha ... se tiver soma em um contador... mas o meu problema é se tiver numeros iguais na senha vai dar o numero errado do contador. Por exemplo a senha é 5452, e o cara digitou 5196 ... o usuario na verdade acertou apenas um cinco...mas no contador vai estar 2... segue o codigo:
Pergunta
Luiz Antonio
ola pessoal, tudo bem?
Preciso de uma ajuda...
Estou criando uma area de promoções em um site...e tem um tipo de jogo e quem acertar uma senha leva o brinde...
Quando o usuario digitar a senha de 4 digitos, se ele não acertar a senha, a programação deve dizer quantos numeros ele acertou...não precisa ser da ordem certa...mas apenas o numero...tipo você acertou 3 numeros da senha ...
Qual a melhor forma de fazer esta programação? Pensei em pegar o numero digitado pelo usuario e com a funçao substr, comparar numero por numero... e com a função strpos verificar se existe o numero na senha ... se tiver soma em um contador... mas o meu problema é se tiver numeros iguais na senha vai dar o numero errado do contador. Por exemplo a senha é 5452, e o cara digitou 5196 ... o usuario na verdade acertou apenas um cinco...mas no contador vai estar 2... segue o codigo:
$senha = 5452; // Senha no banco de dados $senhadigitada = $_POST['senhadigitada']; // Senha digitada pelo usuario $verifica1 = strpos($senha, substr($senhadigitada, 0, 1)); if($verifica1){ $contador= $contador + 1; } $verifica2 = strpos($senha, substr($senhadigitada, 1, 1)); if($verifica2){ $contador= $contador + 1; } $verifica3 = strpos($senha, substr($senhadigitada, 2, 1)); if($verifica3){ $contador= $contador + 1; } $verifica4 = strpos($senha, substr($senhadigitada, 3, 2)); if($verifica4){ $contador= $contador + 1; }alguém sabe uma forma mais correta de fazer esta programação?
Obrigado pessoal....
Editado por Luiz AntonioLink para o comentário
Compartilhar em outros sites
5 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.