Ir para conteúdo
Fórum Script Brasil
  • 0

Warning : session_start(): Cannot start session when headers already sent


Aak_Ray

Pergunta

Olá, estou com problemas para fazer conexão com a minha conta adm e acessar a página que desejo. Testei o código em um servidor local criado pelo xampp e funciona normalmente, mas foi só fazer um upload para a web e parou de funcionar. Erro: 

 

Warning: session_start(): Cannot start session when headers already sent in [...] on line28

 

Código (página de acesso) -------------------------------------------------------------------------------------

<?php
require_once '../../Controller/adm-login/checarexistencia.php';
$u = new Usuario;?>
<html lang="pt-br">
<head>
<link rel="shortcut icon" href="../../Model/img/cadeado.png">
<meta charset="utf-8">
<link rel="stylesheet" href="../../Model/estilo/estilodado.css" type="text/css" media="screen">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"
        integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
<title> Dados Restritos </title>
</head> <body>
  <div class="container">
    <div class="content first-content">           
           <div class="second-column">
            <p class="title1"> Usuário </p>
            <form class="form" method="POST">
              <label for="" class="label-input">
                <i class="far fa-user"></i>
              <input class="form-input" type="text" name="nome" required  placeholder="Usuario" maxlength="50"></label> 
              <label for="" class="label-input">
                <i class="fas fa-key"></i>
              <input class="form-input" type="password" name="senha" required placeholder="Senha" maxlength="45"></label> 
              <input class="btn" type="submit" value="Login">

<?php
if(isset($_POST['nome']))
 {
  $nome = addslashes($_POST['nome']);
  $senha = addslashes($_POST['senha']);
  //verificar se não está vázio
  if(!empty($nome) && !empty($senha))
  {

     //obs: deixei sem as informações de conexão com o banco, mas está conectando corretamente
     $u->conectar("#,"#","#,"#");
      if($u->msgErro == "")//se esta tudo ok
         {
      
         if($u->logar($nome,$senha)){
         header('Location: ../../View/dadosfiltrados.php');
    }
    else{
      ?>
        <div class="msg-erro">
        Usuario ou senha estão incorretos!
        </div>
      <?php
      }
     }
     else{
      ?> 
        <div class="msg-erro">
        <?php echo "Erro ".$u->msgERRO; ?>  
        </div>  
      <?php
     }

    }
    else{
      ?>
      <div class="msg-erro">
       Preencha todos os campos!
        </div>
    <?php
    }
}
 ?></form></div></div>
<a class="home animacao" href="../View/index.php"><img src="../../Model/img/home.png"></a>

</body>
</html>

-------------------------------------------------------------------------------------------------------------------

 

Código (checar existência de usuário) -----------------------------------------------------------------------

<?php
$mysqli = new PDO("mysql:dbname=#;host=#","#","#"); 
 class Usuario
{
    private $pdo;
    public $msgErro = "";
    public function conectar($nome, $host, $usuario, $senha)
    {
        global $pdo;
        global $msgErro;
        try {
        $pdo = new PDO("mysql:dbname=".$nome.";host=".$host,$usuario,$senha);    
        } catch (PDOException $e) {
            $msgErro = $e->getMessage(); 
        }
        
    }  
    public function logar($nome, $senha)
    {
        global $pdo;
       
        $sql = $pdo->prepare("SELECT * from admin where nome = :n and senha = :s");
        $sql->bindValue(":n",$nome);
        $sql->bindValue(":s",md5($senha));
        $sql->execute();
        if($sql->rowCount() > 0)
        {
           $dado = $sql->fetch();
           session_start();
           $_SESSION['idadmin'] = $dado['idadmin'];
           return true; 
        }
        else
        {
           return false;
        }
    }
}?>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...