Jump to content
ronaldojsp

Salvar cookie da visita

Recommended Posts

Olá estou usando um código php mysql que conta as visitas de cada página, porém sempre que a página é atualizada ele adiciona mais uma visita, gostaria de ajuda com meu código para que ele salve o cookie por um determinado tempo antes do contar uma nova visita.

PS: cada página está salva no BD e tem visualizações distintas

 

Código das paginas:

<?php 
//Aqui pegamos o id da página
$idDaPagina = $explode[1];

//Busca na tabela o numero de vezes que a página ja foi visitada
$busca = "SELECT * FROM contador WHERE idPagina = '$idDaPagina'";
$exe = mysqli_query($conectar,$busca);

$resultado_vist = (mysqli_fetch_array($exe));

//Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza
$visitantes = $resultado_vist['visitas'] + 1;
$altera = "UPDATE contador SET visitas = '$visitantes' WHERE idPagina = '$idDaPagina'";
$exe1 = mysqli_query($conectar,$altera);

//Faz uma nova busca e retorna o numero de visitas depois da atualização
$exe = mysqli_query($conectar,$busca);
$total = (mysqli_fetch_array($exe));
$visitas = $total['visitas'];

?>

No espaço do conteudo dou um <?php echo $visitas; ?>

Desde já Obrigado.

Share this post


Link to post
Share on other sites
19 minutos atrás, Electronic disse:

 

com cookie 

http://php.net/manual/pt_BR/function.setcookie.php

ai antes de fazer o update veja se tem o cookie 

