Jump to content

Search the Community

Showing results for tags 'session'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 102 results

  1. Kaio Augusto de Castro

    Duvida com a Sessão (session) no php

    e ai pessoal blz? Bom sou novo em PHP e estou com umas duvidas aqui no assunto $_SESSION[' ']; e a minha duvida é o seguinte: Se eu cria a session pra ela me retornar uma resposta de uma outra pagina que foi executada, obrigatoriamente eu teria que limpar essas session para que o usuário não pudesse ter acesso as informações que ele sou anteriormente nos campos. Até ai eu meio que compreendi, o que não me entra na cabeça é: Se eu acabar de usar o código para limpar/fechar a sessão ele tbm vai limpar as informações que ficam guardados o usuário que esta acessando aquela pagina?(no caso a pagina só pode ter acesso quem esta logado) Caso limpe tudo é possível criar mais de uma session?Ex "$_SESSION_LOGIN[' '] e $_SESSION[' ']" ? se for possível como faço pra limpar os dados de uma sem mexer nas outras sessions? Lembre-se eu sou iniciante por isso tenham paciência! :)
  2. Galera,Estou com uma dúvida que está me matando.. Tenho 2 tabelas que estão relacionadas:Usuarios (Campos: id, usuario, datacadastro, sexo, etc.......)Tab_Livros (Campos: id, usuario, livro1)Quando o usuário faz o login.. ele traz perfeitamente o nome do usuário que está logado, além dos demais dados que contém na Tabela Usuários (data cadastro, sexo.. etc).Porém, tudo que está na Tab_Livros, não puxa na session desse usuário que está logado.Segue o código de autenticação: <?php $usuario=$_POST['usuario']; $senha=$_POST['senha']; $sql = mysqli_query($conn, "SELECT * FROM usuarios WHERE usuario = '$usuario' and senha = '$senha'") or die (mysqli_error()); $row = mysqli_fetch_assoc($sql); if($row > 0) { session_start(); $_SESSION[ 'usuario' ] = $row[ 'usuario' ]; //armazenando usuario $_SESSION[ 'dados_user' ] = $row; //armazenando tudo em forma de array associativo echo "<center>Autenticação OK! Você será redirecionado, Aguarde!</center>"; echo "<script>loginsuccessfully()</script>"; } else { echo "<center>Senha ou User invalidos</center>"; echo "<script>loginfailed()</script>"; } ?> Segue a pagina index.php <?php include("classe/conexao.php"); $consulta = "SELECT * FROM usuarios INNER JOIN Tab_Livros ON usuarios.usuario = Tab_Livros.usuario LIKE usuarios.usuario and Tab_Livros.usuario = '".$_GET['usuario']."'"; $con = $mysqli->query($consulta) or die($mysqli->error); $usuario=$_GET['usuario']; ?> <?php session_start(); if((!isset ($_SESSION['usuario']) == true)){ unset($_SESSION['usuario']); header('location:login.php'); } ?> <p>Teste de Registros do usuário logado com 2 tabelas</p> <p> </p> <p>Usuário: <?php echo $_SESSION[ 'dados_user' ][ 'usuario' ]; ?><br> Registrou-se em: <?php echo $_SESSION[ 'dados_user' ][ 'datacadastro' ]; ?> <br> <p>Livro (Aqui deve aparecer o dado da Tab_Livros): <?php echo $_SESSION[ 'dados_user' ][ 'livro1' ]; ?> Help meeeeeeeeeee!!
  3. Boa noite. Sou leigo em PHP e atualmente tenho um projeto apenas para fins didáticos. Estou com um sistema de login, e gostaria de armazenar várias informações dentro de uma session. Porém, só estou conseguindo armazenar o email e senha (que é digitado pelo usuário no formulário de login). O formulário de login (index.php) está assim: <div class="modal-body"> <form name="loginform" method="post" action="userauthentication.php" class="form-login"> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> <input type="email" name="email" id="inputEmail" class="form-control" placeholder="Exemplo: usuario@hotmail.com" required autofocus> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> <input type="password" name="senha" id="inputPassword" class="form-control" placeholder="••••••••••••••••" required> </div> </div> O arquivo de autenticação de usuário (userauthentication.php) está assim: <?php $email=$_POST['email']; $senha=$_POST['senha']; $sql = mysql_query ("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'") or die(mysql_error()); $row = mysql_num_rows($sql); if ($row > 0) { session_start(); $_SESSION['email']=$_POST['email']; $_SESSION['senha']=$_POST['senha']; echo "<script>alert('Você foi autenticado com sucesso. Redirecionando...');</script>"; echo "<script>loginsuccessfully()</script>"; //Script para redirecionamento de páginas } else { echo "<script>alert('Usuário ou senha incorretos. Tente novamente.');</script>"; echo "<script>loginfailed()</script>"; //Script para redirecionamento de páginas } ?> Eu gostaria de armazenar todos os dados (nome, endereço, data nascimento, etc) do usuário quando ele logasse com seu login e senha, e depois fazer uma consulta com SESSION, exemplo: .$_SESSION['data_nasc']. Atualmente eu consigo fazer essa consulta como citada acima somente com o EMAIL e SENHA, que são os campos que o usuário completa no formulário de login. Então, na verdade, a session só está armazenando os campos que o usuário digita no login. E como eu disse, eu gostaria de consultar todos os dados, e não somente o que o usuário digita no formulário de login. Eu dei uma olhada neste tópico: https://forum.imasters.com.br/topic/562416-resolvido-mostrar-mais-de-um-dado-do-usuário-logado-php/ porém não consegui resolver.
  4. Sei que já tem uns tópicos antigos aqui no fórum a respeito deste assunto, porém nenhum me ajudou... Comecei com o PHP agora e estou desenvolvendo um sistema de login apenas para testes. Esta é a parte que está fazendo a autenticação do usuário (userauthentication.php): <?php include "conexao.php"; ?> <html> <head> <meta charset="UTF-8"> <title>Authentication</title> <script type="text/javascript"> function loginsuccessfully() { setTimeout("window.location='painel.php'", 0); } function loginfailed() { setTimeout("window.location='index.html#mLogin'", 0); } </script> </head> <body> <?php $email=$_POST['email']; $senha=$_POST['senha']; $sql = mysql_query ("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'") or die(mysql_error()); $row = mysql_num_rows($sql); if ($row > 0) { session_start(); $_SESSION['email']=$_POST['email']; $_SESSION['senha']=$_POST['senha']; echo "<script>alert('Você foi autenticado com sucesso. Redirecionando...');</script>"; echo "<script>loginsuccessfully()</script>"; } else { echo "<script>alert('Usuário ou senha incorretos. Tente novamente.');</script>"; echo "<script>loginfailed()</script>"; } ?> </body> </html> E o navbar (index.php) do meu site está com esta estrutura: <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.html#home"><img src="imagens/logo.png" width="75" height="25"></img></a> </div> <div class="collapse navbar-collapse" id="myNavbar"> <ul class="nav navbar-nav"> <li class="hvr-underline-from-center"><a href="#home" name="modal"><i class="fa fa-home fa-lg" aria-hidden="true"></i> <span class="textomenu">Início</span></font></a></li> <li class="hvr-underline-from-center"><a href="#quemsomos"><i class="fa fa-users fa-lg" aria-hidden="true"></i> <span class="textomenu">Quem Somos</a></li> <li class="hvr-underline-from-center"><a href="#catalogopecas"><i class="fa fa-list-alt fa-lg" aria-hidden="true"></i> <span class="textomenu">Catálogo de Peças</a></li> <li class="hvr-underline-from-center"><a href="#agendamento"><i class="fa fa-clock-o fa-lg" aria-hidden="true"></i> <span class="textomenu">Agendamento de Horários</a></li> <li class="hvr-underline-from-center"><a href=""><i class="fa fa-handshake-o fa-lg"></i> <span class="textomenu">Parceiros</a></li> <li class="hvr-underline-from-center"><a href="#contato"><i class="fa fa-envelope fa-lg" aria-hidden="true"></i> <span class="textomenu">Contato</a></li> <li class="hvr-underline-from-center"><a href="#"><i class="fa fa-question fa-lg" aria-hidden="true"></i> <span class="textomenu">F.A.Q</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal"><a href="#mLogin"><i class="fa fa-user fa-lg" aria-hidden="true"></i> <span class="textomenu">Minha Conta</a></li> </ul> </div> </div> </nav> Eu gostaria que quando o usuário fizesse o login no site, sumisse a <li> do Minha Conta e aparecesse o usuário da pessoa logada. Então ao invés de ficar "Minha Conta" no navbar, ficaria "Bem vindo $usuario!".
  5. Fala galera, beleza?Estou a 2 semanas a fio, aprendendo PHP.. Já fiz os links de cadastro, login e senha, recuperação e tal.. Agora me pintou uma dúvida, que já quebrei muito a cabeça e não consigo, achar uma solução... Bom, tenho a página minhaconta.php nela está a estrutura de quando o cara loga com sucesso e tem a parte, claro que mostra o usuário logado:Nickname: <?php echo $_SESSION['usuario'];?><br> OK!!! Esse não é o problema!!! Queria saber como trazer o resto.. O cara não precisa editar é somente para visualizar:Eu achei que fazendo com os demais campos, o mesmo com o que fiz com o usuário daria certo, mas pelo visto ele só funciona com o campo usuário.Exemplo de como ta: Data de Cadastro: <?php echo $_SESSION['datacadastro'];?><br> Cidade: <?php echo $_SESSION['cidade'];?><br> Se não é dessa maneira acima, como seria? Alguma sugestão? no select está assim: $usuario=$_POST['usuario']; $senha=$_POST['senha']; $sql = mysqli_query($conn, "SELECT * FROM usuarios WHERE usuario = '$usuario' and senha = '$senha'") or die (mysqli_error()); $row = mysqli_fetch_assoc($sql); if($row > 0) { session_start(); $_SESSION['usuario']=$_POST['usuario'];
  6. Eduardo Rocha Kmiecik

    Erro nas páginas PHP

    Bom dia, estou com um problema na minha sessão. Algumas páginas funcionaram e em outras não, mesmo usando o mesmo arquivo "sessao.php". Eu tentei utilizar o "error_reporting('E_WARNING')" (para sumir o aviso da página) porém a sessão não funciona. Ele abre a página normalmente mesmo não estando logado. Segue o arquivo e o erro. Preciso de segurança nas páginas Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /Baldeio/relatorioIndividualCm.php:1) in /home/valedotibagi/www/Baldeio/sessao.phpon line 2 <?php session_start(); if((!isset ($_SESSION['login']) == true) and (!isset ($_SESSION['senha']) == true)) {unset($_SESSION['login']); unset($_SESSION['senha']); header('location:login.php');} $logado = $_SESSION['login']; require('conecta.php'); ?>  <?php include'sessao.php'; ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sem título</title> </head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <?php $idCm= $_GET['idcm']; $sqlcm ="SELECT registro.dataViagem, registro.quantidade, registro.local, registro.hora, registro.dataAtual, login.nomeUsuario, cm.prefixo, motorista.nomeMotorista FROM registro INNER JOIN login ON login.idlogin = registro.login_idlogin INNER JOIN cm ON cm.idcm = registro.cm_idcm INNER JOIN motorista ON motorista.idmotorista = registro.motorista_idmotorista AND idcm = '$idCm' ORDER BY registro.dataViagem DESC"; $result_cm = mysqli_query($con, $sqlcm) or die('Falha na consulta de Usuário'); ?> </head> <body> <nav aria-label=''> <ul class='pager'> <li><a href='relatorioCm.php'>Voltar</a></li> <li><a href='painelAdm.php'> Tela Inicial </a></li> </ul> </nav> <!--INICIO TABELA--> <div class="py-5"> <div class="container"> <div class="row"> <div class="col-md-12"> <table class="table table-hover"> <thead> <tr> <th><center> MOTORISTA</center></th> <th><center><br> CM</center></th> <th><center></span>LOCAL</center></th> <th><center>DATA</center></th> <th><center> CADASTRANTE</center></th> <th><center><br> HORÁRIO</center></th> <th><center>DATA DO CADASTRO</center></th> </tr> </thead> <?php while($arrayCm = mysqli_fetch_array ($result_cm)){ $dataViagem = $arrayCm ['dataViagem']; $prefixo = $arrayCm ['prefixo']; $local = $arrayCm ['local']; $motorista = $arrayCm ['nomeMotorista']; $hora= $arrayCm ['hora']; $dataAtual = $arrayCm ['dataAtual']; $nomeUsuario = $arrayCm ['nomeUsuario']; $dataCerta = date('d/m/Y', strtotime($dataViagem)); $atualData = date('d/m/Y', strtotime($dataAtual)); echo "<tr>"; echo "<td> $motorista </center></td>"; echo "<td><center> <i class='fa fa-truck' style='font-size:20px;'></i> $prefixo </center></td>"; echo "<td><center> $local </center></td>"; echo "<td><center> <span class='glyphicon glyphicon-calendar'></span> $dataCerta </center></td>"; echo "<td><center> $nomeUsuario </center></td>"; echo "<td><center> <span class='glyphicon glyphicon-time'></span> $hora </center></td>"; echo "<td><center> <span class='glyphicon glyphicon-calendar'></span> $atualData </center></td>"; echo "</tr>"; echo "</tr>"; } ?> </div> </div> </div> </div> <!--FIM DE TABELA--> </body> </html>
  7. Preciso pegar/get os dados de uma Array, porém para isso, preciso pegar a KEY dela com um Foreach; Resultado da minha array array (size=2) 0 => array (size=2) 'idProduto' => int 23 'Quantidade' => int 1 1 => array (size=2) 'idProduto' => int 22 'Quantidade' => int 1 Tentei pegar a key assim: foreach($_SESSION['carrinho'] as $carrinho){ $idProduto = $carrinho['idProduto']; $key = key($carrinho); } o idProduto é pego normalmente, entretanto o $key dá print desta forma: $key = idProduto Preciso muito disso, galera; Agradeço a todos, desde já
  8. centurion

    Session não inicia

    Mesmo digitando os dados corretos na tela de login ao clicar no botão entrar não faz o logon e os dados são apagados resetados. server xampp 3.2.2 php 7 mysql 5.1.7.9. Segui o código: <?php ini_set('display_errors', true); error_reporting(E_ALL); require_once 'conexao.php'; $usuario = $_POST['usuario']; $senha = $_POST['senha']; $sql = "select nome, usuario, senha from tab_socios where usuario = '$usuario' and senha = '$senha'"; $query = mysqli_query ($conexao,$sql); $linhas = mysqli_affected_rows($conexao); if ($linhas > 0){ session_start(); $_SESSION['$usuario'] = $usuario; while ($exibirNome = mysqli_fetch_array($query)){ $nome = $exibirNome[0]; $nomeusuario = $exibirNome[1]; $enhausuario = $exibirNome[2]; } $_SESSION['nome'] = $nome; header ("Location:sistema.php"); }else{ print "Dados não conferem!<br>"; print "<a href='index.php'>Voltar</a>"; } ?>
  9. angelweapon

    SESSION E UPDATE.

    Para melhor entender XD....Olá, tenho um sistema de login com senha em uma cadastrar.php, onde o cadastro ocorre perfeitamente, efetuo o login na index.php, e tenho uma page.php para autenticação, na qual verifica o email e senha e zappp, tudo funciona Bonito pacas.. hahaha.. tá... mas aew a minha questão é para profissional (literalmente), tipo: -Vem a pessoa e cadastra, digamos, carlos1@hotmail.com, senha 123, ele loga e tudo funciona... aew vem o marcio2@hotmail.com, senha 321, ele loga e tudo funciona... no banco de dados tudo ta certo email e senha cadastrados, so que...ao logar o carlos1 é redirecionado para pagina1.php, nesta pagina o carlos1 escolhe o seu character.. que vai para o banco de dados no campo ID "1", campo email "carlos1@hotmail.com", campo senha "123" , campo character "elfo"... aewwww a treta... lembra do marcio2?.... o marcio2 ele cadastrou e foi para o banco de dados no campo ID "2", campo email "marcio2@hotmail.com", campo senha "321", campo character "Orc"... mas o Orc cadastrado do marcio foi parar no campo CHARACTER DO carlos1"hotmail.com e o campo character do Marcio2 ficou vazio..... =(.... eu ja tentei : UPDATE usuarios SET Char_nome ='$Char_nome' WHERE idUsuarios ='1'"); ja tentei tambem: UPDATE usuarios SET Char_nome ='$Char_nome' "); << assim todos campos "character viram ORC.... pode ter 10 id's , emails diferente... todos viram orc =( ja tentei com: $inserirUsuario = mysql_query("INSERT INTO usuarios (char_raca) VALUES ('$char_raca'"); << aew nao cadastra nada. entao to bolado... por que a session_start(); esta funcionando para email e senha.. mas por adicionar 1 campo dentro, apos logar e acrescentar a raça... justamente a raça cadastrada nao fica o respectivo email... tudo é cadastrado no id=1... claro se tiver email cadastrado com id=1000, e botar um id=1000 no update na pagina de cadastrar a raça dentro do login vai para o id=1000, so muda o numero do id.. mas cadastrar separado cada um no seu respectivo email.. nao cadastra... alguma ideia..?
  10. fabianotb

    Ajuda: error: Call to undefined function

    Temos o site da empresa em PHP, o qual foi comprado. Depois que alteraram a versão do servidor php, quando eu chamo a página “adicionar.php” ela retorna em branco. Olhando os log, deparei com este erro : PHP Fatal error: Call to undefined function session_is_registered() in /home/empresa/public_html/site/gerenciador_noticias/admin/adicionar.php on line 14 Pelo que andei pesquisando, esta sintaxe foi descontinuada na versão 5.3 do PHP e da versão 5.4 já não funciona mais tendo que alterar a sintaxe. Não sei muito sobre PHP,... como devo alterar esta sintáxe ?Em outras páginas também serão necessárias? <?php if (session_is_registered('user_login')) { //verifica se o usuario foi logado } else{ $username=$_SESSION['username'];// get previous session and go your project page } if(!isset($_POST['escolher']) and !isset($_POST['envia'])){//formulario para escolha do tipo de noticia ?> <a name="top"></a> <font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar Not&iacute;cia</b></font><br> <center> <hr color="#CCCCCC" width="100%"> <br> <font face="Arial, Helvetica, sans-serif" size="1" color="#000000"><b>A not&iacute;cia que voc&ecirc; deseja adicionar, &eacute;:</b> <form action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post"> <input type="radio" name="opcao" value="1" checked> Com Imagem <br> <input type="radio" name="opcao" value="2"> Sem Imagem <br> <br> <input type="hidden" name="escolher"> <input type="submit" name="enviar" value="Adicionar"> </form> </font> <br> <p align="right"><a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a></p> <br> <hr color="#CCCCCC" width="100%"> </center> <?php } elseif (isset($_POST['escolher']) and ($_POST['opcao'] != "")){ if(isset($_POST['opcao']) and ($_POST['opcao'] == "1")){ print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">"); //Se a notícia for submetida //Adicina ao banco de dados supernews if(isset($_POST['envia'])) { if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "") and isset($_FILES['arquivo']) and ($_FILES['arquivo'] != "")){ $query = mysql_query( "SELECT diretorio FROM {$prefixdb}noticias_noticias WHERE diretorio = '{$_FILES['arquivo']['name']}'" ); if(mysql_num_rows($query) == 0) { $uploaddir = 'upload_imagens/'; $allowed_file_types = array(1 => 'jpg','jpeg','png', 'gif','JPEG','JPG','PNG','GIF'); $extension_array = explode('.', $_FILES['arquivo']['name']); $extension = $extension_array[1]; if (in_array($extension, $allowed_file_types)) { if($_FILES['arquivo']['size'] > "1000000"){ print("<SCRIPT> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n"); } else { $dim_figura = @getimagesize($_FILES['arquivo']['tmp_name']); //dimesao da imagem $largura = $dim_figura[0]; $altura = $dim_figura[1]; $filename = $_FILES['arquivo']['name']; $dirgaleria = $config_galeria['urlgaleria']; // URL da galeria de fotos $uploaddir2 = $config_galeria['dirservidor']; // Diretorio no servidor if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $_FILES['arquivo']['name'])) { $diretorio = $_FILES['arquivo']['name']; //classe que gera os thumbnails include_once("thumbnail.php"); $imn = new ImageManipulator; $imn -> ImageManipulator(); $imn -> decider($extension,$filename,$config_galeria['thumb_largura'],$config_galeria['thumb_altura'],$config_galeria['jpeg_qualidade'],$dirgaleria,$uploaddir2,$config_galeria['thumb_sufix'],$config_galeria['chmod_pics']); } else { print("Houve um erro na transferencia do arquivo:\n"); if($_FILES['arquivo']['error'] == 1){ print("O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini"); } elseif($_FILES['arquivo']['error'] == 2){ print("O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário html."); } elseif($_FILES['arquivo']['error'] == 3){ print("o upload do arquivo foi feito parcialmente."); } elseif($_FILES['arquivo']['error'] == 4){ print("Não foi feito o upload do arquivo."); } } } } else { print("<center><font color=\"#FF0000\" size=\"1\"><b>Somente arquivos com extensão .gif e .jpeg são suportados</b></font></center>"); die(); } } else { print("<script>alert('Esta imagem já está cadastrada no banco de dados'); history.back();</script>"); die(); } $largura = $largura; $altura = $altura; $secao = formatDados($_POST['secao']); $titulo = formatDados($_POST['titulo']); if (!get_magic_quotes_gpc()) { $conteudo = addslashes(ereg_replace("[\"\"]","",($_POST['ftb_geral']))); } else { $conteudo = ereg_replace("[\"\"]","",($_POST['ftb_geral'])); } $data = date("Y-m-d H:i:s"); $sql = "INSERT INTO {$prefixdb}noticias_noticias SET diretorio='$diretorio', idcategoria='$secao', largura='$largura', altura='$altura', titulo='$titulo', conteudo='$conteudo', data='$data'"; if(@mysql_query($sql)){ print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A not&iacute;cia foi adicionada com sucesso! <br>Voc&ecirc; est&aacute; sendo redirecionado para o Painel de Administra&ccedil;&atilde;o</b></font></p>"); } else { print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a not&iacute;cia " . mysql_error() . '</b></font></p><br>'); } } else { print("<center><b>Todos os campos são obrigatórios <br> <a href='javascript:history.go(-1)'>Voltar</a></b></center>"); } } else { //Se a variavel envia não for setada ?> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a></div></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar Not&iacute;cia com imagem</b></font> <hr color="#CCCCCC"></td> </tr><tr><td> <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);"> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Upload para Imagem:*</b></font></p></td></tr> <tr> <td> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="file" name="arquivo" size="38"> </td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>se&ccedil;&atilde;o:*</b></font> </td> </tr> <tr> <td> <?php $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias_noticias ORDER BY categoria"); if($consulta_sql){ print('<select name="secao" size="1">'); if(mysql_num_rows($consulta_sql) > 0){ while($linha = mysql_fetch_array($consulta_sql)){ $idcat = $linha['id']; $categoria = $linha['categoria']; print('<option value="'.$idcat.'">'.$categoria.'</option>'); } } else { print('<option value="">Não há Categorias cadastradas</option>'); } print('</select>'); } ?> </td> </tr> <tr> <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>T&iacute;tulo:*</b></font> </td> </tr> <tr> <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td> </tr> <tr> <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conte&uacute;do:*</b></font></p></td> </tr> <tr> <td> <?php include("editor_html.php"); ?> </td> </tr> <tr> <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="1"> <input type="submit" name="envia" value="Adicionar" /> | <input type="reset" name="limpa" value="Limpar" \> </form> <br> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">* Campos obrigatórios</font> </td> </tr> <tr> <td> <hr color="#CCCCCC"> </td> </tr> </table> </center> </div> <br> <center> <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a> | <a class="noticia" href="#top" target="_self">Topo</a> </center> <?php } } elseif(isset($_POST['opcao']) and ($_POST['opcao'] == "2")) { print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">"); //Se a notícia for submetida //Adicina ao banco de dados supernews if(isset($_POST['envia'])) { if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "")){ $secao = formatDados($_POST['secao']); $titulo = formatDados($_POST['titulo']); if (!get_magic_quotes_gpc()) { $conteudo = addslashes(ereg_replace("[\"\"]","",($_POST['ftb_geral']))); } else { $conteudo = ereg_replace("[\"\"]","",($_POST['ftb_geral'])); } $data = date("Y-m-d H:i:s"); $sql = "INSERT INTO {$prefixdb}noticias_noticias SET idcategoria='$secao', titulo='$titulo', conteudo='$conteudo', data='$data'"; if(@mysql_query($sql)){ print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A not&iacute;cia foi adicionada com sucesso! <br>Voc&ecirc; est&aacute; sendo redirecionado para o Painel de Administra&ccedil;&atilde;o</b></font></p>"); } else { print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a not&iacute;cia " . mysql_error() . '</b></font></p><br>'); } } else { print("<center><b>Todos os campos são obrigatórios <br> <a href='javascript:history.go(-1)'>Voltar</a></b></center>"); } } else { //Se a variavel envia não for setada ?> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a></div></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar Not&iacute;cia sem imagem</b></font> <hr color="#CCCCCC"></td> </tr><tr><td> <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);"></td></tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>se&ccedil;&atilde;o:*</b></font> </td> </tr> <tr> <td> <?php $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias_noticias ORDER BY categoria"); if($consulta_sql){ print('<select name="secao" size="1">'); if(mysql_num_rows($consulta_sql) > 0){ while($linha = mysql_fetch_array($consulta_sql)){ $idcat = $linha['id']; $categoria = $linha['categoria']; print('<option value="'.$idcat.'">'.$categoria.'</option>'); } } else { print('<option value="">Não há Categorias cadastradas</option>'); } print('</select>'); } ?> </td> </tr> <tr> <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>T&iacute;tulo:*</b></font> </td> </tr> <tr> <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td> </tr> <tr> <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conte&uacute;do:*</b></font></p></td> </tr> <tr> <td> <?php include("editor_html.php"); ?> </td> </tr> <tr> <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="2"> <input type="submit" name="envia" value="Adicionar" /> | <input type="reset" name="limpa" value="Limpar" \> </form> <br> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">* Campos obrigatórios</font> </td> </tr> <tr> <td> <hr color="#CCCCCC"> </td> </tr> </table> </center> </div> <br> <center> <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a> | <a class="noticia" href="#top" target="_self">Topo</a> </center> <?php } } } }else{ print("<html>\n<head>\n<title>Error!!</title>\n</head>\n<body>\n"); print("<center><pre>Usuário não fornecido, dirija-se para <a href='adm_noticias.php' target='_self'>adm_noticias.php</a> para ser logado</pre></center>\n"); print("</body>\n</html>"); } ?>
  11. Galera, acabei de criar a conta aqui, quem poder me ajudar agradeço. queria saber, como faz para uma session para mandar informações para outra pagina, por exemplo; Pagina 1, tem conteúdo de produtos da informatica, e la tem o botão encomendar. Clicando nele mandara o nome desse produto, quem é "monitor 21 polegadas" para pagina Encomendar, e la vai conferir e enviar para a empresa junto do email. Tipo um formulario.
  12. Fabricio Dantas

    tirar sesson php

    boa noite, amigos eu tenho um codigo php, e ele nao seu acesso fica dando a mensagem "Sessão encerrada! Faça login." como eu faço para tirar esse controle de versão desse codigo, ja agradeço desde já <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Menu GPS</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="javasc/prototype.js"></script> <script type="text/javascript" src="javasc/effects.js"></script> <script type="text/javascript" src="javasc/accordion.js"></script> <script type="text/javascript" src="javasc/brwsniff.js"></script> <script type="text/javascript" src="javasc/checarAlertas.js"></script> <script type="text/javascript" src="javasc/cancelarComando.js"></script> <script type="text/javascript" src="javasc/alterarVeiculo.js"></script> <script type="text/javascript" src="javasc/enviarComando.js"></script> <script type="text/javascript" src="javasc/verificarStatusSinalGPS.js"></script> <link rel="stylesheet" type="text/css" href="css/menu.css" /> <script type="text/javascript"> // Detectando browser usado e alterando tamanho do frame main var br=new Array(4); br=getBrowser(); //alert(br[0]); var frameset = parent.document.getElementById("mainFrame"); if (br[0] == 'firefox') { frameset.rows = "89,*,153"; } else { if (br[0] == 'msie') { frameset.rows = "88,*,153"; } } // In my case I want to load them onload, this is how you do it! Event.observe(window, 'load', loadAccordions, false); // Set up all accordions function loadAccordions() { var bottomAccordion = new accordion('vertical_container'); // Open first one bottomAccordion.activate($$('#vertical_container .accordion_toggle')[0]); } function formataData(Campo, teclapres) { var tecla = teclapres.keyCode; var vr = new String(Campo.value); vr = vr.replace("/", ""); vr = vr.replace("/", ""); vr = vr.replace("/", ""); tam = vr.length + 1; if (tecla != 8 && tecla != 8) { if (tam > 0 && tam < 2) Campo.value = vr.substr(0, 2) ; if (tam > 2 && tam < 4) Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2); if (tam > 4 && tam < 7) Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 7); } } </script> <style type="text/css"> .accordion_toggle { border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; display: block; height: 30px; width: 260px; background: url('imagens/seta.gif') no-repeat 12px; padding: 0 0 0 20px; line-height: 30px; color: #ffffff; font-weight: bold; text-decoration: none; outline: none; font-size: 20px; color: #CCCCCC; cursor: pointer; margin: 0 0 0 0; font-family: Arial, Helvetica, sans-serif; } .accordion_toggle:hover { background-color: #F7F7F7; } .accordion_toggle_active { background: url('imagens/seta-on.gif') no-repeat 12px; color: #000000; border-bottom-style: none; border-bottom-width: 0px; } .accordion_toggle_red_active { border-color: #D8000C; border-style: solid; border-width: 1px; background: url('imagens/icon_alert.gif') no-repeat 12px; color: #D8000C; background-color: #FFBABA; } .accordion_toggle_active_yellow { background: url('imagens/seta-on.gif') no-repeat 12px; color: #000000; border-bottom-style: none; border-bottom-width: 0px; } .accordion_toggle_active:hover { background-color: #FFFFFF; } .accordion_content { background-color: #ffffff; color: #444444; overflow: hidden; margin-right: -2px; margin-left: 0px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-color: #CCCCCC; border-bottom-color: #CCCCCC; border-left-color: #CCCCCC; padding-left: 32px; } .accordion_content h2 { margin: 15px 0 5px 10px; color: #0099FF; } .accordion_content p { line-height: 150%; padding: 5px 10px 15px 10px; } .botaoBranco { background-color:#FFFFFF; border:1px solid #999999; color:#333333; font-family:Verdana; font-size:7pt; font-style:normal; font-weight:normal; text-decoration:none; } .spanComentarios { font-size: 9px; color: #6A6A6A; } </style> <base target="main" /> </head> <body onload="verificarAlertas(); verificarStatusSinalGPS();"> <div id="imagens_status_veiculos" style="display:none"> <?php $cnx = mysql_connect("localhost", "user1", "pass1") or die("Could not connect: " . mysql_error()); mysql_select_db('tracker', $cnx); $res = mysql_query("select imei, status_sinal from bem where cliente = $cliente"); for($i=0; $i < mysql_num_rows($res); $i++) { $row = mysql_fetch_assoc($res); echo "<img id='img_status_sinal". $row[imei] ."' src='imagens/". imagenStatusSinal($row[status_sinal]) ."' border='0' />"; } /** Retorna a imagem do status do sinal */ function imagenStatusSinal($sgSinal) { $imgSinal; switch($sgSinal) { case "R": $imgSinal = "status_rastreando.png"; break; case "S": $imgSinal = "status_sem_sinal.png"; break; case "D": $imgSinal = "status_desligado.png"; break; } return $imgSinal; } mysql_close($cnx); ?> </div> <div id="container"> <div id="vertical_container"> <h1 class="accordion_toggle">&nbsp; Veículos <span id="spanCarroSelecionado" class="spanComentarios" style="color:#CCCCCC;"></span> <img id="statusSinalGPS" name="statusSinalGPS" src="imagens/status_desligado.png" alt="Status do sinal" title="Status do sinal" border="0" style="display:none" /> </h1> <div class="accordion_content" id="veiculos"> <span id="spanBensDisponiveis" class="spanComentarios">Bens autorizados para monitoramento</span> <?php include('menu_veiculos.php'); ?> </div> <h1 class="accordion_toggle">&nbsp; Comandos</h1> <div class="accordion_content" id="comandos"> <!-- TODO: Alterar forma de enviar comando. Atualmente é um form comum. Precisa evitar refresh no main/mapa. --> <form id="enviarComando" action="menu_comandos.php" method="post"> <input type="hidden" id="nrimei" name="imei" value=""> <span id="spanComandos" class="spanComentarios" style="display:block;">Para habilitar comandos selecione um veículo</span> <table> <tr> <td> <select name="command" id="command" class="botaoBranco" disabled="true" onchange="if (this.value==',C,30s') { document.getElementById('commandTime').style.display='block'; } else { document.getElementById('commandTime').style.display='none'; } if (this.value==',H,060') { document.getElementById('spanSpeedLimit').style.display='block'; } else { document.getElementById('spanSpeedLimit').style.display='none'; } "> <option selected value=",B">Rastrear uma vez</option> <option value=",C,30s">Rastrear a cada</option> <option value=",H,060">Velocidade limite</option> <option value=",D">Desabilitar</option> <option value=",G">Alerta movimento</option> <option value=",E">Cancelar alerta</option> <option value=",N">Modo SMS</option> <option value=",J">Bloquear</option> <option value=",K">Desbloquear</option> </select> </td> <td> <select name="commandTime" id="commandTime" class="botaoBranco" style="display:none"> <option value=",C,30s">30s</option> <option value=",C,01m">1m</option> <option value=",C,05m">5m</option> <option value=",C,10m">10m</option> <option value=",C,30m">30m</option> <option value=",C,01h">1h</option> <option value=",C,05h">5h</option> <option value=",C,10h">10h</option> </select> </td> <td> <span id="spanSpeedLimit" style="font-size:xx-small;display:none"><input id="commandSpeedLimit" name="commandSpeedLimit" value="60" maxlength="3" size="3" type="text" class="botaoBranco">Km/h</span> </td> <td><input type="submit" value="Enviar" id="btnEnviarComando" class="botaoBranco" disabled="true" onclick="return enviarComando();"> </td> <td><a id="linkCancelarComando" href="javascript:void(0);" onclick="this.style.display='none'; cancelarComando(document.getElementById('nrimei').value); return false;" style="display:none;font-size:10px;" title="Cancelar um comando pendente"> cancelar</a> </td> </tr> </table> </form> <br /> </div> <!--h1 class="accordion_toggle">&nbsp; Cerca Virtual</h1> <div class="accordion_content" id="cerca"> <span id="spanCercaVirtual" class="spanComentarios">Delimita uma área autorizada</span> <p>Em desenvolvimento.</p> </div--> <h1 class="accordion_toggle">&nbsp; Histórico</h1> <div class="accordion_content" id="relatorios"> <span id="spanHistorico" style="display:block;" class="spanComentarios">Para consultar histórico selecione um veículo</span> <form id="consultarHistorico" name="consultarHistorico" action="listagem_historico.php" method="post" target="bottom"> <table width="266px" style="margin-left: -20px;"> <tr> <td> <input type="hidden" id="nrImeiConsulta" name="nrImeiConsulta" value=""> <span style="font-size:11px;">Início: </span> <input name="txtDataInicio" value="<?php echo date("d/m/Y") ?>" onkeyup="formataData(this,event)" type="text" class="botaoBranco" maxlength="10" size="12" style="height: 14px;" /> <a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.consultarHistorico.txtDataInicio);return false;" hidefocus=""> <img name="popcal" src="javasc/calendario/calbtn.jpg" alt="Selecione uma data" title="Selecione uma data" align="absmiddle" border="0" > </a> <select name="hrDataInicio" id="commandHourTimeIni" class="botaoBranco"> <option value="0" selected>00h</option> <option value="1">01h</option> <option value="2">02h</option> <option value="3">03h</option> <option value="4">04h</option> <option value="5">05h</option> <option value="6">06h</option> <option value="7">07h</option> <option value="8">08h</option> <option value="9">09h</option> <option value="10">10h</option> <option value="11">11h</option> <option value="12">12h</option> <option value="13">13h</option> <option value="14">14h</option> <option value="15">15h</option> <option value="16">16h</option> <option value="17">17h</option> <option value="18">18h</option> <option value="19">19h</option> <option value="20">20h</option> <option value="21">21h</option> <option value="22">22h</option> <option value="23">23h</option> </select> <select name="mnDataInicio" id="commandMinuteTimeIni" class="botaoBranco"> <option value="00" selected>00m</option> <option value="10">10m</option> <option value="15">15m</option> <option value="20">20m</option> <option value="25">25m</option> <option value="30">30m</option> <option value="35">35m</option> <option value="40">40m</option> <option value="45">45m</option> <option value="50">50m</option> <option value="55">55m</option> <option value="59">59m</option> </select> <!--span style="font-size:xx-small">a</span--> <br /> <span style="font-size:11px;">&nbsp;Final:</span> <input name="txtDataFinal" value="<?php echo date("d/m/Y") ?>" onkeyup="formataData(this,event)" type="text" class="botaoBranco" maxlength="10" size="12" style="height: 14px"/> <a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.consultarHistorico.txtDataFinal);return false;" hidefocus=""> <img name="popcal" src="javasc/calendario/calbtn.jpg" alt="Selecione uma data" title="Selecione uma data" align="absmiddle" border="0" style="margin-left:1px"> </a> <select name="hrDataFinal" id="commandHourTimeFim" class="botaoBranco"> <option value="0">00h</option> <option value="1">01h</option> <option value="2">02h</option> <option value="3">03h</option> <option value="4">04h</option> <option value="5">05h</option> <option value="6">06h</option> <option value="7">07h</option> <option value="8">08h</option> <option value="9">09h</option> <option value="10">10h</option> <option value="11">11h</option> <option value="12">12h</option> <option value="13">13h</option> <option value="14">14h</option> <option value="15">15h</option> <option value="16">16h</option> <option value="17">17h</option> <option value="18">18h</option> <option value="19">19h</option> <option value="20">20h</option> <option value="21">21h</option> <option value="22">22h</option> <option value="23" selected>23h</option> </select> <select name="mnDataFinal" id="commandMinuteTimeFim" class="botaoBranco"> <option value="00">00m</option> <option value="10">10m</option> <option value="15">15m</option> <option value="20">20m</option> <option value="25">25m</option> <option value="30">30m</option> <option value="35">35m</option> <option value="40">40m</option> <option value="45">45m</option> <option value="50">50m</option> <option value="55">55m</option> <option value="59" selected>59m</option> </select> </td> </tr> <tr> <td align="right"><input id="btnConsultar" name="btnConsultar" type="button" disabled="true" value="Consultar" class="botaoBranco" onclick="consultarHistoricoData();" /></td> <td></td> </tr> </table> </form> <br /> </div> <!--h1 class="accordion_toggle">&nbsp; Ajuda</h1> <div class="accordion_content" id="ajuda"> <span id="spanComandos" class="spanComentarios">Help do sistema</span> <p><a onclick="abrirHelp();" href="help/gerenciando_bens.html">Gerenciando bens</a><br /> <a onclick="abrirHelp();" href="help/enviando_comandos_gps.html">Enviando comandos ao gps</a><br /> <a onclick="abrirHelp();" href="help/cerca_virtual.html">Definindo uma cerca virtual</a><br /> <a onclick="abrirHelp();" href="help/exibindo_historico.html">Exibindo histórico</a><br /> <a onclick="abrirHelp();" href="help/verificando_alertas.html">Verificando alertas</a><br /> <a onclick="abrirHelp();" href="help/verificando_status_sinal_gps.html">Verificando sinal</a><br /> </p> </div--> <h1 class="accordion_toggle">&nbsp; Estatísticas</h1> <div class="accordion_content" id="estatisticas"> <span id="spanComandos" class="spanComentarios">Estatísticas do rastreamento</span> <p><a onclick="abrirHelp();" href="estatisticas/coordenadas_obtidas.php">Quantidade de coordenadas</a><br /> </p> </div> <h1 id="headerAlertas" class="accordion_toggle">&nbsp; Alertas</h1> <div class="accordion_content" id="alertas"> <span id="spanComandos" class="spanComentarios">Exibe alertas emitido pelo gps</span> <p>Nenhum alerta.</p> </div> </div> </div> <script type="text/javascript"> // You can hide the accordions on page load like this, it maintains accessibility // Special thanks go out to Will Shaver @ http://primedigit.com/ var verticalAccordions = $$('.accordion_toggle'); verticalAccordions.each(function(accordion) { $(accordion.next(0)).setStyle({ height: '0px' }); }); </script> <iframe name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="javasc/calendario/ipopeng.htm" style="visibility: visible; z-index: 999; position: absolute; left: -500px; top: 31px; width: 174px; height: 172px;" frameborder="0" height="189" scrolling="no" width="174"></iframe> </body> </html>
  13. Boa tarde galera, sou novo em php e no fórum, estou com um problema e não consegui encontrar nada na net que faça isso funcionar, vou explicar 1- Temo uma pagina .php com um combobox com 3 opções (SP, RJ, PR) 2 - Cada opção tem valores a serem passados para próxima pagina ( SP=1,13,12; RJ=2,15; PR=12,13,15) 3 - Apos selecionar a opção no combobox clica no OK, ele vai para próxima pagina onde tenho um outro select que irá trazer esses valores EX: - Seleciono SP e dou OK, na próxima pagina terei um combobox com as opções 1, 13, 12. alguém pode me ajudar ou dar uma dica como posso fazer? Vlwww obrigado!!!
  14. lucasvbl

    Erro de session start

    Estou com um problemas que em todas as paginas funciona e nessa especifica ela não está funcionando,,, aparece esse erro Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/orange/www/sgo/cadastroColaboradores.php:1) in /home/orange/www/sgo/validaSessao.php on line 2 minha verifica sessão é essa <?php session_start(); $_temposessao = 1800; //em segundos if($_SESSION["VALIDASESSION"]){ if($_SESSION["VALIDASESSION"]<(time()-$_temposessao)){ session_unset(); header("Location: ./login.php"); exit(); } }else{ session_unset(); header("Location: ./login.php"); exit(); } $_SESSION["VALIDASESSION"] = time(); if(!empty($_SESSION['IDUSUARI']) && !empty($_SESSION['NOMEUSUA']) && !empty($_SESSION['LOGINUSU']) && !empty($_SESSION['MODULOSS']) && !empty($_SESSION['IDSISTEM'])){ $_endereco = $_SERVER['SCRIPT_FILENAME']; $_quebraendereco = explode("/", $_endereco); if(array_search($_SESSION['IDSISTEM'], $_quebraendereco)== FALSE){ session_destroy(); header("Location: ./login.php"); exit(); } ##### $_cfDescricao = $_SESSION['DESCSIST']; $_cfIdUsuario = $_SESSION['IDUSUARI']; $_cfModulos = str_replace(";", "','", $_SESSION['MODULOSS']); $_cfUsuarioNome = $_SESSION['NOMEUSUA']; $_cfUltimoLogin = $_SESSION['ULTLOGIN']; $_cfExpira = $_SESSION['DATAEXPI']; $_arquivoRodando = basename($_SERVER['PHP_SELF']); if($_arquivoRodando<>"inicio.php"){ $_resultArquivos = mysql_query("SELECT * FROM tb_cf_menufile WHERE C03_ARQUIVO='".$_arquivoRodando."'"); if(mysql_affected_rows()==0){ session_destroy(); //header("Location: ./login.php"); exit(); }else{ $_rowArquivo = mysql_fetch_array($_resultArquivos, MYSQL_ASSOC); $_moduloAtual = $_rowArquivo['C02_IDMENU']; $_moduloAtualSub = $_rowArquivo['C04_IDSUB']; #$_modulosAtivos = explode("','", $_cfModulos); $_modulosAtivos = explode(";", $_SESSION['MODULOSS']); if(!in_array($_moduloAtualSub, $_modulosAtivos)){ include_once("./inc/tools.php"); #tools::registraLog($_cfProfissional, $_SERVER['PHP_SELF'], "TENTATIVA DE ABRIR URL BLOQUEADA"); session_destroy(); //header("Location: ./login.php"); exit(); } } } }else{ session_destroy(); header("Location: ./login.php"); exit(); } ?>
  15. yasmincris

    Erro - Echo não se escreve

    Então, estou editando meu site a parte de index, logo após o login do usuário, mas aconteceu um erro que jamais tinha me ocorrido, o host não lê os comandos php. Fiz testes com usando comandos simples como echo mas também não lia as linhas. Segue abaixo a parte php do index: <? include('../conecta.php'); echo "erw"; //isso foi só um teste $banco = mysql_query("SELECT * FROM usuario WHERE emailuser = '$login_cookie'"); $pNome = mysql_fetch_assoc($banco); $email = $pNome['email']; $nome = mysql_query("SELECT nomeuser FROM usuario WHERE emailuser = '$email'"); $saberNome = mysql_fetch_assoc($nome); $sexo = $pNome['sexo']; $mostrarNome = $saberNome['nomeuser']; if ($sexo == 'Masculino') { ?> <font color="red"><?php "Bem vindo, ".$mostrarNome.""?></font><?""); } else if($sexo == 'Feminino'){ ?> <font color="red"><?php "Bem vinda, ".$mostrarNome.""?></font><?""); } else{ ?> <font color="red"><?php "Bem vindo(a), ".$mostrarNome.""?></font><?""); } ?> Pagina conecta.php: <? $conec = mysqli_connect("localhost", "root", "", "CRIA"); $login_cookie = $_COOKIE['login']; if (!isset($login_cookie)) { header("Location: login.php"); ?> A imagem é o resultado do que aparece: Sou estudante da área então me desculpe qualquer bobagem minha e ficaria muito grata se alguém pudesse me ajudar :)
  16. kamikaze19971997

    [Resolvido] SESSION como usar ?

    Boas pessoa tudo bem ? estou precisando muito da ajuda de vocês... já tem 4 dais que estou quebrando a cabeça nesse assunto e ainda não consegui resolver... * Só para deixar claro desculpa minha ignorância mas não manjo muito de PHP. Meu problema é o seguinte pessoa... eu estou desenvolvendo um sistema bastante simples para ser usado pela minha pessoa e mas 4 amigos... o sistema trata-se de; Pagina de Login, Pagina de Cadastro e um Painel... só que estou com uma pequena dificuldade em usar "SESSION" para que cada usuário possa ver suas informações... gostaria de uma orientação de como fazer isso. Meu projeto tem as seguintes pasta.. index.html config.php login.php cadastro.php e um banco de dados com a tabala com USUARIO e SENHA. Segue o código abaixo: LOGIN e CADASTRO index.php <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title>BetCoins - Login</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel='stylesheet prefetch' href='http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900|RobotoDraft:400,100,300,500,700,900'> <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'> <link rel="stylesheet" href="css/style.css"> </head> <body> <!-- Mixins--> <!-- Pen Title--> <div class="pen-title"> <h1>Painel de Controle</h1><span> </div> <div class="container"> <div class="card"></div> <div class="card"> <h1 class="title">Login</h1> <form action="Login.php" method="post"> <div class="input-container"> <input type="#{type}" id="#{label}" type="text" name="usuario"/> <label for="#{label}">Usuário</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="#{label}" name="senha" required="required"/> <label for="#{label}">Senha</label> <div class="bar"></div> </div> <div class="button-container"> <button><span> ENTRAR</span></button> </div> <div class="footer"><a href="#">Esqueceu a senha?</a></div> </form> </div> <div class="card alt"> <div class="toggle"></div> <h1 class="title">Cadastrar <div class="close"></div> </h1> <form action="Cadastro.php" method="post"> <div class="input-container"> <input type="#{type}" id="#{label}" type="text" required="required" name="novo_usuario"/> <label for="#{label}">Usuário</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="#{label}" required="required" name="nova_senha"/> <label for="#{label}">Senha</label> <div class="bar"></div> </div> <div class="input-container"> <input type="password" id="#{label}" required="required" name="nova_senha2"/> <label for="#{label}">Repitir Senha</label> <div class="bar"></div> </div> <div class="button-container"> <button><span>CADASTRAR</span></button> </div> </form> </div> </div> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src="js/index.js"></script> </body> </html> Login.php <?php include ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP @mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE $usuario = ($_POST['usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO $senha = ($_POST['senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO $analisar = "SELECT * FROM login WHERE usuario = '$usuario' AND senha = '$senha'"; // ESSA VARIAVEL IRÁ ANALISAR NO BANCO DE DADOS NA TABELA LOGIN SE USUARIO E SENHA ESTAO CORRETOS $resultado = mysql_query($analisar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $ANALISAR $iniciar = mysql_num_rows($resultado); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS) if ($iniciar == 1)// ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS NÃO IGUAIS AOS DO BANCO DE DADOS { // APÓS A CONDIÇÃO FOR ACEITA, ACONTECE UMA AÇÃO, E ESSA AÇÃO SERÁ O RESULTADO DO LOGIN EFETUADO ?> <!-- NOTE QUE ISSO JÁ É UM COMENTARIO EM HTML, ISSO ACONTECEU PORQUÊ EU FECHEI A TAG DO PHP PARA QUE EU POSSA TRBALHAR COM CODIGOS EM HTML APÓS EU TER EFETUADO O LOGIN --> <center> Bem Vindo ao seu Painel <font style="font-weight:bold;"><?php echo $usuario ?></font> <!-- MENSAGEM QUE APARECERÁ CASO ESTA LOGADO --> </center> <?php // AQUI JA COMEÇA COMENTARIOS EM PHP, OU SEJA EU ABRI NOVAMENTE A TAG DO PHP PARA QUE MEU CODIGO CONTINUE PROCESSANDO SEM ERRO ALGUM } else // EXCEÇÃO CASO LOGIN OU SENHA ESTIVEREM ERRADOS { echo "Login ou Senha Invalido"; // MENSAGEM QUE APARECERÁ CASO OS DADOS FORNECIDOS ESTAJAM ERRADOS } ?> Cadastro.php <?php require_once ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP @mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE $novo_usuario = ($_POST['novo_usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO $nova_senha = ($_POST['nova_senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO $nova_senha2 = ($_POST['nova_senha2']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO COMFIRME A SENHA DO FORMULARIO $selecionar = "SELECT usuario FROM login WHERE usuario = '$novo_usuario'"; // ESSA VARIAVEL IRÁ SELECIONAR A TABELA E A COLUNA PARA QUE SEJA CHECADO SE NÃO EXISTE UM MESMO LOGIN $verificar = mysql_query($selecionar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $SELECIONAR $enviar = mysql_num_rows($verificar); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE JA EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS) if ($enviar == 1) // ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS DESDE A PRIMEIRA VARIAVEL $SELECIONAR ATÉ ENVIAR SE NÃO HÁ NENHUM CONFRONTO (A CONDIÇÃO A SER CUMPRIDA AQUI É QUE O VALOR DO LOGIN DO USUARIO TEM QUE SER DIFERENTE DE 1 PARA CONTINUAR, SE O POR ACASO ALGUEM JA ESTIVER UTILIZANDO O MESMO LOGIN, DE ALGUMA FORMA ESSE NOME SERÁ COMPARADO COM O Nº 1, E APARECERÁ A MENSAGEM DE ERRO ABAIXO) { echo "O Nome do Usuario Já Existe"; // MENSAGEM DE ERRO QUE IRÁ APARECER CASO A CONDIÇÃO SEJA CUMPRIDA, OU SEJA, A CONDIÇÃO SE CUMPRE QUANDO O LOGIN JA ESTIVER SENDO USADO } else // EXCEÇÃO CASO NÃO SEJA CUMPRIDA AS CONDIÇÕES ( ESSA EXCEÇÃO ELA SERÁ PROCESSADA QUANDO OS DADOS FORNECIDOS PELA PESSOA AINDA NÃO ESTIVER SENDO UTILIZADA) { if ($nova_senha == $nova_senha2) // ESSA CONDIÇÃO IRÁ VERIFICAR SE A SENHA PRINCIPAL É A MESMA FORNECIDA PELA CONFIRMAÇÃO DA SENHA, SE AS DUAS SENHAS ESTIVEREM CORRETAS O CADASTRO IRÁ SER CONCLUIDO. { $sqlEnviando = mysql_query("INSERT INTO login (usuario,senha) VALUES ('$novo_usuario','$nova_senha')") or die(mysql_error()); /* AQUI O CODIGO IRÁ INSERIR OS DADOS FORNECIDOS PELA PESSOA NO BANCO DE DADOS, FUNCIONA +/- ASSIM ESSA LINHA: "INSIRA DENTRO DA TABELA LOGIN NAS COLUNAS USUARIO E SENHA OS VALORES $NOVO_USUARIO E $NOVA_SENHA" */ echo "Cadastro Efetuado com Sucesso"; // MENSAGEM QUE IRÁ APARECER CASO O CADASTRO SEJA EFETUADO COM SUCESSO! } else // ESSA EXCEÇÃO SE APLICA QUANDO A SENHA PRINCIPAL FOI DIGITA DIFERENTE DA CONFIRMAÇÃO DA SENHA { echo "As Senhas não Conferem"; // MENSAGEM QUE IRÁ APARECER CASO AS SENHA NÃO FOREM CORRETAS } } ?> Então gostaria de cria um painel para os usuários... mas como fazer o usuário ver apenas os dados dele e nao dos outros, andei vendo vídeos e observei que pode ser resolvido por essa função SESSION.
  17. ericolvr

    Session

    Pessoal Estou tentando usar o header para redirecionar o usuário e uma Session para mostrar o resultado do Insert. Adicionar.php <?php if($_SESSION["retorno"]){ echo $_SESSION['retorno']; } else{ echo "Sessão não iniciou"; } ?> Adicionada.php Parte relevante $row = mysqli_fetch_assoc($result); $osnro = $row['osnro']; $_SESSION['retorno'] = " <div class='col-lg-12'> <script> $('#success-alert').fadeTo(1000, 500).slideUp(500, function(){ $('#success-alert').alert('close'); }); </script> </div>"; header('Location:/ordens/adicionar'); Quando acesso a página adicionar.php novamente ela trás o resultado do último insert se a sessão ainda estiver ativa, óbvio. Do contrário levanta um warning que a sessão não foi criada. Como vocês fazem isso? A ideia é passar uma mensagem avisando que o registro foi inserido
  18. Levi de Moraes Cardoso

    Sessão deixaram de funcionar.

    Bom dia senhores. Meu site tem um sistema de login que utiliza variáveis $_SESSION conforme descrito nos trechos abaixo. O grande problema é que este sistema de login estava funcionando há quase um ano e ontem do nada, parou de funcionar. Fiz verificações e concluí que a sessão é criada apenas na página onde os dados são criados, mas não é propagada nas outras páginas, é como se ela deixasse de existir. Ou seja, ao tentar fazer o login, o usuário é redirecionado de volta para a página de login. O provedor informou que não houve mudanças nos diretórios. Então a grande pergunta é: o que pode estar causando este problema nas SEESSIONS se não houveram alterações nem no código-fonte e nem no diretório de hospedagem? Substituir variáveis de sessions por variáveis vindas de um banco de dados é algo válido e seguro? PÁGINA QUE RECEBE E ANALISA OS DADOS INSERIDOS NO FORM DO LOGIN: TRECHO DO COLOCADO NAS PÁGINAS PROTEGIDAS
  19. halfar

    [Resolvido] variaveis globais

    As variáveis de sessão podem ser vista em todo sistema, mesmo trabalhando somente com ajax?? Pois meu sistema não tem redirecionamento de páginas...
  20. laerciocalheiros

    Sistema de login bugado

    Criei um site com um sistema de login que eu costumo usar em quase todos os sites que eu faço, porem no ultimo que eu fiz está ocorrendo um erro onde alguns usuários ao fazer login estão indo para outras contas e até as vezes de acordo com que a pessoa vai atualizando o site a conta vai trocando. Já refiz o código mas o problema continua e então estou aqui para ver se alguém sabe o que pode ser. Segue o código abaixo: // Includes include '../php/config.php'; include '../php/functions.php'; // Verificando se o usuário já está logado if(isLoggedIn()){ die(json_encode(array('error' => 'Você já está logado.'))); } // Data request $username = $_POST['username']; $password = md5($_POST['password'].base64_encode($username)); // Validação dos dados if($_POST){ $sql = $pdo->prepare("SELECT * FROM usuarios WHERE nick= ? AND senha= ? LIMIT 1"); $sql->bindValue(1, $username); $sql->bindValue(2, $password); $sql->execute(); if($sql->rowCount() < 1){ $error['error'] = 'Usuário ou senha incorreto.'; die(json_encode($error)); } // Verificando se o usuário está banido. $row = $sql->fetch(); if($row['banido'] != 'n'){ if($row['ban_termino'] < time()){ $error['error'] = "Você foi banido até o dia ".date('d/m/y - h:i:s', $row['ban_termino']). "\r Motivo: ".$row['ban_motivo']; die(json_encode($error)); }else{ // Removendo o banimento do usuário. $upd = $pdo->prepare("UPDATE usuarios SET banido='n', ban_motivo='', ban_termino='' WHERE nick= ?"); $upd->bindValue(1, $row['nick']); $upd->execute(); // Atualizando ip e data $upd1 = $pdo->prepare("UPDATE usuarios SET acesso_data= ?, acesso_ip= ?, acesso_ua= ?, acesso_gl= ? WHERE nick= ?"); $upd1->bindValue(1, time()); $upd1->bindValue(2, $_SERVER['REMOTE_ADDR']); $upd1->bindValue(3, $_SERVER['HTTP_USER_AGENT']); $upd1->bindValue(4, $_SERVER['HTTP_ACCEPT_LANGUAGE']); $upd1->bindValue(5, $row['nick']); $upd1->execute(); $_SESSION['user.nick'] = $row['nick']; $_SESSION['user.id'] = $row['id']; if($upd1){ $error['success'] = 'Usuário logado com sucesso!'; echo json_encode($error); }else{ $error['error'] = 'Houve algum erro no sistema. Tenta novamente mais tarde.'; echo json_encode($error); } } }else{ // Atualizando ip e data $upd1 = $pdo->prepare("UPDATE usuarios SET acesso_data= ?, acesso_ip= ?, acesso_ua= ?, acesso_gl= ? WHERE nick= ?"); $upd1->bindValue(1, time()); $upd1->bindValue(2, $_SERVER['REMOTE_ADDR']); $upd1->bindValue(3, $_SERVER['HTTP_USER_AGENT']); $upd1->bindValue(4, $_SERVER['HTTP_ACCEPT_LANGUAGE']); $upd1->bindValue(5, $row['nick']); $upd1->execute(); $_SESSION['user.nick'] = $row['nick']; $_SESSION['user.id'] = $row['id']; if($upd1){ $error['success'] = 'Usuário logado com sucesso!'; echo json_encode($error); }else{ $error['error'] = 'Houve algum erro no sistema. Tenta novamente mais tarde.'; echo json_encode($error); } } } Função onde eu verifico se o usuário está logado: function isLoggedIn(){ session_start(); if(!isset($_SESSION['user.nick']) && $_SESSION['user.nick'] == ''){ return false } return true; }
  21. gust.php

    Zend2 Session - Usuarios online

    Boa noite pessoal, Tenho um sistema de login com zend2 funcionando e gostaria de implementar na tela inicial do sistema um "usuarios on-line". Não faço a menor ideia por onde começar, então achei melhor pedir orientação aos amigos. Estou pensando em fazer isso verificando as sessões ativas, acho melhor que verificar flag em banco de dados, pois o usuário poderia fechar o navegador e a flag continuaria ativa. Dúvidas: como pegar todas as sessões ativas no sistema? como verificar isso de tempos em tempos sem reload na página? Se alguém tiver algum exemplo online que possa me passar, agradeço. Valeu ...
  22. George  Rewrited

    [Resolvido] Dúvidas sobre os arquivos de sessão

    Hoje olhei o diretório onde são gravados os arquivos de sessão do PHP , e notei que todos os arquivos que foram criados estavam lá ainda, eu achei que fossem apagados automáticamente. Como configurar o PHP para apagar os arquivos das seções que não estão mais sendo usadas?
  23. Estou fazendo um carrinho que pega os dados do SQL, mas não deixa como ID único. Está da pegando os itens dessa forma: if(isset($_GET['adicionar']) && isset($_GET['idProduto']) && isset($_GET['tipoForma']) && isset($_GET['subSubForma'])){ $idProduto = $_GET['idProduto']; $tipoForma = $_GET['tipoForma']; $subSubForma = $_GET['subSubForma']; $fotoProduto = ""; $idFotoProduto = ""; $quantidade = 1; $arr = array("idProduto" => $idProduto, "tipoForma" => $tipoForma, "subSubForma" => $subSubForma, "fotoProduto" => $fotoProduto, "idFotoProduto" => $idFotoProduto, "Quantidade" => $quantidade); var_dump($arr); $_SESSION['carrinho'][] = $arr; } e com o var_dump(): array (size=3) 0 => array (size=6) 'idProduto' => string '23' (length=2) 'tipoForma' => string 'Pequeno' (length=7) 'subSubForma' => string '' (length=0) 'fotoProduto' => string '' (length=0) 'idFotoProduto' => string '' (length=0) 'Quantidade' => int 1 1 => array (size=6) 'idProduto' => string '19' (length=2) 'tipoForma' => string 'Médio' (length=6) 'subSubForma' => string '' (length=0) 'fotoProduto' => string '[2]20151119_224108.jpg' (length=22) 'idFotoProduto' => string '61' (length=2) 'Quantidade' => int 1 2 => array (size=6) 'idProduto' => string '23' (length=2) 'tipoForma' => string 'Pequeno' (length=7) 'subSubForma' => string '' (length=0) 'fotoProduto' => string '' (length=0) 'idFotoProduto' => string '' (length=0) 'Quantidade' => int 1 Eis minha pergunta, preciso apagar o array de, por exemplo, Key [2], como devo proceder?? Estou fazendo da seguinte forma para pegar os dados da Session: foreach($_SESSION['carrinho'] as $carrinho){ $id = $carrinho['...']; $... = $carrinho['...']; } Desde já agradeço a qualquer resposta ou ajuda.
  24. George  Rewrited

    Problemas com sessão no php

    Boa noite, comecei estudar php a pouquíssimo tempo e estou passando o sistema de matrícula offline da ONG onde trabalho para um sistema online que será usado por todas as unidades. Comecei talvez pelo mais complicado, login e sessão. Criei uma classe login, que acessa um banco de dados, valida o usuário cria e destrói a sessão. Mas a classe só está validando a sessão na segunda chamada a ela e não a esta destruindo. Será que podem me dar uma luz? <?php Class login{ /* variáveis para a conexão do DB*/ var $db; var $servidor = 'teste'; var $banco = 'teste'; var $usuario = 'teste'; var $senhadb = 'teste'; /* outras variáveis usadas na classe*/ var $sql, $quser, $erro = "", $dados; function validausuario($usuario,$senha){ /* acessa o DB e valida o usuário por uma view q faz join entre as tabelas * usuario e nucleo trazendo só os usuários ativos*/ $this->db = mysqli_connect($this->servidor,$this->usuario, $this->senhadb, $this->banco); $senha= md5($senha); $this->sql ="select * from user_nucleo " . "where user_nucleo.usuario ='".$usuario."' and " . "user_nucleo.senha = '".$senha."'"; $this->quser= mysqli_query($this->db, $this->sql); if($this->quser){ $total=mysqli_num_rows($this->quser); }else{ return FALSE;/*se não trouxe nada*/ } return ($total==1 )?TRUE:FALSE;/*se trouxe apenas uma linha*/ } function logar($usuario,$senha){ /*com o usuário já validado, cria a sessão e o cookie*/ if($this->validausuario($usuario,$senha)){ if(!isset($_SESSION)){ session_start(); } /*passa as colunas da querry para a variavel qsuer e limpa a query*/ $this->dados= mysqli_fetch_assoc($this->quser); mysqli_free_result($this->quser); /*passa os dados para a sessão*/ foreach ($this->dados AS $chave=>$valor){ $_SESSION[$chave]=$valor; } $_SESSION['logado']=1; /*ciação do cookie*/ $valor= join('#', array($usuario,$_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT'])); $valor= sha1($valor); setcookie('token',$valor,0,'/'); } else{ $this->erro = "Usuário inválido"; return FALSE; } } function logado(){ /*verifica se a sessão está criada junto com o cookie*/ if(!isset($_SESSION)){ session_start(); } if (!isset($_SESSION['logado']) or !$_SESSION['logado']){ return FALSE; } if (!isset($_COOKIE['token'])){ return FALSE; } else { $valor= join('#', array($_SESSION['usuario'],$_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT'])); $valor= sha1($valor); if ($_COOKIE['token']!==$valor){ return FALSE; } } return TRUE; } function deslogar(){ if(isset($_COOKIE['PHPSESSID'])){/*destrói o cokkie da sessão*/ setcookie('PHPSESSID', FALSE,(time() - 3600)); unset($_COOKIE['PHPSESSID']); } if(isset($_COOKIE['token'])){/*destrói o cokkie do usuário*/ setcookie('token', FALSE,(time() - 3600)); unset($_COOKIE['token']); } session_destroy(); /*destrói a sessão*/ header("Location: __DIR__/../index.php");/*volta para o login*/ } } Chamada da classe para logar, só vai para a página welcome quando clica pela segunda vez no botão logar (a instância do objeto está no header) : <div> <form method="post" name="formulario" action=""> <h1>Login</h1> <p><label>Usuário</label> <input type="text" name="usuario" maxlength="50" autofocus/></p> <p><label>Senha</label> <input type="password" name="senha" maxlength="50" /></p> <p><input class="button" id="ok" type="submit" name="Logar" value="Logar" /> <input class="button" id="cancel" type="reset" value="Cancelar"/></p> </form> </div> <?php if(isset($_POST["Logar"]) && $_POST["Logar"] == "Logar"){ $logar = $objLogin->logar($_POST["usuario"],$_POST['senha']); if ($objLogin->logado()){ header("Location:__DIR__/../welcome.php"); } } ?> Header instância a classe verifica se existe usuário logado e direciona pro login ou logof <?php require_once(__DIR__.'/class/login.php'); $objLogin = new login(); if ($objLogin->logado()) { echo "<p id='usuario'><a href='logof.php' title='Clique para deslogar'> Bem vindo(a) " . $_SESSION['nome'].",". $_SESSION['nucleo']." <img src='imagens/lock.png' alt=''/></a></p>"; }else { echo "<p id='usuario'><a href='index.php'> " . "Fazer login <img src='imagens/lock_open.png' alt=''/></a></p>"; } ?>
  25. DinhoPHP

    Simplesmente a SESSION não destrói

    Olá! Estou à uns cinco dias vendo que a session_destroy não funciona. No navegador, a mesma permanece ativa após deslogar. logout.php <?php session_start(); session_destroy(); print_r(session_status()); echo "<h1>Você foi deslogado com sucesso!</h1>"; header("refresh: 5; url=login.php"); ?> login.php <?php require_once '_classes/Acoes.php'; require_once '_classes/globais.php'; print_r(session_status()); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo "Sistema de Cadastro&Login";?></title> <link href='http://fonts.googleapis.com/css?family=Oswald:400,300,700' rel='stylesheet' type='text/css' /> </head> <body> <?php echo $msg; print_r($_COOKIE); ?> <div class="acomodar"> <form action="_classes/logar.php" method="post"> <label for="email">E-mail: </label><input id="email" type="text" class="txt bradius" name="email" /> <label for="senha">Senha: </label><input id="senha" type="password" class="txt bradius" name="senha" /> <input type="submit" class="sb bradius" value="Logar" /> </form> <!--acomodar--> </div> <!--login--> </div> </body> </html>
×

Important Information

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