Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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>");
    }
  ?>

Compartilhar este post


Link para o post
Compartilhar em outros 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>';
  }

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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'){

Compartilhar este post


Link para o post
Compartilhar em outros 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

 

Compartilhar este post


Link para o post
Compartilhar em outros 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>

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Negrito
      Olá,
       
      Estou quebrando a cabeça com o recurso Session_OnStart , pois eu gostaria que algumas paginas/arquivos .asp tivessem exceções.
       
      Criei o Global.ASA com o seguinte contexto:
       
      <SCRIPT RUNAT=Server Language="VBScript">
      Sub Session_OnStart
        startPage = "/default.asp"
        currentPage = Request.ServerVariables("SCRIPT_NAME")
        If strcomp(currentPage,startPage,1) then
          Response.Redirect("/default.asp")
        End If
      End Sub
      </SCRIPT>
       
      Ele funciona perfeitamente, quando tento acessar qualquer pagina ou subdiretorio diretamente pela URL, ele me joga para a pagina inicial.
       
      Porem, eu gostaria de ter exceções em alguns diretorios e paginas .ASP , onde eu gostaria de liberar o acesso direto ao digitar a URL.
       
      Alguem sabe me informar se é possivel ? 
       
      Obrigado.
       
       
    • Por k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • Por Alberto Nascimento
      Estou tendo problemas de acesso ao Session, onde quando realizo login via computador, consigo "pegar" os dados que foram armazenados na sesion, mas quando utilizo o sistema de login no telefone ( android, por exemplo ) a session não esta conseguindo carregar os dados do usuário logado e exibir na página seguinte.
       
      Outra coisa que observei é que não consigo trabalhar com session em pastas diferentes, isso é normal? Veja só:
       
       
      Utilizando esta estrutura, não consigo ter acesso ao session no sistema ANDROID
       
      Agora se ao invés de ser como esta acima, faço uma pasta com todos os arquivos juntos, já consigo "pegar" os dados da session. Isso é normal?
    • Por tony_lu
      Ola pessoal, tenho uma hospedagem de php na hostgator e estou tentando rodar uma rotina com session e esta dando erro, na pagina só tem este código:
       
      <?php  session_start();  ?> E esta dando este erro:
      Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home2/sitewww/public_html/carrinho.php:1) in /home2/sitewww/public_html/carrinho.php on line 2
       
      Alguem pode me ajudar?
    • Por 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
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.