Array
(
)

Mensagem comum

PHP
Marcio Araujo
   - 07 jun 2014

estou tentando apresentar uma mensagem de login incorreto, estou fazendo apenas com o echo, mas não está aparecendo.
o que se deve fazer?

Andrew Angelim
   - 07 jun 2014

Olá Marcio..
Poderia ser mais específico na pergunta?
Essa mensagem de erro deve aparecer quando o usuário informar os dados incorretos?

É isso?

vlw

Andrew Angelim
   - 07 jun 2014

Se for possível pode postar o código??

Marcio Araujo
   - 07 jun 2014

Andrew, valeu pelo interesse, eu acompanhei um artigo da devmedia, sobre como inserir uma tela de login em um pequeno projeto, até ai tudo bem, consegui montar.
ex: tenho um usuario cadastrado e me logo com ele sem problemas, mas quando coloco um usuario inexistente(de proposito) ele apenas fica na de login sem apresentar nada, nenhuma mensagem, eu queria apenas mostrar uma mensagem. "usuario/senha incorretos ou inexistente".

Andrew Angelim
   - 08 jun 2014

#Código
if (isset($_POST['acessar'])) {
$usuarios = htmlentities($_POST['usuario'], ENT_QUOTES);
$senhas = htmlentities($_POST['senha'], ENT_QUOTES);

include_once("../conexao/conexao.php");
$sql = "SELECT * FROM tabela WHERE usuario = '$usuarios' AND senha = '$senhas'";
$result = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($result) == 1) {
session_start();
$_SESSION['usuario'] = $usuarios;
$_SESSION['senha'] = $senhas;
header('Location: proxima.php');
} else {

echo "<script>alert('Dados incorretos. Tente novamente!')</script>";
}
}



Acho que com esse código da pra você se baseia...
O usuário digita login e senha normalmente, ao clicar no botão de submit, nesse momento é feito um select no banco de dados para verificar se o usuário existe ou não..se existe
então a linha da função mysql_num_rows é verdade, ele executa a SESSION e passa para próxima pagina pelo header(Location: proxima.php), se não existir, ele da o alert na tela (Dados incorretos.Tente novamente), esse alerta fica a seu critério de como a escrita deve aparecer.

Marcio Araujo
   - 08 jun 2014

Obrigado.
estava usando esse codigo, fiz uma modificação chamando para outro arquivo php, mas acho que não é a forma correta de apresentar a mensagem:

#Código

if(mysql_num_rows ($result) > 0 )
{ $_SESSION['login'] = $login; $_SESSION['senha'] = $senha;
header('location:admin/cadastrar.php');
}
else{
unset ($_SESSION['login']); unset ($_SESSION['senha']);
header('location:error.php');
} ?>

Andrew Angelim
   - 08 jun 2014

Não precisa você chamar outra página para exibir a mensagem de erro,
Basta usar o <script>alert('Mensagem')</script> que atende muito bem, pelo menos pra mim..

vlw

Marcio Araujo
   - 09 jun 2014

então faço assim?

#Código

if(mysql_num_rows ($result) > 0 )
{ $_SESSION['login'] = $login; $_SESSION['senha'] = $senha;
header('location:admin/cadastrar.php');
}
else{
unset ($_SESSION['login']); unset ($_SESSION['senha']);
<script>alert('Mensagem')</script>
} ?>

Andrew Angelim
   - 10 jun 2014

eu nunca usei dessa forma, mas creio que funcione também..

Tenta ai, qualquer coisa me diz qual o resultado....

vlw

Marcio Araujo
   - 11 jun 2014

irei testar aqui, retornarei para avisar!!!
obrigado.

Marcio Araujo
   - 11 jun 2014

Andrew, fiz da seguinte forma

#Código

if(mysql_num_rows ($result) > 0 )
{ $_SESSION['login'] = $login; $_SESSION['senha'] = $senha;
header('location:admin/cadastrar.php');
}
else{
unset ($_SESSION['login']); unset ($_SESSION['senha']);
echo "<script>alert('Usuario/Senha incorretos ou inexistente')</script>";
header('location:index.php');
}
?>



o problema é que não está apresentando a mensagem, quando eu tiro o #Códigoheader('location:index.php');
aparece a mensagem, mas o problema é que em seguida é transferido para uma outra pagina. como faço para
aparecer a mensagem e ficar no index.php?

Andrew Angelim
   - 12 jun 2014

Esse sistema de login e senha, o arquivo dele, encontra - se no mesmo local da index.php?

Marcio Araujo
   - 13 jun 2014

sim, no mesmo diretorio.

Andrew Angelim
   - 13 jun 2014

Tente deixar somente:

#Código echo "<script>alert('Usuario/Senha incorretos ou inexistente')</script>";

Tire o unset e o header.

Marcio Araujo
   - 13 jun 2014

irei tentar dessa forma, obrigado.
amanha irei avisar.

Marcio Araujo
   - 14 jun 2014

a principio, deu certo, porem, depois da mensagem(Ok), ele passa para a pagina que não é o index.

Andrew Angelim
   - 14 jun 2014

Marcio me parece que você não iniciou a função Session_start();
se for isso mesmo, inicie a sessão. Veja meu exemplo lá em cima.

Se continuar o erro, post seu código completo se puder..

Abraço

Marcio Araujo
   - 14 jun 2014

tem que colocar assim:

#Código

<?php
session_start();
if((!isset ($_SESSION['login']) == true) and (!isset ($_SESSION['senha']) == true)) {
unset($_SESSION['login']);
unset($_SESSION['senha']);
header('location:index.php');
} $logado = $_SESSION['login'];
?>

Andrew Angelim
   - 15 jun 2014

Sim, é dessa forma mesmo...

Marcio Araujo
   - 16 jun 2014

pera aew, esse codigo ja está ok. quero dizer, ja estava. fiquei sem entender, desculpa.