27. maj 2006 - 17:33Der er
11 kommentarer og 1 løsning
Reklame bliver vist afhængig af hvilket land brugeren kommer fra?
Jeg har denne side med forskellige sjove film og spil osv. På denne side er ca. 50 % af brugerne fra USA, og ca. de resterende 50 % er fra EU.
Er det muligt at lave et script så hvis personen som besøger min sider er fra USA så bliver en slags reklamer vist, og hvis personen er fra EU bliver en anden vist?
Noget med if (bruger fra USA) { Vis denne type reklame for USA } else { Vis denne type reklame for EU }
Jeg ville blive meget taknemmelig hvis en kunne komme op med noget til mig! =).
Nu har jeg fået det til at virke så den udskriver fra hvilket land brugeren er. Nu har jeg så mit næste problem. Jeg vil som tidligere sagt, have det så der bliver vist en slags reklame når f.ex en bruger fra usa besøger siden, og når en fra eu.
Jeg har prøvet med følgende kode, men det virker ikke.
Dette finder brugerens land: <? require_once('ip2c.php'); $ip2c = new ip2country(); $res = $ip2c->init( "ip2cntry.dat" ); if ( $res < 0 ) { die( "Fejl $res - Kig i ip2c.php for at se fejlen ;)" ); } $cidx = $ip2c->lookup($_SERVER['REMOTE_ADDR']); if ( $cidx == -1 ) { $code = "ingenmandsland!"; } else { $code = $ip2c->idx2country( $cidx ); } //echo "Du befinder dig i $code"; echo ""; ?>
Dette er delen som vælger hvilken reklame der skal vises, på baggrund af landet: <?php include ('./country.php'); if ($code = US){ include ('./adsus.php'); } else include ('./adseu.php'); ?>
Når jeg bruger denne kode, bliver ingen af reklamerne vist.
Det er fordi jeg samarbejde med et selskab, som kun vil have deres reklamer vidst til folk fra US, men burde det ikke kunne lade sig gøre ved at gøre sådan her så:
<?php
require_once('ip2c.php');
$us_country = array( 'us' );
$ip2c = new ip2country(); $res = $ip2c->init( "ip2cntry.dat" ); if ( $res < 0 ) { die( "Fejl $res - Kig i ip2c.php for at se fejlen ;)" ); } $cidx = $ip2c->lookup($_SERVER['REMOTE_ADDR']); if ( $cidx == -1 ) { $code = "ingenmandsland!"; } else { $code = $ip2c->idx2country( $cidx ); }
if ( in_array( strtolower( $code ), $us_country ) ) { include ('./adsus.php'); } else { include ('./adseu.php'); }
Mjah, det er blot en lille del af de amerikanske domæner. Der er flere andre, f.eks. .vi (Virgin Islands) og .um (United Stanes Minor Islands) - Måske er der tilmed flere...
Ahh okay :).. Jeg har brugt den med eu landende idag, og den virker som en drøm.. Og det går nok at jeg laver den på denne måde da, største delen af mine brugere kommer fra enten us, eller eu :). Så tusind tak, jeg er meget taknemmelig. Hvis du smider et svar, så kan du få dine point :).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.