Hello,
I have a website that sets a cookie when a user visits the website. The cookie holds an ID number that I have decided to refer to Computer Identification Number (CIN) that is unique for every user. The idea is to be able to identify a computer with the CIN even if the IP changes.
This is the code I use. What it does is that it first checks whether a visitor is an admin. Every admin pc has the admin cookie called 'admin'. If the user is not an admin, the script checks if cookies of the user is enabled and reloads the page to check. If cookies are on, it checks if the user has been here before, by checking if cookie called tp_visitor is set, if it isnt, the script sets a new tp_visitor. The tp_visitor contains the unique ID number {CIN} ). Each visit, the script writes to a database and logs the CIN, IP and timestamp:
Code: <?php
$connection = connect(); //CONNECTS TO MYSQL
if (empty($_COOKIE['admin']) ) { //COMPUTERS WITH COOKIE: 'ADMIN' ARE ADMINS, AND SHOULD NOT BE COUNTED
if (isset($_SERVER['HTTP_REFERER'])) {
$ref = $_SERVER['HTTP_REFERER'];
}
// CHECKS IF USER HAS COOKIE BY FIRST SETTING ONE THEN RELOADING THE SAME PAGE TO CHECK IF THE COOKIE WAS SET
if ( ! isset( $_GET['entry'] ) ) {
setcookie('enabled', 'test', (time() + (60*60*24*365*5)));
header('location: ' . $_SERVER['PHP_SELF'] . '?entry=1&' . SID);
}
else {
//IF COOKIE WAS SET
if (!empty($_COOKIE['enabled'])) {
//IF COOKIE TP_VISITOR IS NOT SET (THE USER IS HERE FOR THE FIRST TIME)
if ( !isset( $_COOKIE['tp_visitor'] ) ) {
$new_cin = 'SELECT COUNT(*) FROM kingoslo.cin';
$resultat = mysql_query($new_cin, $connection);
$new_cin = mysql_result($resultat,0);
$new_cin = $new_cin + 1;
setcookie('tp_visitor', $new_cin, (time() +(60*60*24*365*5)) );
$cookie = 'INSERT INTO kingoslo.cinlog (cin, tid, ip, referanse) VALUES ("' . $new_cin . '", "' . time() . '", "' . getenv("REMOTE_ADDR") . '", "' . $ref . '")';
$new_cin = 'INSERT INTO kingoslo.cin (cin, visits, epost) VALUES ("' . $new_cin . '", 0, 0)';
mysql_query($cookie, $connection);
mysql_query($new_cin, $connection);
}
//IF COOKIE TP_VISITOR IS SET (THE USER IS NOT HERE FOR THE FIRST TIME)
else {
$no_cookie = 'INSERT INTO kingoslo.cinlog (cin, tid, ip, referanse) VALUES ("' . $_COOKIE['tp_visitor'] . '", "' . time() . '", "' . getenv("REMOTE_ADDR") . '", "' . $ref . '")';
mysql_query($no_cookie, $connection);
setcookie('tp_visitor', $_COOKIE['tp_visitor'], (time() +(60*60*24*365*5)) );
}
}
else { //IF COOKIES WAS DISABLED
$no_cookie = 'INSERT INTO kingoslo.cinlog (cin, tid, ip, referanse) VALUES ("COOKIE_DISABLED", "' . time() . '", "' . getenv("REMOTE_ADDR") . '", "' . $ref . '")';
mysql_query($no_cookie, $connection);
}
}
}
close($connection); //CLOSES CONNECTION
?>
Now what is the problem?
Well it seems that when I visit this script, it will sometimes create a new CIN and cookie called tp_visitor even if the user has been on the website before! This seems to happen more frequently when I am directed from different sources, i.e. if I am first directed from a link on Google, then type in the URL of the website in the next attempt.
I was wondering what this may be the result of. I think it is very strange
Thanks
building a function with multiple outputs
I want to build a function that has multiple outputs.I know but am not to sure how I should go about that, the only thing I know won't work is return a;return b;return c; that will return one result
Session is not saving
I am not trying to do anything too fancy, I am just trying to get some $_SESSION data to save and use it on the next page, but so far no luck. Its saving some data to $_SESSION['name'] and then
Where am I going wrong
Been trying to work this out for hours I have two tables called 'Genres' and 'Films'. Genres contains two columns 'Genre_id' and 'Genre_Name'. Films contains a load of columns, the most important
Passing vars to the DB
I have 3 small testing tables:ID TYPE1 pepperoni2 C. bacon3 tacoID TYPE1 small2 med3 largeID TYPE1 bud2 hef3 mil best4 7up5 orange6 cokeEach one is a select menu. How would I pass these as
help with calculations on a flat text file
hello,I have this code below that is attached to a flat file like this:Email:LastName:FirstName:Assignment1,100:Assignment2,100:Quiz1,50someone@email.com:Doe:John:85:93:45Here is the code:
mysql_affected_rows() usage
Possibly a MySQL issue, but the function that is not behaving in the anticipated way is a PHP function.Seems as though mysql_affected_rows() is not returning the desired number so I can move into my
Query failed issue with php script but works fine in mssql manager!
hi i have the script below which copies data from one table to another but will only insert new data update current data or delete old data from tempproducts to products then it will delete the
please help me... my password gets encrypted but not able to get in database
hai guys, please help me... in the following function my password gets encrypted but not able to get in database.is any error in the query please help me...... <?php $email =
Writting a script to arrange images........ need some help
Ok so here is the linkhttp://hmtotc.com/dev/projects/vrassociates/jeweler_dev/admin/index.php?id=arrange&loc=4I am wondering if there is a way to have the text field hold a hidden value so I
Unable to retreve the values from Mysql Query
Hi, Here is the php code that I have, Query is running properly in phpmyadmin and is resulting 5 which is correct but when i try to get tht in php its not printing the value $sql_query=