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 Gabriel_Miranda
      Estou criando um carrinho de compras para depois implementa - lo em um projeto, mas acabei travando na quantidade dos produtos.
      Como posso obter a quantidade de produtos que o cliente deseja levar e armazena-las no carrinho para depois fazer os cálculos?
      Sou novo em PHP e ainda estou aprendendo.
      <pre> <?php include('conect.php'); session_start(); $totalCar = 0; // CRIA O ARRAY CARRINHO if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } // ADICIONA OS PRODUTOS if(isset($_GET['id'])){ //ADICIONAR CARRINHO $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; } } // MOSTRA E PUXA AS INFORMACOES DO BANCO if(count($_SESSION['carrinho']) == 0){ echo "carrinho vazio<br>"; echo "<a href='index.php'>voltar</a>"; }else{ $_SESSION['dados'] = array(); foreach ($_SESSION['carrinho'] as $id => $qtd) { $query = $mysqli->query("select * from produtos2 where id = $id"); echo $mysqli->error; while ($tabela=$query->fetch_assoc()) { echo "Nome: $tabela[nome]<br>"; echo "Quantidade: <input type='number' value='$qtd'><br>"; echo "Preco: ".$tabela['preco'] * $qtd."<br>"; echo "<a href='remove.php?id=$id'>Remover</a><br><hr><br>"; $totalCar += $tabela['preco']; } array_push($_SESSION['dados'], array( 'idProd' => $id, 'quant' => "camp".$i ) ); } echo "<a href='index.php'>voltar</a><br><br>"; echo "Total do carrinho: $totalCar<br><br>"; } ?> </pre>  
    • By joaovitor102
      <?php require_once '../App/auth.php'; require_once '../layout/script.php'; require_once '../App/Models/vendas.class.php'; require_once '../App/Models/cliente.class.php'; require_once '../App/Models/connect.php'; require '../layout/alert.php'; echo $head; echo $header; echo $aside; echo '<div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <h1> Todos os produtos </h1> <ol class="breadcrumb"> <li><a href="../"><i class="fa fa-dashboard"></i> inicio</a></li> <li class="active">Itens</li> </ol> </section> <!-- Main content --> <section class="content"> '; echo " <form action='../App/Database/Vervendas.php' method='post'> <div class='form-group has-feedback'> <input type='number' name='Dia' style='width:50px;' id='dia' placeholder='dia'><b>/</b> <input type='number' name='Mes' style='width:50px;' id='mes' placeholder='mes'><b>/</b> <input type='number' name='Ano' style='width:100px; id='ano''placeholder='ano'> <button type='submit'>Envia</button> </div> </form> "; echo '</div>'; echo '</section>'; echo '</div>'; echo $footer; echo $javascript; ?> public function ListaVendas($dia,$mes,$ano){ $item="SELECT * FROM `itens`,`Vendas`,`produtos` WHERE `iditem`=`idItens` and `Produto_CodRefProduto`=`CodRefProduto` and `datareg`='$ano'-'$mes'-'$dia'"; return $item; } <?php require_once '../../App/auth.php'; require_once '../../App/Models/vendas.class.php'; if(isset($_POST['dia']) && isset($_POST['mes']) && isset($_POST['ano'])) { $dia=$_POST['dia']; $mes=$_POST['mes']; $ano=$_POST['ano']; $vendas=new Vendas; $dados=$vendas->ListaVendas($dia,$mes,$ano); $limite=mysql_query("$dados"); while ($dados =mysql_fetch_array($limite) ) { $valor=$dados['valor']; $data=$dados['datareg']; $produto=$dados['NomeProduto']; echo "<div > <td>valor:' . $valor . '</td> <td>dia:' . $data. '</td> <td>nome produto:' . $produto . '</td>'; </div>"; $valores+=$valores; } echo "<div> <td>'.$valores.'</td> </div>"; } else{exit;} ?> esta dando erro no programa
    • By joaovitor102
      <?php require_once '../App/auth.php'; require_once '../layout/script.php'; require_once '../App/Models/cliente.class.php'; require_once '../App/Models/vendas.class.php'; echo $head; echo $header; echo $aside; ?> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <h1> Vendas </h1> <ol class="breadcrumb"> <li><a href="../"><i class="fa fa-dashboard"></i>inicia</a></li> <li class="active">Vendas</li> </ol> </section> <!-- Main content --> <section class="content"> <?php require '../layout/alert.php'; ?> <!-- Small boxes (Stat box) --> <div class="row"> <div class="box box-primary"> <!-- /.box-header --> <div class="box-body"> <div class="row"> <div class="box-body"> <div class="col-xs-12 col-sm-12"> <?php if(isset($_SESSION['msg']) != NULL) { echo $_SESSION['msg']; } ?> </div> </div> <div class="row"> <div class="box-body"> <div class="col-xs-12 col-sm-12"> <div class="table-responsive"> <table id="mytable" class="table table-bordred table-striped" border="2"> <?php $cartvd = $_SESSION['notavd']; $vendas = new vendas; $row = $vendas->notavd($cartvd); $idNota=$row[0]['idvendas']; $cliente = new cliente; $dados = $cliente->dadoscliente($row[0]['cliente_idCliente']); ?> <tr> <h1 style=""><b>Nota de Venda- Dentista do Sorriso</b></h1> <td><b>Numero da Nota: </b><?php echo $idNota; ?> </td> <td colspan="5"> <b>Cliente: </b><?php echo $dados['NomeCliente']; ?> </br><b>CPF:</b> <?php echo connect::format_CPF($dados['cpfCliente']); ?> </td> <tr> <tr> <td><b>Cod.</b></td> <td><b>Produto</b></td> <td><b>Qtde</b></td> <td><b>Valor Produto.</b></td> </tr> <?php $soma = 0; foreach ($row as $key) { $vendas = new vendas; $dadosItem = $vendas->dadosItem($key["iditem"]); $nomeProduto = $dadosItem['NomeProduto']; echo "<tr>"; echo '<td>' .$key["iditem"]. '</td>'; echo '<td>' .$nomeProduto. '</td>'; echo '<td>'. $key["quantitens"] . '</td>'; echo '<td>'; echo connect::format_moeda($key['valor']); echo '</td>'; echo "</tr>"; $soma = $soma + $key["valor"]; } ?> <tr> <td colspan="4">Data: <?php echo date('d M Y'); ?> </td> <td><h4><b>Total:</b></h4> <?php echo connect::format_moeda($soma); ?></td> </tr> </table> </div> </div> </div> </div> </div> </div> </div> <a href="./"><button class="btm btm-success">Voltar</button></a> </section> </div> <?php unset($_SESSION['msg'],$_SESSION['CPF'], $_SESSION['Cliente'], $_POST); echo $footer; echo $javascript; ?> <!-- Fim no codigo --> public function notavd($cart){ $query = "SELECT * FROM `vendas` WHERE `cart` = '$cart'"; if($this->result = mysqli_query($this->SQL, $query) or die (mysqli_error($this->SQL))){ while($row = mysqli_fetch_array($this->result)){ $out[] = $row; } } return $out; }//--notavd Estou com um problema com o foreach
    • By Kelven
      Existe alguma maneira de meu código não aparecer no código fonte que não seja por meio de Php? Tipo um código javascript que não apareça no código fonte? Quero fazer uma verificação if else se é um determinado valor de uma variável mas sem usar o php pois o blog só aceita javascript, html e css.
    • By Itamar Teixeira_94230
      Boa tarde, turma minha bronca é a seguinte, estou trabalhando usando url amigavel, preciso fazer o seguinte,
      quando o usuario acessa esse link 
      http://localhost/system/imprimir_seguro.php?cod=21 ele consegue gera normalmente e visualizar o pdf usando a classe dompdf
       
      mais queria usar da seguinte maneira como as demais url do sistema
       
      http://localhost/system/imprimir_seguro/21
      alguém pra me da esse help?
×

Important Information

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