Include op referrer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

AstroVersum

AstroVersum

25/09/2006 17:06:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

23/04/2024 12:28:28
 
Stien ss

stien ss

25/09/2006 17:47:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
switch ( $_SERVER['HTTP_REFERRER'] ) {
        case
'REF_1':
            include ('pag1');
        break;

        default:

             include('page2');
        break;
}


?>


zo kan het, of met rexexp matchen ofzo
 
AstroVersum

AstroVersum

27/09/2006 17:33:00
Quote Anchor link
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
 
- SanThe -

- SanThe -

27/09/2006 17:50:00
Quote Anchor link
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.
 
AstroVersum

AstroVersum

27/09/2006 20:45:00
Quote Anchor link
Ik heb bij REF_1: http://forum.*sitenaam*.nl/
ingevuld, maar als je van http://forum.*sitenaam*.nl/page3.html
komt, krijg je page2.html te zien. Hoe kan ik dit zorgen voor hele (sub)domeinen, dus http://forum.*sitenaam*.nl/*alle pagina's*
 
Hipska BE

Hipska BE

27/09/2006 20:53:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$ref
= explode('/', $refferer);
$site_ref = $ref[2];
?>
 
AstroVersum

AstroVersum

27/09/2006 21:10:00
Quote Anchor link
Bedankt Hipska, maar hoe met ik hem met de bovenstaande code gebruiken?

Eronder zetten lukt niet :S.
 
Hipska BE

Hipska BE

27/09/2006 21:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$ref
= explode('/',  $_SERVER['HTTP_REFERRER'] );
$site_ref = $ref[2];

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

        default:

             include('page2');
        break;
}


?>
 
AstroVersum

AstroVersum

27/09/2006 21:57:00
Quote Anchor link
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 ;)
 
Hipska BE

Hipska BE

27/09/2006 23:13:00
Quote Anchor link
wel, is toch goed?
 
PHP Newbie

PHP Newbie

28/09/2006 01:27:00
Quote Anchor link
$_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)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

if(ereg('google', $_SERVER['HTTP_REFERRER']))
{

    echo 'referer is google';
}

elseif(ereg('yahoo', $_SERVER['HTTP_REFERRER']))
{

    echo 'referer is yahoo';
}
...
...
...

?>


Succes!
 
Willem Jan Z

Willem Jan Z

28/09/2006 08:29:00
Quote Anchor link
Volgens mij begreep je een klein stukje niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
switch() {
    case
'Hier de case' : //En dus niet hier
    include('page1.php');
    break;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.