Jump to content
studdiox

Parece Brincadeira mas não estou conseguindo Help

Recommended Posts

Opa galera tudo certinho sou iniciante e a um tempo atrás fiz um sisteminha com session deixei parado e essa semana resolvi usar ele o que para minha surpresa não esta funcionando mais devido a atualização da versão do php na minha hospedagem .... bom se alguém puder me dar uma força ja tentei de tudo mas não consegui meu conhecimento é baixo ainda ....

 

Erro esta no final do código  teria que substituir if(!session_is_registered("nome")) { 

 

Citar

session_is_registered

 

segue o código de verificação completo

<?
session_name("name");
session_start();

if($acao == "logar") {
   $conn = mysql_connect("mysql.servidor.com.br","user","senha"); //configure os dados do seu MySQL
   $banco = mysql_select_db("banco"); //coloque o nome do seu banco de dados
   
   $nome = $_POST['nome'];
   $q_user = mysql_query("SELECT * FROM login WHERE login='$nome'");

   if(mysql_num_rows($q_user) == 1) {
   
       $query = mysql_query("SELECT * FROM login WHERE login='$nome'");
       $dados = mysql_fetch_array($query);
   
	if($_POST['pwd'] == $dados['senha']) {
           session_register("nome");
           header("Location: admin.php");
           exit;
    }
    // Senha inválida
    else
    {
    echo("<script>");
	echo("alert('Senha Inválida !!');");
	echo("document.location='index.php';");
	echo("</script>");
    }
}
// Login inválido
    else
    {
      echo("<script>");
      echo("alert('Login Inválido !!');");
      echo("document.location='index.php';");
      echo("</script>");
    }
  }
    //agora a parte que verifica se o login já foi feito
    if(!session_is_registered("nome")) {
      // Usuário não logado! Redireciona para a página de login
      echo("<script>");
      echo("alert('Acesso Negado !!');");
      echo("document.location='log-admin.php';");
      echo("</script>");
    }
  ?>

Share this post


Link to post
Share on other sites

Olá!
Segue sugestão
 

<?php

  // arquivo conexão

  // ativa a exibição de erros
  error_reporting(E_ALL);

  // variáveis para conexão
  $host = 'localhost';     // define o host do banco de dados
  $user = 'root';          // user do banco de dados
  $password = '';          // senha do banco de dados
  $database = 'database';  // nome do banco de dados

  // estabelecer conexão com o mysql
  $sqli = new mysqli($host, $user, $password);


  // verificar se houve erro na conexão
  if ($sqli->connect_error) {
    // se houve erro, mostra erro na tela
    echo "<p>Erro ao Conectar: $sqli->connect_error</p>";
  }
  // alterar o tipo de codificação da conexão com o banco de dados,  para utf8
  if (!$sqli->set_charset('utf8')) {
    echo "<p class='error'>O charset não é utf8: $sqli->error</p>";
  }
  // selecionar/abrir o banco de dados para trabalhar
  if (!$sqli->select_db($database)) {
    // se o banco de dados não for encontrado
    echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
  }


  // arquivo de verificar o login

  session_start();

  if (isset($_GET['acao']) && $_GET['acao'] == 'logar') {

    // trata o nome
    $nome = $sqli->real_escape_string($_POST['nome']);

    // define a query de busca
    $query = "SELECT * FROM login WHERE login='$nome' LIMIT 1";

    // executa a query e guarda o resultado em $result
    $result = $sqli->query($query);

    // se há algum resultado
    if ($result->num_rows) {

      // guarda o resultado em $dados
      $dados = $result->fetch_assoc();

      // verificar se a senha postada é igual a senha retornada
      if ($_POST['pwd'] == $dados['senha']) {

        // registra o user na sessão
        $_SESSION['user'] = $dados;

        // redireciona para admin.php
        header('Location: admin.php');
        exit;
      } // Se a senha não confere
      else {
        echo '<script>'
          . 'alert("Senha Inválida !!");'
          . 'document.location="index.php";'
          . '</script>';
      }
    } // Se não há resultados em $result, o Login é inválido
    else {
      echo '<script>'
        . 'alert("Login Inválido !!");'
        . 'document.location="index.php";'
        . '</script>';
    }
  }


  //agora a parte que verifica se o login já foi feito

  // se não há user em $_SESSION
  if (!isset($_SESSION['user'])) {
    // Usuário não logado! Redireciona para a página de login
    echo '<script>'
      . 'alert("Acesso Negado !!");'
      . 'document.location="log-admin.php";'
      . '</script>';
  }

 

Share this post


Link to post
Share on other sites

Washalbano já não tem mais a mensagem de erro anterior aparece somente uma mensagem de alerta dizendo acesso negado e e na pagina aparece a seguinte mensagem na  linha 38 a qual seria essa parte do código

 

Citar

 if ($acao == 'logar') {

 

Untitled-1.jpg

Share this post


Link to post
Share on other sites

Onde o sr. criou a variável $acao?
Se existe um campo do seu form method='post' com name='acao' e value='logar', faça assim:
if(isset($_POST['acao']) && $_POST['acao']=='logar'){

Share this post


Link to post
Share on other sites
52 minutos atrás, tetsuo disse:

Onde o sr. criou a variável $acao?
Se existe um campo do seu form method='post' com name='acao' e value='logar', faça assim:
if(isset($_POST['acao']) && $_POST['acao']=='logar'){

 

 

OK Vou postar o código

 

Share this post


Link to post
Share on other sites
4 minutos atrás, studdiox disse:

 

 

OK Vou postar o código

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>: : : PAINEL DE ADMINISTRACAO DO WEBSITE : : :</title>
<style type="text/css">
<!--
body, td, th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; }
body { background-color: #000000; }
a:link { color: #000000; text-decoration: none; }
a:visited { color: #000000; text-decoration: none; }
a:hover { color: #000000; text-decoration: none; }
a:active { color: #000000; text-decoration: none; }
-->
</style>
</head>
<body>

<form name="form1" method="post" action="loga.php?acao=logar">
  <div align="center">
    <p>&nbsp;</p>
    <p>Painel de Acesso <br>
    </p>
  </div>
  <table width="338" border="0" align="center" cellpadding="4" cellspacing="2">
    <tr>
      <td width="59" bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">NOME
        : </td>
      <td width="239" bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">
        <label>
        <input name="nome" type="text" id="nome" size="35">
        </label>
      </td>
    </tr>
    <tr>
      <td bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">SENHA
        : </td>
      <td bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">
        <label>
        <input name="pwd" type="password" id="pwd" size="35">
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2" bordercolor="#333333" bgcolor="#333333">
        <div align="center">
          <label>
          <input type="submit" name="Submit" value="ENTRAR">
          </label>
          <div align="right"></div>
        </div>
        <div align="right"></div>
      </td>
    </tr>
  </table>
  <div align="center"><br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <label> </label>
    <a href="deslogar.php">Deslogar</a><br>
  </div>
</form>
</body>
</html>

 

Share this post


Link to post
Share on other sites

ok

ja fiz assim

 

    <?php
        session_name("user1,user2");
        session_start();
        session_destroy();
    ?>

 

mas continua dando o mesmo erro não logado erro linho 38

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Evandrorussi
      Olá pessoal,
       
      Trabalho com PHP a uns 6 anos e me deparei com um problema de session que nunca ouvi falar, pelo menos não encontrei nada pela internet desse tipo. Tenho um servidor dedicado no Google Cloud e o site tem um sistema de login via session. O problema é que a session funciona aleatoriamente, tem hora que não funciona, o cliente troca de tela e o servidor perde a session e pede pra logar novamente, isso não acontece com todos usuários, comigo por exemplo não acontece.
      O cara que trabalha comigo não ocorria esse problema mas agora começou a acontecer e ele reparou que com guia anônima o problema não ocorre.
       
      Caso alguém pergunte, session_start() está iniciando em todas as páginas.
       
      Abraço
       
       
    • By darkside88
      Esse é meu código porém não está exibindo dentro dos inputs as informações recuperadas da página EDITAR nos campos! <?php //ini_set('display_errors', 0); include('conexao/connection.php'); session_start(); $cli_codigo = intval($_GET['usuario']); if(isset($_POST['confirma'])){     //Registrar Dados     if(!isset($_SESSION))         session_start();       foreach($_POST as $chave=>$valor)         $_SESSION[$chave] = $con->real_escape_string($valor);       //Validar     if (strlen($_SESSION['nome']) == 0)     $erro[] = "Preencha o campo Nome";            if (strlen($_SESSION['wpp']) == 0)     $erro[] = "Preencha o campo WhatsApp";       if (strtotime($_SESSION['dt1']) > strtotime($_SESSION['dt2']) || strtotime($_SESSION['dt1']) == strtotime($_SESSION['dt2']))     $erro[] = "A Data de Criação no IPTV deve ser menor que a Data de Vencimento no IPTV ou não podem ser iguais";           //Inserir       if(count($erro) == 0){         $sql_code = "UPDATE cadastrocliente set             nomecli = '$_SESSION[nome]',             email = '$_SESSION',             wpp = '$_SESSION[wpp]',             srv = '$_SESSION[srv]',              srv = '$_SESSION[dt1]',                         dataVI = '$_SESSION[dt2]',             app = '$_SESSION[app]'             WHERE nomecli = '$cli_codigo'";         $confirma = $con->query($sql_code) or die($con->error);         if($confirma){             unset(                 $_SESSION[nome],                 $_SESSION,                 $_SESSION[wpp],                 $_SESSION[srv],                 $_SESSION[dt1],                 $_SESSION[dt2],                 $_SESSION[app]                          );                         header("Location: index.php?p=listarcliente");         }else{             $erro[] = $confirma;         }     }else{         $sql_code = "SELECT * FROM cadastrocliente WHERE id_cliente= '$cli_codigo'";         $sql_query = $con->query($sql_code) or die($con->error);         $linha = $sql_query->fetch_assoc();           $_SESSION[nome] = $linha['nomeCli'];         $_SESSION = $linha['email'];         $_SESSION[wpp] = $linha['wpp'];         $_SESSION[srv] = $linha['srv'];         $_SESSION[srv] = $linha['dt1'];         $_SESSION[dt2] = $linha['dt2'];         $_SESSION[app]  = $linha['app'];     } }   ?> <?php   if (count($erro) > 0) {     echo "<div class='alert alert-danger'>";     foreach ($erro as $valor)         echo "$valor <br>";          echo "</div>";}  ?> <form class="container-fluid" action="index.php?p=editar&usuario=<?php echo $cli_codigo?>" method="POST">     <label for="nome">Nome do Cliente</label>     <input type="text" name="nome" value="<?php echo $_SESSION[nome]?>" class="form-control" placeholder="Nome Completo do Cliente">     <label for="email">Email</label>     <input type="email" name="email" value="<?php echo $_SESSION?>" class="form-control" placeholder="nome@exemplo.com">     <label for="mensagem">WhatsApp</label>     <input type="text" name="wpp" value="<?php echo $_SESSION[wpp]?>" class="form-control" placeholder="Digite o seu Whatsapp (DD) 9 XXXX-XXXX"         id="celular" name="mensagem">     <script type="text/javascript">     $("#telefone,#celular").mask("(00) 0 0000-0000");     </script>     <label for="srv">Servidor do Cliente</label>     <input type="text" name="srv" value="<?php echo $_SESSION[wpp]?>" class="form-control" placeholder="Servidor do Cliente">     <label for="dt1">Data de Criação no IPTV</label>     <input type="date" value="<?php echo $_SESSION[dt1]?>" data- provide="datepicker" name="dt1" class="form-control">     <label for="dt2">Data de Vencimento no IPTV</label>     <input type="date" name="dt2" value="<?php echo $_SESSION[dt2]?>" class="form-control">     <label for="app">App doCliente</label>     <input type="text" name="app" value="<?php echo $_SESSION[app]?>" class="form-control" placeholder="App do Cliente">     <input type="submit" name="confirma" class="form-control btn btn-dark mt-4 mb-4 " value="Cadastrar">   </form>
    • By fabina
      Ola tenho um questionario feito  em php  guardo o valor das respostas no banco   e depois    tem um resultado por cada area  que ele respondeu ate ai responde  super bem mais quando  duas pessoas começam a fazer  ele  perde o valor da session e nao  exibe o valor para o meu usuario ,ou as vezes troca o nome do usuario x para y 
    • By Redschenko
      Boa tarde.

      Tenho um sistema onde o usuário faz login e grava a sessão
      $_SESSION['LOGADO'] = true; Nesta página com acesso restrito verifico se o usuário está logado. Caso não, redireciono para página de login.
       
      if(!isset ($_SESSION['LOGADO']) == true) { header("Location:../../index.php?t=d&m=4"); exit(); } Isto estava funcionando corretamente, porém após passar a utilizar https, na página com acesso restrito a verificação ($_SESSION['LOGADO'] == true) está sempre redirecionando para a página de login.
      Alguém sabe se há alguma particularidade para casos onde seja HTTPS?
       
      Agradeço a atenção
      Rodrigo de Oliveira
    • By brunoogm
      Pessoal tenho o seguinte codigo:
       
      <!DOCTYPE html>
      <html lang="pt-br">
          <head>
              <meta charset="utf-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1">
              <title>KADAM - Menu Digital</title>
              <link rel="icon" href="../imagens/img.png" type="image.png" />
              <link href="../css/bootstrap.min.css" rel="stylesheet">
              <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
              <link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.7.0/css/all.css' integrity='sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ' crossorigin='anonymous'>
              <script src="../js/bootstrap.min.js"></script>
              
              <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
              <script src="sweetalert2.all.min.js"></script>
              <script src="https://cdn.jsdelivr.net/npm/promise-polyfill"></script>
          </head>
          <body>
              <div class="container theme-showcase" role="main">

      <?php
      session_start();
      include_once("php/conexao.php");

      $idPessoa = $_SESSION['id_pessoa'];
      $id_cliente = $_SESSION['id_user']; 
      $cont = $_SESSION['cont'];
       
      echo "ID cliente: ".$id_cliente."<br>";
      echo "Cont: ".$cont."<br>";
       
      $endereco = filter_input(INPUT_POST, 'endereco');
      $total = filter_input(INPUT_POST, 'Total');
      $metodopag = filter_input(INPUT_POST, 'pagamento');
      $troco = filter_input(INPUT_POST, 'troco');
      $cpfnota = filter_input(INPUT_POST, 'cpfnota');
      $query= "Select * from enderecocliente WHERE CodigoEndereco = $endereco";
      $resulta = mysqli_query($conectar, $query);
      $resultado = mysqli_fetch_array($resulta);

      //echo "Cod Endereco: ".$endereco."<br>";
      //echo "Nome Cidade: ".$resultado['NomeCidade']."<br>";
      //echo "Endereco: ".$resultado['Endereco']."<br>";
      //echo "Cep: ".$resultado['CEP']."<br>";
      //echo "numero: ".$resultado['Numero']."<br>";
      //echo "Cod Endereco: ".$resultado['Bairro']."<br>";
      //echo "Cod Endereco: ".$resultado['Estado']."<br>";
      //echo "Cod Endereco: ".$metodopag."<br>";
      //echo "Total: ".$total."<br>";

      $query ="UPDATE comanda SET ValorTotal= '$total', CodigoEndereco= $resultado[CodigoEndereco], CodigoMetodoPag = $metodopag, CodigoSituacao = '3' WHERE CodigoComanda = $cont";
      $resultado = @mysqli_query($conectar, $query);
      $query2 ="INSERT INTO pagamento  (CodigoComanda, CpfNota, CodigoMetodoPag, Troco, ValorTotal) VALUES ('$cont', '$cpfnota', '$metodopag', '$troco', '$total')";
      $resultado2 = @mysqli_query($conectar, $query2);
      $_SESSION['cont'] = 0;
      if (mysqli_affected_rows($conectar)) {
              
      ?>
      <script>
          swal({
              
              closeOnEsc: false,
              closeOnClickOutside: false,
              title: "Sucesso!",
              text: "Parabéns! Pedido enviado com sucesso!",
              icon: "success",
              button: "Ok",
                  }).then(function(){   
                      window.location.href = "../carrinho.php"; 
                      });
      </script>
                  
                  <?php } else { ?>
      <script>
          swal({
              
              closeOnEsc: false,
              closeOnClickOutside: false,
              title: "Erro!",
              text: "Ops! Seu pedido não foi enviado!",
              icon: "error",
              button: "Ok",
                  }).then(function(){   
                      window.location.href = "../carrinho.php"; 
                      });
      </script>
      <?php } ?>
       
       
      Testando em localhost esse código funciona normalmente onde os valores das sessions estão sempre disponíveis,
      porem agora que coloquei o site no ar essas sessões não estão mais apresentando valores, e é somente nessa pagina que isso acontece
      nas outras paginas elas apresentam seus valores corretamente...
       
      Alguém tem alguma sugestão, do que poderia ser ?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.