Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Colegas,
Estou implementando um controle de acesso ao meu site, mas estou com problemas na sessão. Tenho o formulário de login, que envia os dados para o arquivo ope.php que faz a verificação e abre (ou não) a página index.php. que está dentro da pasta admin. Login e ope estão fora desta pasta.
No ope.php tenho:
<?php include_once "./conexao/conexao.php";?>
session_start();
<?php
if(isset($_POST['acao']))
{
$usuario = ($_POST['usuario']);
$senha = ($_POST['senha']);
if($usuario=="")
{
echo '<script>alert("Informe o seu login.");location.href="./frmloginadm.php";</script>';
}
if($senha=="")
{
echo '<script>alert("Informe a sua senha.");location.href="./frmloginadm.php";</script>';
}
else
if(!empty($usuario) and !empty($senha));
{
$sql= ("select * from usuario where login = ? and senha = ?");
$verifica= $pdo->prepare($sql);
$verifica->bindValue(1,$usuario);
$verifica->bindValue(2,$senha);
$verifica->execute();
if($verifica->rowCount()>0)
{
$_SESSION['usuario'] = $usuario;
$_SESSION['senha'] = $senha;
header("location:./adm/index.php");
}
else
{
unset ($_SESSION['usuario']);
unset ($_SESSION['senha']);
echo '<script>alert("Usuário ou senha inválidos");location.href="./frmloginadm.php";</script>';
}
}
}
?>
Na index.php tenho o seguinte controle logo no início:
<?php include_once "../conexao/conexao.php";?>
<?php session_start();
if((!isset ($_SESSION['usuario']) == true) and (!isset ($_SESSION['senha']) == true)){
unset($_SESSION['usuario']);
unset($_SESSION['senha']);
header('location:frmloginadm.php');
}
$logado = $_SESSION['usuario'];
?>
Se deixo de digitar o login e/ou senha o sistema acusa corretamente que devo preenchê-los e volta para o formulário de login. Mas se digito usuário e senha errados o sistema acusa o erro e também volta para o formulário de login, mas aparece a mensagem:
Noticee: Undefined variable: _SESSION in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\laranja\ope.php on line 35
Noticee: Undefined variable: _SESSION in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\laranja\ope.php on line 36
Ao digitar o usuário e senhas corretos, o sistema não abre a página index.php que está dentro da pasta admin.
Onde está o erro?
Carregando comentários...