Tracking Pixel con Php

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Seguendo questa guida thatsmith . com /2008/11/how-to-make-tracking-images-with-php sono riuscito a creare il pixel tag che mi serviva. Ora devo personalizzarlo, ma conosco pochissimo il php e non riesco a farlo funzionare come deve

Questo è lo script diciamo di base :

PHP:
<?php
header("content-type: image/png");echo gzinflate(base64_decode("6wzwc+flkuJiYGDg9fRwCQLSjCDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOSxMDB+E7cIBcl7uvq5rHNKaAIA"));
$db=new PDO('mysql:host=localhost;dbname=*********', *******',
'*******');
$db->prepare('INSERT INTO hits (id,ip,page,timestamp) VALUES (?,?,?,?)')->execute(array($_GET['id'],$_SERVER['REMOTE_ADDR'],
$_SERVER['HTTP_REFERER'],time()));
?>

Mi serve un ulteriore parametro ovvero "Orderid". Ho aggiunto un campo alla tabella Hits -orderid- appunto (campo testo). Come faccio ad inserire in questo script la riga di codice che riempe il campo "orderid"?

Grazie
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
nel complesso mi sembra giusto

PHP:
<?php
header("content-type: image/png");
echo gzinflate(base64_decode("6wzwc+flkuJiYGDg9fRwCQLSj CDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOS xMDB+E7cIBcl7uvq5rHNKaAIA"));
$db=new PDO('mysql:host=****;dbname=**', '****','***!');
//usi un $_GET['id'] nella query, da dove salta fuori?
//se l'id è la primarykey autoincrement puoi fare a mano di metterlo
$orderid = (isset($_GET['orderid']) ? $_GET['orderid'] : null);
$level = (isset($_GET['level']) ? $_GET['level'] : null);

$db->prepare('INSERT INTO hits (id,ip,page,timestamp,orderid,level) VALUES (?,?,?,?,?,?)')->execute(array($_GET['id'],$_SERVER['REMOTE_ADDR'],
$_SERVER['HTTP_REFERER'],time(), $orderid, $level));
?>

non capisco cosa intendi per
HTML:
<img src="http://example/scripts/sale.php?AccountId=123456&OrderID=[[orderid]]&ProductID=98745&Level=[[level]]" width="1" height="1" >
se i valori delle querystringa sono quelli che ti devono risultare da una interrogazione della tabella
non mi sembra giusta
spezzetto
PHP:
<img src="http://example/scripts/sale.php?AccountId=123456&OrderID=<?php echo $OrdeId; ?>
&ProductID=98745
&Level=<?php echo $level;?>"
width="1" height="1" >

questo se non ho capito male il problema

poi una cosa vedo che usi
header("content-type: image/png");
generalmente si usa quando si salva il file immagine in un campo blob e vuoi visualizzare con
echo $file;
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Praticamente non è un'interrogazione della tabella, ma quella querystringa

<img src="http://example/scripts/sale.php?AccountId=123456&OrderID=[[orderid]]&ProductID=98745&Level=[[level]]" width="1" height="1" >

serve solo a tracciare, quindi registrare nelle varie tabelle le variabili che generano le url.

Questo codice (<img src="http://example/scripts/sale.php?AccountId=123456&OrderID=[[orderid]]&ProductID=98745&Level=[[level]]" width="1" height="1" >) sarà inserito in una pagina di vendita/iscrizioni, e quei parametri (orderid="") e (level="level") saranno generati automaticamente e questo script li devi registrare nelle tabelle. Non sicuro che lo script sia corretto...

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa è il caldo
PHP:
<?php
header("content-type: image/png");
echo gzinflate(base64_decode("6wzwc+flkuJiYGDg9fRwCQLSj CDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOS xMDB+E7cIBcl7uvq5rHNKaAIA"));
$db=new PDO('mysql:host=****;dbname=**', '****','***!');
//usi un $_GET['id'] nella query, da dove salta fuori?
//se l'id è la primarykey autoincrement puoi fare a mano di metterlo
$orderid = (isset($_GET['orderid']) ? $_GET['orderid'] : null);
$level = (isset($_GET['level']) ? $_GET['level'] : null);
$str=$db->prepare('INSERT INTO hits (id,ip,page,timestamp,orderid,level) VALUES (?,?,?,?,?,?)');
$str->execute(array($_GET['id'],'$_SERVER['REMOTE_ADDR']', '$_SERVER['HTTP_REFERER']',time(), $orderid, $level));
?>
e gli apici agli elementi dell'array che non sono interi
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
ciao
scusa è il caldo
PHP:
<?php
header("content-type: image/png");
echo gzinflate(base64_decode("6wzwc+flkuJiYGDg9fRwCQLSj CDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOS xMDB+E7cIBcl7uvq5rHNKaAIA"));
$db=new PDO('mysql:host=****;dbname=**', '****','***!');
//usi un $_GET['id'] nella query, da dove salta fuori?
//se l'id è la primarykey autoincrement puoi fare a mano di metterlo
$orderid = (isset($_GET['orderid']) ? $_GET['orderid'] : null);
$level = (isset($_GET['level']) ? $_GET['level'] : null);
$str=$db->prepare('INSERT INTO hits (id,ip,page,timestamp,orderid,level) VALUES (?,?,?,?,?,?)');
$str->execute(array($_GET['id'],'$_SERVER['REMOTE_ADDR']', '$_SERVER['HTTP_REFERER']',time(), $orderid, $level));
?>
e gli apici agli elementi dell'array che non sono interi

Ciao c'è qualcosa che non va nel codice dello script, non salva nulla nel db. Quello di prima invece salvava ma non ero sicuro che mi salvasse anche "orderid e level" che sono due campi che ho aggiunto io.

