Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel T.

[Resolvido] if... echo.

Recommended Posts

Olá pessoal.

Eu estou terminando o sistema de login do meu site, e está só com um probleminha.

Quando o usuário coloca os dados errados, aparece a mensagem "Usuário ou senha inválidos", mas em uma página toda branca. Queria que aparecesse embaixo do formulário de login...

Segue o código da página inicial onde está o formulário em seu devido local:

 

<?php
session_start();
if( (!isset($_SESSION[id])) AND (!isset($_SESSION[nome])) ) {
include ("login.php");
echo "Você não está logado."; }
else {
echo "Você está logado como: ";
echo "<br>".$_SESSION[nome];
echo ".";
echo "<br><br>";
echo "<a href='logout.php'>Sair</a>"; }
?>

Na página de autenticação dos dados, tem a variável $row. Acho que ela verifica se o usuário digitou os dados corretos ou não, fazendo uma consulta no banco de dados.

Segue o código que está na página em branca, que aparece somente a mensagem "Usuário ou Senha Inválidos":

 

if($row == 0) echo "Usuário ou Senha Inválidos";

Logo abaixo tem o else:

 

else {
     //PEGA OS DADOS
	 $id   =   mysql_result($sql, 0, "ID_USUARIO");
	 $nome =   mysql_result($sql, 0, "NOME_USUARIO");
	 
     //INICIALIZA A SESSÃO
	 session_start();
	 
	 //GRAVA AS VARIÁVEIS NA SESSÃO
	 $_SESSION[id]    =   $id;
	 $_SESSION[nome]  =   $nome;
	 
	 //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS
	 Header("Location: resultado.php");
}//FECHA ELSE
?>

Até mais pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso:

if($row == 0){
include ("login.php");
echo "Usuário ou Senha Inválidos";
}
abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso:

if($row == 0){
include ("login.php");
echo "Usuário ou Senha Inválidos";
}
abs

 

É... Não deu certo.

Incluiu mais 1 formulário, um com o aviso "Você não está logado" e outro embaixo com a frase "Usuário ou Senha Inválidos".

Não deveria mecher no arquivo que valida o formulário?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Acredito que você deveria usar ajax ou um alert(que seria o mais simples);

 

if($row == 0){
 echo "<script>alert('Usuário e/ou Senha inválidos!'); window.location.href='index.php';</script>";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Acredito que você deveria usar ajax ou um alert(que seria o mais simples);

 

if($row == 0){
 echo "<script>alert'Usuário e/ou Senha inválidos!'); window.location.href='index.php';</script>";
}

 

A mensagem não aparece...

Quando pressiona o botão Entrar do formulário, redireciona a uma página de autenticação, que é essa:

autentica.php:

 

<?
//CONECTA COM O BANCO DE DADOS
require_once("conecta.php");

//RECEBE OS DADOS DO FORMULÁRIO
$usuario   =   $_POST[txtUser];
$senha     =   $_POST[txtSenha];

//VERIFICA
$sql   =   mysql_query("
           SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A
		   WHERE  A.USUARIO  =  '$usuario'
		      AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");

//LINHAS AFETADAS PELA CONSULTA
$row   =  mysql_num_rows($sql);

//VERIFICA SE RETORNOU ALGO
if($row == 0) {
echo "<script>alert'Usuário e/ou Senha inválidos!'); window.location.href='index.php';</script>";
}

else {
     //PEGA OS DADOS
	 $id   =   mysql_result($sql, 0, "ID_USUARIO");
	 $nome =   mysql_result($sql, 0, "NOME_USUARIO");
	 
     //INICIALIZA A SESSÃO
	 session_start();
	 
	 //GRAVA AS VARIÁVEIS NA SESSÃO
	 $_SESSION[id]    =   $id;
	 $_SESSION[nome]  =   $nome;
	 
	 //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS
	 Header("Location: resultado.php");
}//FECHA ELSE
?>

O formulário é esse:

login.php

 

<form method="post" action="autentica.php"
 name="frmAutentica">ID:<br>
  <input name="txtUser"><br>
Senha:<br>
  <input name="txtSenha" type="password"><br>
  <input style="margin-top: 3px;" name="btnLogar"
 value="Entrar" type="submit">
</form>

Tentei adicionar todas as funções do arquivo autentica.php na página inicial onde incluí o formulário e tentei assim, se receber os dados do formulário, se os dados estiverem incorretos, apareça "Usuário ou Senha Inválidos.":

 

<?php
if (($_POST[txtUser]) AND ($_POST[txtSenha])) {
if ($row == 0)
echo "Usuário ou Senha Inválido."; }
?>

Alguém teria alguma opinião?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, eu consegui colocar pelo echo. Obrigado pelas respostas. ^_^

Esqueci de modificar o formulário... Tirei o action="autentica.php" e deu certo. Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.