Hallo,

Ik heb een script nodig waarbij de include afhankelijk is van de refferer.

Dus bijvoorbeeld van refferer 1, dan include de pagina 'pagina 1'
Refferer 2, dan include hij 'pagina 2'
En wanneer van andere refferes, include 'pagina 1'.

Eerst een vraag, bestaat zo'n script. En waar kan ik die vinden?
<?
switch ( $_SERVER['HTTP_REFERRER'] ) {
case 'REF_1':
include ('pag1');
break;

default:
include('page2');
break;
}

?>

zo kan het, of met rexexp matchen ofzo
Bedankt :)

Moet ik bij REF_1 de refferer invullen of bij HTTP_REFERRER?

Ik heb bij REF_1: http://forum.*sitenaam*.nl/
gedaan, maar wanneer refferer daarvan komt, include hij page2.html
echo $_SERVER['HTTP_REFERRER'];

Dan kun je zien waar die vandaan komt en of dat hetzelfde is als wat jij bij REF_1 hebt ingevuld.
<?
$ref = explode('/', $refferer);
$site_ref = $ref[2];
?>
Bedankt Hipska, maar hoe met ik hem met de bovenstaande code gebruiken?

Eronder zetten lukt niet :S.
<?
$ref = explode('/', $_SERVER['HTTP_REFERRER'] );
$site_ref = $ref[2];

switch ( $site_ref ) {
case 'REF_1':
include ('pag1');
break;

default:
include('page2');
break;
}

?>
Bedankt :)

Weer een probleem: wanneer hij van de refferer komt die ik heb ingesteld, wordt pagina 1 toch geinclude :(

Sorry, ik ben een newbie van 14 jaar ;)
wel, is toch goed?
$_SERVER['HTTP_REFERRER'] is onbetrouwbaar, maar daar zullen we het even niet over hebben.

Als je even $_SERVER['HTTP_REFERRER'] echoot, dan zie je welke waarden deze heeft, bij de verschillende pagina's.

Vervolgens kun je met deze functie bekijken of er delen van de door jou opgegeven string in die $_SERVER['HTTP_REFERRER'] voorkomt.

En dan is het gewoon een stel else ifjes achter elkaar (ik denk niet dat het met een switch kan)

<?php

if(ereg('google', $_SERVER['HTTP_REFERRER']))
{
echo 'referer is google';
}
elseif(ereg('yahoo', $_SERVER['HTTP_REFERRER']))
{
echo 'referer is yahoo';
}
...
...
...
?>

Succes!

Reageren