Engangsvisning for nye besøkende

zechi

Medlem
Er det noen form for program som gjør at en side vises bare en gang for nye besøkende?

Det jeg har tenkt til er at alle nye besøkende som går inn på nettsiden, får opp en "velkommen side" der det står informasjon osv. Og alle andre ganger de går inn på den siden så vil den ikke vises mere.

Noen som vet om noe lignende som går an å skaffe seg?
 

Nutz

Med lem
-Vet ikke hvordan det står til med cookies lenger.
Men det var en grei måte å gjøre det på før..
Nå har jeg inntrykk av at folk flest tømmer cookie mappa samtidig med at de lukker nettleser.
 

adeneo

Medlem
Ser jo at det står slik på SO, men det må da være andre veien ???

PHP:
if (isset($_COOKIE['beenhere']) && $_COOKIE['beenhere']=='jepp') {  
    //kaka eksisterar, me har vørte vari her tidligare, gjeng ein anna plass
    header('Location: http://www.example.com/');  
} 
else { 
    //detta var nyheiter, kvisleis får eg tilgong ?
    setcookie("beenhere", 'jepp', time()+(60*60*24*365*10)); //ti år burde holde
}
 

xdex

Medlem
Dersom du skal ha en "Velkommen" side for alle de nye som f.eks logger seg inn, kan du gjøre dette svært enkelt, ved å loggføre om det er første gangen de logger seg inn. Dersom du ikke skal dette, men faktisk skal vise hver eneste person som er inne på siden, en velkomst melding kan du bruke cookies, som nevnt over. Personlig syntes jeg det blir litt rart, og man kan ikke føre mye statistikk over slikt. Ville heller sjekket det pr ipadresse. Folk tenker sikkert at "hva om flere som har samme IP besøker siden, da får de ikke den meldingen?"

Det gjør ingenting, for at oddsen at dette skjer er langt i fra høy (to stykker på samme ISP har ikke nødvendigvis samme IP f.eks) og så skal to fra samme husstand være interessert i å besøke siden, vi snakker ikke akkurat om facebook her.

Dette ville jeg gjort

1) Loggfør IP'en til vedkommende som besøker siden, har han ikke vært der før, vis dem en melding.

2) Dersom IP-en har vært innom før, men det er lengre enn f.eks 45dager siden, vis meldingen på nytt (kan være greit, hvis det er lengesiden sist)

Husk, enkelte folk har ikke cookies aktivert, det høres rart ut men det er tilfelle. Du bør derfor aldri ha nødvendig informasjon på en slik "hilsen" ved første besøk (dersom du baserer scriptet på sessions-data eller cookies)
 

Nutz

Med lem
Må mangle en Not der Adeno.. (i mitt eksempel hentet fra SO)

Kan ikke forstå når den cookien blir satt ellers. :))
 

drlinux

Konsulent i PHP og Linux
1) Loggfør IP'en til vedkommende som besøker siden, har han ikke vært der før, vis dem en melding.

2) Dersom IP-en har vært innom før, men det er lengre enn f.eks 45dager siden, vis meldingen på nytt (kan være greit, hvis det er lengesiden sist)

En IP-adresse er ofte delt av mange, f.eks. kan godt alle som surfer fra en bedrift komme fra samme IP. IP-adressen kan også deles ut til forskjellige folk hver gang, f.eks. fra mobil og wifi hot-spots. IP er derfor dårlig egnet for identifikasjon.

Da står man igjen med cookies. Noen har nok slått de av eller tømmer cache, men jeg antar at det fungerer for de fleste.
 
Sist redigert:

xdex

Medlem
En IP-adresse er ofte delt av mange, f.eks. kan godt alle som surfer fra en bedrift komme fra samme IP. IP-adressen kan også deles ut til forskjellige folk hver gang, f.eks. fra mobil og wifi hot-spots. IP er derfor dårlig egnet for identifikasjon.

Da står man igjen med cookies. Noen har nok slått de av eller tømmer cache, men jeg antar at det fungerer for de fleste.

Om så er, kan man lagre ytterlige informasjon som nettleser, det vil alltid være mulighet for å "ikke være unik" eller man kan kombinere cookies og databaser, men syntes det blir alt for mye, og veldig unødvendig.

Her er ett enkelt eksempel på hva du kan gjøre

PHP:
$sql_user = ''; // SQL Username
$sql_pass = ''; // SQL Password
$sql_host = ''; // SQL Host
$sql_name = ''; // SQL Database Name

// Connect database
mysql_connect($sql_host,$sql_user,$sql_pass) or die(mysql_error());
mysql_select_db($sql_name) or die(sql_error());

// Function to get the client ip address
function get_client_ip() {
	$user_ip = '';
	if ($_SERVER['HTTP_CLIENT_IP'])
		$user_ip = $_SERVER['HTTP_CLIENT_IP'];
	else if($_SERVER['HTTP_X_FORWARDED_FOR'])
		$user_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
	else if($_SERVER['HTTP_X_FORWARDED'])
		$user_ip = $_SERVER['HTTP_X_FORWARDED'];
	else if($_SERVER['HTTP_FORWARDED_FOR'])
		$user_ip = $_SERVER['HTTP_FORWARDED_FOR'];
	else if($_SERVER['HTTP_FORWARDED'])
		$user_ip = $_SERVER['HTTP_FORWARDED'];
	else if($_SERVER['REMOTE_ADDR'])
		$user_ip = $_SERVER['REMOTE_ADDR'];
	else
		$user_ip = 'UNKNOWN';
	return $user_ip;
}

// Database query
$user_ip = get_client_ip();
$query = mysql_query("SELECT * FROM visitors_ip WHERE user_ip = '$user_ip'");
$query_num_rows = mysql_num_rows($query);

// Check if the user has been on the website before
if($query_num_rows < 1)
{
    // The user has never been on the website
}

Husk at du må ha en database, med tabell og rad som tilsier hva du ønsker og sjekke, samt ett script som legger inn IP-Adressen dersom han har vært innom, men håper dette kan hjelpe deg på vei.
 

zapotek

Medlem
Eller - bare kutt ut å vise denne informasjonen første gangen folk besøker nettstedet. Kan ikke komme på en nettside i hele verden hvor en slik velkomsside har vært en god ide.
 

xdex

Medlem
Eller - bare kutt ut å vise denne informasjonen første gangen folk besøker nettstedet. Kan ikke komme på en nettside i hele verden hvor en slik velkomsside har vært en god ide.

Daglbladet, VG, Nettavisen etc bruker slike systemer under markedsføring og tilbakemelding på nettsider, om det er en god idè kan diskuteres, men noen gjør det.
 

zechi

Medlem
Ps: er ikke meningen at det skal stå "velkommen til siden". Men det var et enkelt eksempel for å fortelle hva jeg ønsker :)
 

xdex

Medlem
Det er vel en pop-up/interstitial/float over sak de bruker....

Hva de gjør etter å ha sjekka om du har vært inne på siden, spiller ikke så stor rolle, poenget er at de sjekker om du har vært der før, slik at du slipper flere "popups"
 
Topp