Weet iemand ook wat ik moet veranderen in mijn apache configuratie of php.ini? ik gebruik apache2, en php5, en het lijkt wel alsof ze deze variabele helemaal weggelaten hebben uit php5.

via javascript geprobeerd, en via php

Javascript:

<script type = "text/javascript">
alert(document.referrer);
</script>


php:

<?php
echo $_SERVER['HTTP_REFERER']; 
?>


Bij voorbaat dank!
Ga je via een andere pagina naar de pagina met de referers?
- dan zou je het moeten zien.

of typ je de pagina in?
- dan zal je niks zien.
Pagina 1:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


<html>
	<head>
	<title>Doorlinken</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
	<a href="referrer.php">referrer</a>
</body>
</html>

Pagina 2:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


<html>
<head>
	<title>referrer</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<script type="text/javascript">
	var ref;
	function init () {
		if (document.referrer) {
			alert (document.referrer);
		}
	}
	window.onload = init;
	</script>
</head>

<body>
</body>
</html>
De code van jan werkt wel, maar waarom werkt die van PHP niet :-S, ik gebruik het trouwens gewoon voor een 404 documentje, dus hij zou gewoon moeten werken, bovendien heb ik dezelfde code op mijn vorige server ook gebruikt, en daar werkte hij gewoon, dat is wel een jaar geleden ofzo, dus ik dacht misschien heeft het iets met de php versie te maken
Het werkt alleen als je vanaf een link (dus waar je op klikt) naar de site gaat met het refferer script. Niet als je het gewoon in je adresbalk intypt.
Okee, is er ook een manier waarop ik wel de voorgaande pagina kan meegeven? ik heb een scriptje gemaakt wat die pagina + error in de database zet, het enige probleem is dus dat ik de die pagina dus niet mee kan geven =)
Ik snap het niet helemaal, maar je kunt met elke URL die je maakt dit meegeven:

<a href="http://www.domein.be/map/jebestand.php?ref=<?php echo $_SERVER['PHP_SELF']; ?>">klik hier</a>
Sorry ik was onduidelijk :-)

Ik heb in mijn htaccess bestandje gezet dat hij naar http://www.domein.nl/error/index.php?error?=[error] moet verwijzen. De bedoeling van index.php is dat hij de url van de pagina die de error veroorzaakte, of dus de url van de pagina die niet bestond, in de database zet, samen met het errornummer, dat lukt in principe allemaal, behalve dus de referrer, die werkt niet. Is er ook een mogelijkheid dat ik wel de pagina in een variabele kan krijgen?
PHPNewbie heeft dat op zijn site... Weet alleen de code niet :-P
Ik wel :-p

zal hem zo ff posten

[edit]
in index.php:

<?php
if(isset($_GET['page404']))
{
$maxaant = 3; // Maximale aantal bezoeken in 1 minuut
$time = 60; //tijd in seconden
$error = 'Dit is al de 3e keer deze minuut dat u een pagina niet kunt vinden, dit valt op, en er is dan ook geen e-mail verstuurd naar chess-web';

if(isset($_SESSION['flood']))
{
if((time()-$_SESSION['flood']['TijD']) >= $time)
{
unset($_SESSION['flood']);

$_SESSION['flood']['TijD']=time();
$_SESSION['flood']['Views']=1;
}
else
{
$_SESSION['flood']['Views']++;

if($_SESSION['flood']['Views']>=$maxaant)
{
exit($error);
}
}
if(isset($_SESSION['flood']['Views']))
{
$aantnog = $maxaant - $_SESSION['flood']['Views'];
}
}
else
{
$_SESSION['flood']['TijD']=time();
$_SESSION['flood']['Views']=1;
}

$headers = "From: Chess-web error-reporting <[email protected]>\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n"; //zet html header
$headers .= "X-Priority: 3\n"; //zet priority (3 voor hoge prioriteit)
$headers .= "X-MSMail-Priority: High\n"; //header voor het zo snel mogelijk versturen door de mail server
$headers .= "X-Mailer: PHP/".phpversion(); //header die aangeeft waarvan gemailt is

if($_GET['ip'] == $_SERVER['REMOTE_ADDR'])
{
if(mail('[email protected]',
$_GET['page404'].' niet gevonden',
'De pagina '.$_GET['page404'].' kon niet worden gevonden. Het ip is '.$_GET['ip'], $headers))
{
echo 'Dit bestand of deze map kon niet worden gevonden, er is een e-mail verstuurd naar Chess-web';
}
else
{
echo 'Deze pagina kon niet worden gevonden';
}
}
else
{
echo '<b>FOUT!</b> Kan niet verwerken';
}
}
elseif(isset($_GET['page403']))
{
echo 'Dit deel van de site is verboden';
}
?>

in een htaccessje:


ErrorDocument 404 /404.php
ErrorDocument 403 /403.php


en dan nog 2 pagina's:

404.php

<?php
header('Location: http://www.chess-web.nl/?page404='.$_SERVER['REDIRECT_URL'].'&ip='.$_SERVER['REMOTE_ADDR';]);
?>

en 403.php

<?php
header('Location: http://www.chess-web.nl/?page403='.$_SERVER['REDIRECT_URL';]);
?>

Misschien wat veel werk, maar ik heb nog altijd mijn e-mailtjes keurig binnen gehad.
[/edit]
Is het nou gelukt?

Reageren