Statistieken laat de referer niet zien
Hij zet er niets in dus ook geen NULL
Hoe komt dit?
De bezoeker drukt op een pagina op de link en wordt dan eerst naar de tussenpagina verwezen. (website.php)
Hier staat het volgende script op:
EDIT: typfout in script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
include("diversen.php");
//maak verbinding met de database
$connection = mysql_connect ($hostname,$user,$password) or die
( "Sorry maar ik kan geen contact maken met de database, probeer het later opnieuw of ververs uw browser.");
$db = mysql_select_db ($database, $connection) or die
("Sorry, maar ik kan de database niet openen.");
if(isset($_GET['id']) && (is_numeric($_GET['id']))) {
$website_id = $_GET['id'];
}else{
$website_id = NULL;
}
// Gegevens voor een nieuw logboekitem verzamelen:
$datumtijd = date("Y-m-d H:i:s"); // Huidige datum
if (isset($_SERVER['REQUEST_METHOD'])) { // HTTP-methode
$methode = $_SERVER['REQUEST_METHOD'];
} else {
$methode = NULL;
}
if (isset($_SERVER['PHP_SELF'])) { // Huidige pagina
$pagina = $_SERVER['PHP_SELF'];
} else {
$pagina = NULL;
}
if (isset($_SERVER['HTTP_REFERER'])) { // Vorige pagina
$referer = $_SERVER['HTTP_REFERER'];
} else {
$referer = NULL;
}
if (isset($_SERVER['REMOTE_ADDR'])) { // Extern IP-adres
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = NULL;
}
if (isset($_SERVER['HTTP_USER_AGENT'])) { // Gebruikte browser
$browser = $_SERVER['HTTP_USER_AGENT'];
} else {
$browser = NULL;
}
// MySQL-toevoegquery opstellen:
$sql = "INSERT INTO `kliks` ";
$sql .= "(`id`, `datumtijd`, `website_id`, `methode`, `pagina`, `referer`, `adres`, `browser`) ";
$sql .= "VALUES ";
$sql .= "('', '$datumtijd', '$website_id', '$methode', '$pagina', '$referer', '$ip_adres', '$browser') ";
$sql .= "; ";
$res =mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows() >0){
$resultLink = mysql_query("SELECT website FROM links WHERE links_id = ".$_GET['id']) or die(mysql_error());
$rowLink = mysql_fetch_object($resultLink);
header("Location:".$rowLink->website);
exit("U wordt doorgestuurd");
}else{
echo "er is iets misgegaan";
}
?>
include("diversen.php");
//maak verbinding met de database
$connection = mysql_connect ($hostname,$user,$password) or die
( "Sorry maar ik kan geen contact maken met de database, probeer het later opnieuw of ververs uw browser.");
$db = mysql_select_db ($database, $connection) or die
("Sorry, maar ik kan de database niet openen.");
if(isset($_GET['id']) && (is_numeric($_GET['id']))) {
$website_id = $_GET['id'];
}else{
$website_id = NULL;
}
// Gegevens voor een nieuw logboekitem verzamelen:
$datumtijd = date("Y-m-d H:i:s"); // Huidige datum
if (isset($_SERVER['REQUEST_METHOD'])) { // HTTP-methode
$methode = $_SERVER['REQUEST_METHOD'];
} else {
$methode = NULL;
}
if (isset($_SERVER['PHP_SELF'])) { // Huidige pagina
$pagina = $_SERVER['PHP_SELF'];
} else {
$pagina = NULL;
}
if (isset($_SERVER['HTTP_REFERER'])) { // Vorige pagina
$referer = $_SERVER['HTTP_REFERER'];
} else {
$referer = NULL;
}
if (isset($_SERVER['REMOTE_ADDR'])) { // Extern IP-adres
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = NULL;
}
if (isset($_SERVER['HTTP_USER_AGENT'])) { // Gebruikte browser
$browser = $_SERVER['HTTP_USER_AGENT'];
} else {
$browser = NULL;
}
// MySQL-toevoegquery opstellen:
$sql = "INSERT INTO `kliks` ";
$sql .= "(`id`, `datumtijd`, `website_id`, `methode`, `pagina`, `referer`, `adres`, `browser`) ";
$sql .= "VALUES ";
$sql .= "('', '$datumtijd', '$website_id', '$methode', '$pagina', '$referer', '$ip_adres', '$browser') ";
$sql .= "; ";
$res =mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows() >0){
$resultLink = mysql_query("SELECT website FROM links WHERE links_id = ".$_GET['id']) or die(mysql_error());
$rowLink = mysql_fetch_object($resultLink);
header("Location:".$rowLink->website);
exit("U wordt doorgestuurd");
}else{
echo "er is iets misgegaan";
}
?>
Verder heeft 'NULL' geen waarde en zal dus een leeg veld in je database worden aangemaakt ;-) .
Edit:
Referer is volgens mij ook maar met één R. Ik bedoel dus refeRer ipv refeRRer.
Gewijzigd op 01/01/1970 01:00:00 door Ponzi
Hoe kun je dan in de database zetten van welke pagina de bezoeker afkomt op mijn site. Bv. http://www.kijk-vergelijk.nl/?cat_id=2 (kinderen)
Dit gaat nu met dit stukje:
Code (php)
Maar dan geeft hij de titel op van de tussenpagina (/website.php -> http://www.kijk-vergelijk.nl/website.php?id=307)
Of begrijp ik je vraag verkeerd?
Of ik leg het niet goed uit, kan ook :)
Je komt op mijn website.
Je klikt op een link en wordt dan doorgestuurd naar een tussenpagina waar het bovenstaande script op staat. (website.php)
Daar staat oa. het volgende op:
Code (php)
Ik had dus gehoopt dat nu bij HTTP_REFERER in de database het adres zou staan van waar de bezoeker vandaan komt op mijn pagina.
Dus bv. van de pagina "kinderen".
Maar in de database staat helemaal niets.
PHP_SELF werkt wel goed. Daar staat in de database: /website.php (dit is dus de naam van de tussenpagina)
Code (php)
Edit:
ponzi had het al gezegd, je was 1 R vergeten te veranderen
Gewijzigd op 01/01/1970 01:00:00 door Scrptr
Scrptr schreef op 03.03.2007 19:10:
referer schrijf je met 1 r ;) dus:
ja, dat heb ik in mijn script al aangepast maar ik had het hier uit gecopieerd en niet goed gewijzigd.
Maar het maakt geen verschil.
Als je daar nu eens de http referer in zet met bepaalde voorwaarden.
Als bijvoorbeeld de http referer leeg is dan veranderen je de sessie variabele niet. Zo heb je in iedergeval altijd een gevulde http referer
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Als ik dit doe: echo $HTTP_REFERER['HTTP_REFERER'];
laat hij alleen de letter "h" zien.
Maar wat ik bedoel is op iedere pagina of in een centraal script wat overal wordt ingevoegd (het database/config script ofzo...) het volgende zetten:
Code (php)
En dit uiteraard na de functie session_start().
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Bedankt voor alle hulp.
Graag gedaan :-) ...