Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 552150
            [titulo] => dúvida login em php não funcionando
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-04-23 14:35:11
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 244662
            [status] => A
            [isExample] => 
            [NomeUsuario] => Raylan Zibel
            [Apelido] => raylan
            [Foto] => 244662_20160409164349.png
            [Conteudo] => Se voce ta tendo problema pra entender a sintaxe, pare e volte a estudar antes de começar a programar...
        )

)

dúvida login em php não funcionando

PHP
Hiago Orneles
   - 22 abr 2016

Ae galera tou com um problema pois fiz um login em pdo porém ele não tá funcionando não exibe nada e como se não tivesse sido programado

Post mais votado

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Se voce ta tendo problema pra entender a sintaxe, pare e volte a estudar antes de começar a programar...

K3n
|
MVP
Pontos: 900
    22 abr 2016

Posta o código e o esquema do banco.

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Sua pagina foi publicada com a extensão .php? Tem que ser.
E tem que ser em uma hospedagem que tenha php habilitado.

Marcio Araujo
   - 23 abr 2016

Nenhuma mensagem de erro, apenas tela "branca"?

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Sem ver o código complica. Verifica se você esta usando <?php. Pode ser que <? só não funcione.

Hiago Orneles
   - 23 abr 2016

#Código

<?php
ob_start();
session_start();
if(isset($_SESSION['usuario']) && (isset($_SESSION['senha']))){
header("Location: home.php");exit;
}
include("conexao2.php");
?>
 
 
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">
 
    <title>Signin Template for Bootstrap</title>
 
    <link href="css/bootstrap.min.css" rel="stylesheet">
 
    <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">
 
    <link href="cssprologin/signin.css" rel="stylesheet">
 
    <script src="js/ie-emulation-modes-warning.js"></script>
 
  </head>
 
  <body>
 
    <div class="container">
 
      <form class="form-signin">
        <h2 class="form-signin-heading">Please sign in</h2>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="email" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="senha" class="form-control" placeholder="Password" required>
        <div class="checkbox">
          <label>
            <input type="checkbox" value="remember-me"> Remember me
          </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
      </form>
 
    </div> <!-- /container -->
 
 
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>
 
<?php
 
if(isset($_GET['acao'])){
 
if(!isset($_POST['logar'])){
 
$acao = $_GET['acao'];
if($acao=='negado'){
echo '<div class="alert alert-danger">
 <button type="button" class="close" data-dismiss="alert">�</button>
 <strong>Erro ao acessar!</strong> Voc� precisa estar logado p/ acessar o Sistema.
</div>';
}
}
}
 
 
 
if(isset($_POST['logar'])){
// RECUPERAR DADOS FORM
$email = trim(strip_tags($_POST['email']));
$senha = trim(strip_tags($_POST['senha']));
 
// SELECIONAR BANCO DE DADOS
 
$select = "SELECT * from login WHERE BINARY email=:email AND BINARY senha=:senha ";
 
try{
$result = $conexao->prepare($select);
$result->bindParam(':email', $email, PDO::PARAM_STR);
$result->bindParam(':senha', $senha, PDO::PARAM_STR);
$result->execute();
$contar = $result->rowCount();
if($contar>0){
$email = $_POST['email'];
$senha = $_POST['senha'];
$_SESSION['usuario'] = $email;
$_SESSION['senha'] = $senha;
 
echo '<div class="alert alert-success">
                      <button type="button" class="close" data-dismiss="alert">�</button>
                      <strong>Logado com Sucesso!</strong> Redirecionando para o sistema.
                </div>';
 
header("Refresh: 3, home.php?acao=welcome");
}else{
echo '<div class="alert alert-danger">
                      <button type="button" class="close" data-dismiss="alert">�</button>
                      <strong>Erro ao logar!</strong> Os dados est�o incorretos.
                </div>';
}
 
}catch(PDOException $e){
echo $e;
}
 
 
 
}// se clicar no bot�o entrar no sistema
 
?>

Hiago Orneles
   - 23 abr 2016

ai esta amigo

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Veja se faz alguma diferença:

