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

Parece Brincadeira mas não estou conseguindo Help


studdiox

Pergunta

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 já 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")) { 

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

Tentei trocar por

if(!isset($_SESSION["nome"]) = array()

ou

if(!$_SESSION['nome']

 
mas não funcionou também 

 
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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>';
  }

 

Editado por wash
Link para o comentário
Compartilhar em outros sites

  • 0

Fala  vou ver o que acontece no servidor e volto aqui para comentar muito obrigado pela sugestão meu amigo.

Mas 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.904a113cefd1d026869f8dcdb

código do formulário de envio

 

<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>

 



 

Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...