1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Loop na validação do login

Boa noite, criei um sistema de login, que quando vai no admin.php ele verifica se o usuario esta logado ou não, caso nao esteja ele vai para a pagina do login, so que coloco o login e a senha e aperto para entrar, ele me apresenta uma mensagem que entrou com sucesso, mas ele volta para a pagina do login novamente e isso ocorre varias vezes, como poderia solucionar esse problema?

tenho 3 arquivos, valida.php - AdmAgenda.php - login.php

valida.php:

<?php 
 //verifica se o usuário não esta logado
session_start();
 if(!isset($_SESSION['usuario']) || empty($_SESSION['usuario'])){
     header('location:php/login.php');
  }else{
     header('location:AdmimAgenda.php');
  }
 ?>

AdmAgenda.php:

?php
require_once 'valida.php';
// definições de host, database, usuário e senha
$host = "localhost";
$db   = "admin_site";
$user = "root";
$pass = "";
// conecta ao banco de dados
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 
// seleciona a base de dados em que vamos trabalhar
mysql_select_db($db, $con);
// cria a instrução SQL que vai selecionar os dados
$query = sprintf("SELECT id, Segunda, Terca, Quarta, Quinta, Sexta, Segunda_dois, Terca_dois, Quarta_dois, Quinta_dois, Sexta_dois FROM horas");
// executa a query
$dados = mysql_query($query, $con) or die(mysql_error());
// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);
// calcula quantos dados retornaram
$total = mysql_num_rows($dados);
?>

    <!DOCTYPE html>
    <html lang="pt-br" ng-app="AngularADM">

    <head>
        <meta charset="utf-8">
        <meta name="description" content="Studio 7 Hair é um salão de beleza">
        <meta name="author" content="Miyomic">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
//restante do codigo

login.php

<?php 
include("conexao.php");

if(isset($_POST['email']) && strlen($_POST['email']) > 0){

    if(!isset($_SESSION))
        session_start();

    $_SESSION['email'] = $mysqli -> escape_string($_POST['email']);
    $_SESSION['senha'] = $_POST['senha'];


    $sql_code = "SELECT senha, codigo FROM usuario WHERE email = '$_SESSION[email]'";
    $sql_query = $mysqli -> query($sql_code) or die ($mysqli -> error);
    $dado = $sql_query->fetch_assoc();
    $total = $sql_query-> num_rows;


    if($total == 0){
        $erro[] = "Este email não pertence a nenhum usuário.";
    }
    else{
        if($dado['senha'] == $_SESSION['senha']){

            $_SESSION['usuario'] = $dado['email'];

        } else{

            $erro[] = "Senha incorreta.";
        }

    }

    if(count($erro) == 0 || !isset($erro)){
        echo "<script>alert('Login efetuado com sucesso... Seja bem vindo'); location.href='../AdmAgenda.php';</script>";
    }

}


?>



<html>
<head></head>
<body>
<?php if(count($erro) > 0)
        foreach($erro as $msg){
            echo "<p>$msg</p>";
        }


    ?>

    <form method="POST" action="">
    <input value="" type="text" placeholder="email" name="email">
    <input type="password" name="senha">

        <input type="submit" value="Entrar">



    </form>


    </body>

</html>

Obrigado.

  • Não seria porque você inicia a session duas vezes? Você inicia no login.php e na hora de validar você inicia novamente, acredito que no validar não precisa iniciar de novo, session_start();

    rof20004   04 de jan de 2017
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags php ou faça a sua própria pergunta.