#Código

<?php

error_reporting(E_All);

ob_start(); // ?

session_start();

$usuario = isset($_SESSION['usuario']) ? $_SESSION['usuario'] : "";
$usuario = isset($_SESSION['senha'])   ? $_SESSION['senha']   : "";
if(($usuario == "") or ($senha == "")){
	header("Location: home.php");
	die();
}
include_once("conexao2.php");
?>
  
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">
  
    <title>Signin Template for Bootstrap</title>
  
    <link href="css/bootstrap.min.css" rel="stylesheet">
  
    <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">
  
    <link href="cssprologin/signin.css" rel="stylesheet">
  
    <script src="js/ie-emulation-modes-warning.js"></script>
  
  </head>
  
  <body>
  
    <div class="container">
  
      <form class="form-signin">
        <h2 class="form-signin-heading">Please sign in</h2>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="email" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="senha" class="form-control" placeholder="Password" required>
        <div class="checkbox">
          <label>
            <input type="checkbox" value="remember-me"> Remember me
          </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
      </form>
  
    </div> <!-- /container -->
  
  
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>
  
<?php  
	if(isset($_REQUEST['acao'])){	  
		if(!isset($_REQUEST['logar'])){	  
			$acao = $_REQUEST['acao'];
			if($acao=='negado'){
				echo '<div class="alert alert-danger">
				 <button type="button" class="close" data-dismiss="alert">�</button>
				 <strong>Erro ao acessar!</strong> Voc� precisa estar logado p/ acessar o Sistema.
				</div>';
			}
		}
	}  
	  
	if(isset($_REQUEST['logar'])){
		// RECUPERAR DADOS FORM
		$email = trim(strip_tags($_REQUEST['email']));
		$senha = trim(strip_tags($_REQUEST['senha']));
		  
		// SELECIONAR BANCO DE DADOS
		  
		$select = "SELECT * from login WHERE BINARY email=:email AND BINARY senha=:senha ";
		  
		try{
			$result = $conexao->prepare($select);
			$result->bindParam(':email', $email, PDO::PARAM_STR);
			$result->bindParam(':senha', $senha, PDO::PARAM_STR);
			$result->execute();
			$contar = $result->rowCount();
			if($contar>0){
				$email = $_REQUEST['email'];
				$senha = $_REQUEST['senha'];
				$_SESSION['usuario'] = $email;
				$_SESSION['senha'] = $senha;
			  
				echo '<div class="alert alert-success">
								  <button type="button" class="close" data-dismiss="alert">�</button>
								  <strong>Logado com Sucesso!</strong> Redirecionando para o sistema.
							</div>';
			  
				header("Refresh: 3, home.php?acao=welcome");
			}else{
				echo '<div class="alert alert-danger">
									  <button type="button" class="close" data-dismiss="alert">�</button>
									  <strong>Erro ao logar!</strong> Os dados est�o incorretos.
								</div>';
			}  
		}catch(Exception $e){
			echo $e;
		}
	}// se clicar no bot�o entrar no sistema
?>

Hiago Orneles
   - 23 abr 2016

Amigo aconteceu o seguinte foi que ele direcionou automaticamente pra página home.php sem precisar fazer o login

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Só corrigir aqui então:
#Código

if(($usuario != "") and ($senha != "")){
    header("Location: home.php");
    die();
}

Hiago Orneles
   - 23 abr 2016

Ainda não mudou nada continua a mesma coisa mesmo com login certo ele fina no login ainda

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Ok. Fiz umas mudanças. Não tenho como testar o acesso ao banco. Se tiver conteúdo no Session vai redirecionar.

#Código

<?php

error_reporting(E_All); // mostrar erros

ob_start(); // ?

session_start();