if(!isset($_COOKIE['nomequalquer']){

  # nao tem cookie entao faz o update 

  # e cria um cookie

}

 

e nao precisa  fazer uma consulta so pra fazer o incremento no update 

SET visitas = visitas + 1

Ficaria assim ?

(...)

if (!isset($_COOKIE['nomequalquer'])) {

$visitantes = $resultado['visitas'] + 1;
$altera = "UPDATE contador SET visitas = '$visitantes' WHERE idPagina = '$idDaPagina'";
$exe1 = mysql_query($altera);
}

setcookie('counte', 1, mktime().time()+60*60*24);

(...)

 

ele salvaria o cookie de cada página visualizada pelo usuário? 

Share this post


Link to post
Share on other sites

quase

nao precisa disso: $visitantes = $resultado['visitas'] + 1;

nem do select antes. só isso

"UPDATE contador SET visitas = visitas + 1 WHERE idPagina = '$idDaPagina'";

faz o teste

  • +1 1

Share this post


Link to post
Share on other sites
1 hora atrás, Electronic disse:

o cookie tem que ser definido antes de qualquer html

como eu posso arrumar isso? 

ai entra outro problema, não posso usar o setcookie nas minhas páginas contando as visitas individualmente porque uso url amigável, minha index tem o cabeçalho e rodapé e só recebe os conteúdos que estão nas outras páginas, e como eu tenho que usar o cookie antes de qualquer html ele registra uma unica visita.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By gersonab
      Boa tarde,  gostaria da ajuda de vcs, tenho um select option que busca os dados no bd, logo após este tenho um botão onde abro uma janela modal para incluir mais opções a este select caso necessite, com isso faço um cadstro no bd sem dar refresh na página, isto pq já tenho itens inseridos nos demais inputs, o que eu preciso é que após o cadastro este select option seja atualizado sem o refres da página. segue o código.
      <select id="location" name="reup" > <option value="">item</option> <?php aqui vem os demais option com a busca no bd ?> </select> Jquery
      $('#insert').click(function(e){ e.preventDefault(); var nomer = $('#nomer').val(); ..... var obsr = $('#obsr').val(); $.post('insreu.php', { nomer:nomer, ..... obsr:obsr }, function(resposta){ if(resposta == 1){ $('input, textarea').val(''); $('#reup').append(e); alert('Cadastrado com sucesso.'); }else { alert(resposta); } }); }); Desde já agradeço.
    • By jonathasouza
      Bom dia, estou com um projeto e preciso fazer que modal faça requisição do banco, que ao apertar o botao confirmar do Modal, coloque o nome da pessoa que tenha feito login na pagina na coluna "Analista", estou com dificuldade nessa parte, sou novo em programação.
       
      Obrigado pela ajuda :)
       
      Abaixo meu código com HTML, tabela, PHP & Modal.
       
       
                          TABELA
       

       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
                          Código 
       
       
      <?php $nome = isset($_GET["nome"])? $_GET["nome"]:null; $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null; $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null; $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null; $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null; $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`"; if (mysqli_query($conexao, $query))     { ?>                             <?php $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); if(mysqli_connect_errno($conexao)){ echo 'Failed to connecto to database'.mysqli_connect_error();} $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem"); ?>                             <?php while($rows = mysqli_fetch_array($query)): ?>                             <tr>                                 <td><?php echo $rows['solicitacao']; ?></td>                                 <td><?php echo $rows['prioridade']; ?></td>                                 <td></td>                                 <td></td>                                 <td><?php echo $rows['orgao']; ?></td>                                 <td><?php echo $rows['nome']; ?></td>                                 <td></td>                             </tr>                             <?php endwhile; ?>                         </tbody>                     </table>                     <!-- Modal -->                     <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">                         <div class="modal-dialog" role="document">                             <div class="modal-content">                                 <div class="modal-header">                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>                                     <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4>                                 </div>                                 <div class="modal-body">                                     <div class="insertHere">                                     </div>                                 </div>                                 <div class="modal-footer">                                     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>                                     <button class="btn btn-success" type="submit" data-dismiss="modal" onclick="generate()">Confirmar</button>                                 </div>                             </div>                         </div>                     </div>   
    • By adriano.eurich
      Olá, estou com muita dificuldade em entender e fazer uma recuperação de dados do banco, quando em uma tela tenho 2 campos de data, data inicial e data final,  quando clico no botão gerar ele me encaminha para outra pagina onde gostaria que aparecesse os dados nela!
       
      create.php <?php session_start(); include_once 'conexao.php'; $id = $_POST [ 'id' ]; $nome = $_POST [ 'nome' ]; $inst = $_POST [ 'inst' ]; $data = date('y-m-d'); $telefone = $_POST [ 'telefone' ]; $chave = $_POST [ 'chave' ]; $queryInsert = $link->query("insert into tb_cadastro VALUES ('".$id."', '".$nome."','".$inst."','".$data."','".$telefone."','".$chave."')"); $affected_rows = mysqli_affected_rows($link); if($affected_rows > 0): $_SESSION['msg'] = "<p class='center green-text'>".'Cadastrado com Sucesso!'."<br>"; header("Location: ../cadastro.php"); endif; relatorio.php <?php session_start(); include_once 'includes/header.inc.php'; include_once 'includes/menu.inc.php'; ?> <!-- Formulário de Cadastro Cliente --> <div class="row container"> <p>&nbsp;</p> <form action="banco_de_dados/consulta_rel.php" method="post" class="col s12"> <fieldset class="formulario" style="padding: 3px"> <legend><img src="imagens/relatorio.png" alt="[imagem]" style="width:55px; height:45px"></legend> <br> <?php if(isset($_SESSION['msg'])): echo $_SESSION['msg']; session_unset(); endif; ?> <!-- Campo Data --> <div class="input-field col s12"> <i class="material-icons prefix">event_available</i> <input type="date" name="datainicial" id="data" maxlength="10" required> <label for="data">Data Inicial</label> </div> <div class="input-field col s12"> <i class="material-icons prefix">event_busy</i> <input type="date" name="datafinal" id="data" maxlength="10" required> <label for="data">Data Final</label> </div> <!-- Botões --> <div class="input-field col s12"> <input type="submit"style="width:120px; height:37px" value="Gerar" class="btn blue"> <input type="reset" style="width:120px; height:37px" value="limpar" class="btn red"> </div> </fieldset> </form> </div> <?php include_once 'includes/footer.inc.php';?> <?php include_once 'includes/script.inc.php'; consulta_rel.php
       
      <?php session_start(); include_once 'conexao.php'; $datainicial = $_POST [ 'datainicial' ]; $datafinal = $_POST [ 'datafinal' ]; $sql= "select * from tb_cadastro where data between '$datainicial' and '$datainicial'"; $consulta_rel = mysqli_query($link, $sql); echo "sql"; if($consulta_rel) { ////// $_SESSION['msg'] = "<p class='center green-text'>".'Devolução efetuada com Sucesso!'."<br>"; header("Location: ../arquivo_rel.php"); exit(); }  


    • By Good
      Boa noite,
      achei a biblioteca de graça na internet para gerar NF 4.0. Porém estou com algumas dúvidas.
       
      Me falaram que através do código de barras é possível puxar todas as informações do produto no SEFAZ?
       
      Eu também acessei vários programas de gerar Nf, todos eles são totalmente diferente para cadastrar os dados fiscais, informações de tributação do produto etc. vejo que será bem trabalhoso nessa questão, por exemplo, cada produto tem tributação diferente, é bem complicado. Existe algum banco de dados que já tem todas as informações?
       
      Aguardo contato, obg
    • By Jefferson andre
      Saudacoes,
      tenho a seguinte situacao aqui: quando o cliente selecionar a UF os municipios sejam filtrados de acordo, gostaria de usar ajax mas nao estou conseguindo.
      Segue os trechos:
       
      <html> <body> <div class="form-group col-md-2"> <label for="inputestado">Estado</label> <select class="custom-select" name="estado" id="estado" onchange="funcao_localizar_municipios()"> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RS">RS</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option> </select> </div> <div class="form-group col-md-6"> <label for="inputNome">Municipio</label> <br> <?php $filtro_municipios = $arquivo->prepare("SELECT id, nome_uf, nome_distrito,sigla_uf FROM municipios WHERE sigla_uf='$estado' ORDER BY nome_distrito,nome_uf"); $filtro_municipios->execute(); //print_r($filtro_clientes); ?> <select class="custom-select col-md-12" name="id_municipio" id="id_municipio"> <option value="">Clique para selecionar</option> <?php while ($municipios = $filtro_municipios->fetch()) {?> <option value="<?php echo $municipios['id'] ?>" ><?php echo $municipios['nome_distrito']." - ".$municipios['nome_uf'];?> </option> <?php } ?> </select> </div> <script> function funcao_localizar_municipios(procurar) { var xestado = document.getElementById("estado").value; alert("Busca em desenvolvimento: " + x); document.getElementById("estado").style.background = "red"; if (xestado != "") { $.ajax({ url: 'ajax-db-search_estado.php', method: 'POST', data: {xestado:xestado}, success: buscar_municipios(data){ $('#output').html(data); $('#output').css('display', 'block'); $("#estado").focusout(buscar_municipios(){ $('#output').css('display', 'none'); }); $("#estado").focusin(buscar_municipios(){ $('#output').css('display', 'block'); }); } }); } else { $('#output').css('display', 'none'); } } </script> </body> </html> ajax-db-search_estado.php
      <?php require_once "conexao_dbo.php"; $estado = $_POST['query']; echo $estado; if (isset($_POST['query'])) { $filtrar_municipios = $arquivo->prepare("SELECT * FROM municipios WHERE sigla_uf LIKE '{$_POST['query']}%' ORDER BY nome_distrito LIMIT 1000"); $filtrar_municipios->execute(); if($filtrar_municipios->rowCount()>0) { foreach($filtrar_municipios->fetchAll() as $filtro_estados{ echo $filtro_estados['sigla_uf']." - ".$filtro_estados['nome_uf']." - ".$filtro_estados['nome_distrito']."<br/>"; } } else { echo "<p style='color:red'>Nenhuma informacao encontrada...</p>"; } } ?>  
×

Important Information

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