If não funciona com txt php

Olá, estou com um problema quero que redirecione para a devida pagina se o que o usuario digitar estiver de acordo com o que tem no arquivo txt porem não acontece isso ele simplesmente não redireciona podedia me ajudar?? segue o codigo abaixo:

<?php $login = $_POST["login"];//login do usuario $senhapassada = $_POST["senha"]; //senha passada pelo usuario no formulário $arquivosenha = fopen ('senha.txt', 'r'); //caminho do arquivo txt $senha = fgets($arquivosenha, 1024); // ler o arquivo txt //******************************************************************************************* if ($senhapassada == $senha) header('Location: painel.php'); else header('Location: solicita.php'); ?>

Tem certeza que está lendo o texto e que o texto contido no arquivo é igual à senha informada?

sim, inclusive dei até um echo para mostrar o valor que tava em txt e ele mostra normal ou seja ta lendo o arquivo, so que quando digito a senha ele simplesmente não redireciona para onde devia

Ok, mas confira se o conteúdo não contém caracteres ocultos (como \n de quebra de linha, espaços em branco, etc).

ja olhei, tem não

se vc puder olhar esse codigo ai no seu pc executar ele e fazer o texte agradeço

Eu não tenho php instalado.
Só sei que se você tem um == e a comparação está retornando falso, os elementos de comparação estão diferentes.

1 curtida

hum… no caso vc deduz que seja algo no txt é isso?

Talvez não no txt, mas, na forma como o php está lendo o mesmo.

ja resolvi era no txt msm obrigado

criei outro e coloquei a senha e verifiquei se não ficou espaço etc e deu certo

Sempre que comparar strings, ideal sempre “limpá-las” retirando espaços das pontas etc…

$senha = trim(fgets($arquivosenha, 1024));

O trim já trata essas coisas…