Jump to content
Fórum Script Brasil
  • 0

Parece Brincadeira mas não estou conseguindo Help


Question

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 to post
Share on other sites

2 answers to this question

Recommended Posts

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

 

Edited by wash
Link to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149264
    • Total Posts
      645605
×
×
  • Create New...