// validar login
$usuario = isset($_SESSION['usuario']) ? $_SESSION['usuario'] : ""; 
$usuario = isset($_SESSION['senha'])   ? $_SESSION['senha']   : "";
if(($usuario != "") and ($senha != "")){
    header("Location: home.php");
    die();
}
include_once("conexao2.php");
?>

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../../favicon.ico">

        <title>Signin Template for Bootstrap</title>

        <link href="css/bootstrap.min.css" rel="stylesheet">

        <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">

        <link href="cssprologin/signin.css" rel="stylesheet">

        <script src="js/ie-emulation-modes-warning.js"></script>

        <script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>

    </head>

    <body>

        <div class="container">

            <div> <?php // tirei o form e coloquei uma function no onclick no botao ?>
                <h2 class="form-signin-heading">Please sign in</h2>
                <div style="margin-bottom: 10px; float: left;  margin-right: 10px;">
                    <label for="inputEmail" class="sr-only">Email address</label>
                    <input type="email" id="email" class="form-control" placeholder="Email address" required autofocus>
                </div>
                <div style="margin-bottom: 10px;">
                    <label for="inputPassword" class="sr-only">Password</label>
                    <input type="password" id="senha" class="form-control" placeholder="Password" required>
                </div>
                <div style="margin-bottom: 10px;" class="checkbox">
                    <label>
                        <input type="checkbox" value="remember-me"> Remember me
                    </label>
                </div>
                <div style="margin-bottom: 10px;" class="checkbox">
                    <button class="btn btn-lg btn-primary btn-block" onclick="logar()">Log in</button>
                </div>
            </div>

        </div> <!-- /container -->


        <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
        <script src="js/ie10-viewport-bug-workaround.js"></script>
    </body>
</html>
<script type="text/javascript">
    function logar(){
        // passo os parametro de login via GET
        window.location.href = 'login.php?email='+$('#email').val()+'&senha='+$('#senha').val()+'&acao=logar';
    }
</script>
<?php  
if(isset($_REQUEST['acao'])){     
    if($_REQUEST['acao'] != 'logar'){   
        $acao = $_REQUEST['acao'];
        if($acao=='negado'){
            echo '<div class="alert alert-danger">
            <button type="button" class="close" data-dismiss="alert">�</button>
            <strong>Erro ao acessar!</strong> Voc� precisa estar logado p/ acessar o Sistema.
            </div>';
        }
    } else {
        // RECUPERAR DADOS FORM
        $email = trim($_REQUEST['email']);
        $senha = trim($_REQUEST['senha']);

        // Testes, tirar depois
        //echo $email."<br>".$senha;
        header("Location: home.php"); die();

        try{
            // SELECIONAR BANCO DE DADOS
            $select = "SELECT * from login WHERE BINARY email=:email AND BINARY senha=:senha ";
            $result = $conexao->prepare($select);
            $result->bindParam(':email', $email, PDO::PARAM_STR);
            $result->bindParam(':senha', $senha, PDO::PARAM_STR);
            $result->execute();
            $contar = $result->rowCount();
            if($contar > 0){
                $email = $_REQUEST['email'];
                $senha = $_REQUEST['senha'];
                $_SESSION['usuario'] = $email;
                $_SESSION['senha'] = $senha;

                echo '<div class="alert alert-success">
                <button type="button" class="close" data-dismiss="alert">�</button>
                <strong>Logado com Sucesso!</strong> Redirecionando para o sistema.
                </div>';

                header("Refresh: 3, home.php?acao=welcome");
            }else{
                echo '<div class="alert alert-danger">
                <button type="button" class="close" data-dismiss="alert">�</button>
                <strong>Erro ao logar!</strong> Os dados est�o incorretos.
                </div>';
            }  
        } catch(Exception $e) {
            echo $e->getMessage();
        }
    }
} 
?>

Hiago Orneles
   - 23 abr 2016

No caso esse funcionou porém qualquer pessoa mesmo que não esteja cadastrada no site pode logar

Raylan
|
MVP
Pontos: 690
    23 abr 2016

Tira esse pedaço que está escrito 'TESTES', kct. E continua a partir daí.

#Código

// Testes, tirar depois
        //echo $email."<br>".$senha;
        header("Location: home.php"); die();

Hiago Orneles
   - 23 abr 2016

Não entendi o que vc quis dizer

Raylan
|
MVP
Pontos: 690
    23 abr 2016

#Código

<?php
 
