Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz um sistema que envia e-mail para os clientes, mas como vou fazer para saber se ele clicou no link que eu enviei no corpo do e-mail?
>
1 minuto atrás, EdCesar disse:
Se o link refere-se a um sistema que você possui controle, junto com o link você pode acrescentar um token que identifica o cliente, e então marcar no banco quando o link for acessado, pegando o token via GET
Ele redireciona para essa pagina
header("Location:http://www.hfxdigital.com/");
E lá no banco de dados eu tenho uma coluna chamada clicou... Ao clicar no link o clicou deveria receber +1 para saber quantas vezes ele clicou, entendeu?
<?php
// Captura o HASH do e-mail visualizado
$hash = trim(strip_tags(addslashes($_REQUEST['hash'])));
include('conex.php');
// Monta a SQL e atualiza data de visualização do email e contador no banco de dados
$sql = 'SELECT hash FROM monitora WHERE hash="'.$hash.'"';
$res = mysqli_query($conn, $sql);
if (mysqli_num_rows($res) > 0) {
$sql = 'UPDATE monitora SET clicou = clicou + 1 WHERE hash="'.$hash.'"';
mysqli_query($conn,$sql);
}
// Cria e exibe a imagem embutida ao email
header("Location:http://www.hfxdigital.com/");
?>Entendi, mas porque não esta funcionando, qual erro esta dando?
>
Agora, EdCesar disse:
Entendi, mas porque não esta funcionando, qual erro esta dando?
Não da erro nenhum, mas tbm não atualiza o valor
Habilite a exibição de erros adicionando o código abaixo no inicio do seu script:
ini_set('display_errors', true);
error_reporting(E_ALL);>
10 minutos atrás, EdCesar disse:
Habilite a exibição de erros adicionando o código abaixo no inicio do seu script:
ini_set('display_errors', true);
error_reporting(E_ALL);
Não deu nadaVai eliminando...
Veja as condições do seu código, no caso do **update**, ele só vai ocorrer se **mysqli_num_rows($res)** for maior que **0**
Esta condição esta sendo atendida? Coloque um simples **echo **para confirmar isso, por exemplo:
if (mysqli_num_rows($res) > 0) {
echo "cheguei aqui!";>
11 minutos atrás, EdCesar disse:
Vai eliminando...
Veja as condições do seu código, no caso do **update**, ele só vai ocorrer se **mysqli_num_rows($res)** for maior que **0**
Esta condição esta sendo atendida? Coloque um simples **echo **para confirmar isso, por exemplo:
if (mysqli_num_rows($res) > 0) {
echo "cheguei aqui!";
eu removi o if... Então assim que ele fosse redirecionado ja éra pra dar o updateDa um
echo var_dump($res);
Para ver oque se passa na query..
Se o link refere-se a um sistema que você possui controle, junto com o link você pode acrescentar um token que identifica o cliente, e então marcar no banco quando o link for acessado, pegando o token via GET