grazie
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Ho controllato mi dice questo :


Parse error: syntax error, unexpected T_STRING, expecting ')' on line 10

la linea 10 è questa :

$str->execute(array('$_GET['id'],'$_SERVER['REMOTE_ADDR']', '$_SERVER['HTTP_REFERER']',time(), $orderid, $level));

Non conoscendo il php non capisco l'errore...

grazie mille
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
verifica che non sia questo
$str->execute(array('$_GET['id'],'$_SERVER['REMOTE_ADDR']', '$_SERVER['HTTP_REFERER']',time(), $orderid, $level));
togli quell'apice se l'id è un intero, se è una stringa chiudilo
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Grazie mille ancora per l'aiuto, ho fatto così :

PHP:
<?php
header("content-type: image/png");
echo gzinflate(base64_decode("6wzwc+flkuJiYGDg9fRwCQLSj CDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOS xMDB+E7cIBcl7uvq5rHNKaAIA"));
$db=new PDO('mysql:host=****;dbname=****6', '*****','*****');
$orderid = (isset($_GET['orderid']) ? $_GET['orderid'] : null);
$level = (isset($_GET['level']) ? $_GET['level'] : null);
$str=$db->prepare('INSERT INTO hits (id,ip,page,timestamp,orderid,level) VALUES (?,?,?,?,?,?)');
$str->execute(array($_GET['id'],$_SERVER['REMOTE_ADDR'],
$_SERVER['HTTP_REFERER'],time(), $orderid, $level));
?>

Ho provato ad eseguire la pagina track3.php (che contiene lo script) ed effettivamente si vede un'immagine di 1px x 1px . Controllandolo su codepad. org mi dice :

Fatal error: Call to undefined function gzinflate() on line 2

Però credo che quello non sia un errore, non è una personalizzazione l'ho preso direttamente da quella guida che ho postato su. Poi se fosse un "Fatal Error" non avrei dovuto visualizzare l'immagine giusto?

Grazie ancora per l'aiuto
 
Ultima modifica di un moderatore:

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Ciao, credo che quella funzioni si colleghi all'htaccess della guida che ho postato prima, forse per questo non va provando su codepad . Commentando la riga mi esce un altro errore:

Fatal error: Class 'PDO' not found on line 3


Però non può essere...il collegamento al db funziona perfettamente. Forse sbaglio io a provarlo su codepad (oscurando i dati di connessione) quindi dà errore.

Diciamo che lo script funziona correttamente, l'unica cosa che mi manca è la certezza che tracci anche le variabili orderid e level ...come posso testare questo? Perchè finora traccia sia l'ip e sia la pagina (referer) oltre al timestamp che registra correttamente.

Grazie ancora
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Ciao,
Si da lì ho verificato che registra l'ip e il resto. Non avendo l'url (non so come fare), non riesco a registrare orderid e level. Ho provato a fare così l'url : "www.miodominio.it/orderid=500&level=100" ma non registra le variabili (orderid & level). Forse l'ho composto male?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non so esattamente, ma per inviare una querystringa intanto devi sapere dove inviarla e deve iniziare con ?
www . miodominio . it/nome_pagina.php?orderid=500&level=100
in questo modo nella pagina nome_pagina.php puoi ricevere i valori con $_GET['orderid'] e $_GET['level']

mi spieghi cosa vuoi fare? se non ho capito male vuoi tracciare i visitatori del tuo sito, se è così allora perche non usi google analitycs
che ti risparmi un sacco di problemi, è più sicuro e ti da moltissime informazioni?
 

bollicine87

Nuovo Utente
17 Giu 2013
8
0
0
Ciao,
per me uso analytics. Questo script serve alla società per cui lavoro che invia le dem. Il cliente o almeno alcuni non ci fanno usare analytics e ci hanno chiesto di creare questo pixel di tracciamento, ecco perchè lo sto creando :) . Grazie mille per l'aiuto:fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
Z Proxy HTTPS per strumenti di rank tracking SEO e Posizionamento 0
I Tracking cookie Sicurezza e Virus 2
W click tracking , problemi con la visualizzazione del php aiuto urgente PHP 1
C tracking cookie Sicurezza e Virus 5
L leggere RGB di un pixel dello schermo in java Java 1
G [Photoshop] Visualizzazione pixel reali Photoshop 4
Emix Problemi Div e centratura... E pixel... HTML e CSS 19
Web Designer Come convertire pixel in cm con px2in converter Windows e Software 0
F Ridurre dimensioni in pixel dei filmati .swf Flash 0
C Larghezza in pixel HTML e CSS 2
M Aggiungere pixel nello stage in alto o a sinistra Flash 1
bluroy Bluroy Million Pixel Concorso A Premi Altri Annunci 7
M pixel Webdesign e Grafica 3
G Pagina di tot pixel! HTML e CSS 6
K Pixel billboard HTML e CSS 5
P Che schifo i pixel!!! Presenta il tuo Sito 4
S cella da 1 pixel Webdesign e Grafica 7
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
M Aggiunta prodotti nel carrello con lo stesso in e varianti diverse PHP 0
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Problema con position absolute e overflow HTML e CSS 4
M Estrarre soltanto i prodotti con stessa descrizione PHP 10
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
G Invio di più valori con la stessa checkbox PHP 4
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
I Form con selettore HTML e CSS 0
G phpmailer e php 8.1 con estensione mysqli PHP 6
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
N Vendo sito web di casino online con 1000 giochi Compravendita siti e domini 0
G form invio multiplo con checkbox PHP 12
L Query e selezione DB con $_POST PHP 2
K [PHP] Problema con variabili concatenate. PHP 1

Discussioni simili