error_reporting(E_All); // mostrar erros
 
ob_start(); // ?
 
session_start();
 
// validar login
$usuario = isset($_SESSION['usuario']) ? $_SESSION['usuario'] : ""; 
$usuario = isset($_SESSION['senha'])   ? $_SESSION['senha']   : "";
if(($usuario != "") and ($senha != "")){
    header("Location: home.php");
    die();
}
include_once("conexao2.php");
?>
 
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../../favicon.ico">
 
        <title>Signin Template for Bootstrap</title>
 
        <link href="css/bootstrap.min.css" rel="stylesheet">
 
        <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">
 
        <link href="cssprologin/signin.css" rel="stylesheet">
 
        <script src="js/ie-emulation-modes-warning.js"></script>
 
        <script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
 
    </head>
 
    <body>
 
        <div class="container">
 
            <div> <?php // tirei o form e coloquei uma function no onclick no botao ?>
                <h2 class="form-signin-heading">Please sign in</h2>
                <div style="margin-bottom: 10px; float: left;  margin-right: 10px;">
                    <label for="inputEmail" class="sr-only">Email address</label>
                    <input type="email" id="email" class="form-control" placeholder="Email address" required autofocus>
                </div>
                <div style="margin-bottom: 10px;">
                    <label for="inputPassword" class="sr-only">Password</label>
                    <input type="password" id="senha" class="form-control" placeholder="Password" required>
                </div>
                <div style="margin-bottom: 10px;" class="checkbox">
                    <label>
                        <input type="checkbox" value="remember-me"> Remember me
                    </label>
                </div>
                <div style="margin-bottom: 10px;" class="checkbox">
                    <button class="btn btn-lg btn-primary btn-block" onclick="logar()">Log in</button>
                </div>
            </div>
 
        </div> <!-- /container -->
 
 
        <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
        <script src="js/ie10-viewport-bug-workaround.js"></script>
    </body>
</html>
<script type="text/javascript">
    function logar(){
        // passo os parametro de login via GET
        window.location.href = 'login.php?email='+$('#email').val()+'&senha='+$('#senha').val()+'&acao=logar';
    }
</script>
<?php  
if(isset($_REQUEST['acao'])){     
    if($_REQUEST['acao'] != 'logar'){   
        $acao = $_REQUEST['acao'];
        if($acao=='negado'){
            echo '<div class="alert alert-danger">
            <button type="button" class="close" data-dismiss="alert">�</button>
            <strong>Erro ao acessar!</strong> Voc� precisa estar logado p/ acessar o Sistema.
            </div>';
        }
    } else {
        // RECUPERAR DADOS FORM
        $email = trim($_REQUEST['email']);
        $senha = trim($_REQUEST['senha']);
 
        try{
            // SELECIONAR BANCO DE DADOS
            $select = "SELECT * from login WHERE BINARY email=:email AND BINARY senha=:senha ";
            $result = $conexao->prepare($select);
            $result->bindParam(':email', $email, PDO::PARAM_STR);
            $result->bindParam(':senha', $senha, PDO::PARAM_STR);
            $result->execute();
            $contar = $result->rowCount();
            if($contar > 0){
                $email = $_REQUEST['email'];
                $senha = $_REQUEST['senha'];
                $_SESSION['usuario'] = $email;
                $_SESSION['senha'] = $senha;
 
                echo '<div class="alert alert-success">
                <button type="button" class="close" data-dismiss="alert">�</button>
                <strong>Logado com Sucesso!</strong> Redirecionando para o sistema.
                </div>';
 
                header("Refresh: 3, home.php?acao=welcome");
            }else{
                echo '<div class="alert alert-danger">
                <button type="button" class="close" data-dismiss="alert">�</button>
                <strong>Erro ao logar!</strong> Os dados est�o incorretos.
                </div>';
            }  
        } catch(Exception $e) {
            echo $e->getMessage();
        }
    }
} 
?>

Hiago Orneles
   - 23 abr 2016

Não funcionou nem esta logando agora tava tentado fazer uns negocios aki que nem mesmo assim funcionou