Ir ao conteúdo

lógica de PHP está dando errado


telecentropinda

Posts recomendados

Postado

Estou montando uma página de suporte, porém preciso de ajuda por que minha lógica de PHP está dando errado observem o seguinte funciona assim: Quando o cliente clica em suporte o link leva ele á uma página de autenticação só que sem banco uma página simples em html e o script em php, mas só que nao da dando certo com o login ou senha certa ele vai para a página de erro vejam o script:

HTML:

<form name="Frm" action="autentica.php" method="post">
Seu login: <input type="text" name="login" size="10">
Sua senha: <input type="text" name="senha" size="10">
<input type="submit" value="Logar-se" size="20">
</form>

OBS: o forme ta sem problemas

PHP:

<?

$log = "valber";
$pas = "valber";

if (($login == $log) && ($senha == $pas))
{
header("Location: pagina_certa.html");
}
else
{
header("Location: pagina_erro.html");
}

?>

Nessa verificação o script verifica se a senha digitada no forme é a mesma que a variavel carrega, mas posso colocar a mesma e não está dando o que será que está errado me ajudem!!!!

Postado

Cara, faltou algo muito importante no seu código, que é transformar os NAMES dos inputs em varáveis, para que os VALUES deles possam ficar guardados lá.

O código do seu PHP tem que ser assim:

if($_POST){
extract($_POST);

$log = "valber";
$pas = "valber";

if (($login == $log) && ($senha == $pas))
{
header("Location: pagina_certa.html");
}
else
{
header("Location: pagina_erro.html");
}
}

Isso acima quer dizer:

Se teve POST, faça:

extract($_POST); - Isso transforma todos os names em variáveis e guarda nelas o VALUE.

Ou seja, se você tem um input name login, quando você der um extract vai transformar o name login em uma variável $login e guardar nela o VALUE digitado.

Com isso a condição:

if (($login == $log) && ($senha == $pas))

Vai funcionar, pois antes as variaveis $login e $senha nao existiam , pois não tinha dado o extract.

Postado
Cara, faltou algo muito importante no seu código, que é transformar os NAMES dos inputs em varáveis, para que os VALUES deles possam ficar guardados lá.

O código do seu PHP tem que ser assim:

if($_POST){

extract($_POST);

$log = "valber";

$pas = "valber";

if (($login == $log) && ($senha == $pas))

{

header("Location: pagina_certa.html");

}

else

{

header("Location: pagina_erro.html");

}

}

Isso acima quer dizer:

Se teve POST, faça:

extract($_POST); - Isso transforma todos os names em variáveis e guarda nelas o VALUE.

Ou seja, se você tem um input name login, quando você der um extract vai transformar o name login em uma variável $login e guardar nela o VALUE digitado.

Com isso a condição:

if (($login == $log) && ($senha == $pas))

Vai funcionar, pois antes as variaveis $login e $senha nao existiam , pois não tinha dado o extract.

Valeuuuu mesmo cara tudo era isso mesmo Brigadão!!!!!

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!