Minulla on php-laskuri joka toimii ihan ok. mutta
siinä on yksi ongelma. Pitäisi saada lisättyä
koodin pätkä joka estäisi samaa IP:tä lisäämästä laskuria n. 15 minuutin ajan . Nyt kun kävijä käy alasivuilla ja klikkaa palatakseen pääsivulle niin lukema lisääntyy, minulla on myös sama laskuri alasivuilla jonne sama IP saakin lisätä lukemansa . Neuvoisko joku koodia mikä pitää lisätä tai mistä sen löytäisi .
IP : koodi
5
1058
Vastaukset
- Koodi-Jere
Voithan tehdä esim. sellaisen virityksen, joka tallentaa ip:n tiedostoon, joka hävitetään vaikkapa 15 min päästä. Laskuri tarkistaa aina tuosta tiedostosta ip:n ennen kuin kasvattaa varsinaista laskuria.
Tai sitten teet sessiopohjaisen laskurin. Samalla sessioid:llä ei lisätä kuin kerran laskurin arvoa/sivu. Silloin ei haittaa vaikka kävijä viihtyisi sivuillasi enemmän kuin 15 minuuttia.
Hyvä tapa opetella koodaamista on tutkia muiden tekemiä juttuja. Esim. ohjemointiputkasta tai mureakuhasta löytyy paljon valmiita kävijälaskureita hyvinkin erilaisilla toteutuksilla. Usein muut käyttäjät ovat vieläpä kommentoineet kyseistä koodia, että mikä siinä mättää ja mikä on hyvää.- Anonyymi
Tai sitten käyttää tietokantaa, kuten MySQL.
1. Luo tietokantaan taulu, johon tallennetaan IP-osoitteet ja aikaleimat:
CREATE TABLE visitor_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
ip_address VARCHAR(255),
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. Lisää seurava koodinpätkä laskurin lisäämisen yhteyteen:
$ip = $_SERVER['REMOTE_ADDR'];
$mysqli = new mysqli('localhost', 'kayttaja', 'salasana', 'tietokanta');
if ($mysqli->connect_error) {
die('Connection failed: ' . $mysqli->connect_error);
}
// Tarkista onko sama IP-osoite lisännyt laskuria viimeisen 15 minuutin aikana
$query = "SELECT * FROM visitor_logs WHERE ip_address = '$ip' AND timestamp >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)";
$result = $mysqli->query($query);
if ($result->num_rows == 0) {
// Lisää laskuri vain jos samaa IP-osoitetta ei löydy tietokannasta
$query = "INSERT INTO visitor_logs (ip_address) VALUES ('$ip')";
$mysqli->query($query);
// Lisää laskurin lisäyskoodi tähän
} else {
echo 'Et voi lisätä laskuria niin usein.';
}
$mysqli->close();
- Anonyymi
Kysy chatgpt:ltä sen kanssa itse koodaan nykyään.
- Anonyymi
Kuka hölmö täällä vastailee johonkin 16 vuotta vanhaan ketjuun? Koittakaa nyt tajuta että tuossa ajassa kehitys on kehittynyt niin paljon, ettei näitä vanhoja ketjuja enää kannata kaivella.
- Anonyymi
Protokollat eivät ole sinällään muuttuneet vaikka päällä oleva html hiukan eriltä näyttääkin - tai oikeastaan ei sekään ole muuttunut vaan siihen on tullut lisää ominaisuuksia. Mikset tekisi cookie:ta, joka expiroi 15 minuutin päästä? Jos cookie löytyy äänestää ei pysty. Jos tulkitset hommaa pelkästään IP:n perusteella huomaat yhtäkkiä, että siellä on 16000 käyttäjän ryhmä, jolla kaikilla on sama ip..
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k713879- 1013495
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah783328Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia362638- 1181553
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta361506Meitä ei tule
Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌221114Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?421100Sulla on avaimet ja keinot
Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi181076Itseään kannattaa tarkastella realistisesti ja
miettiä mihin ne rahkeet oikeesti riittää. Tyhmempikin ymmärtää että varakas ylemmän tason mies ei kelpuuta sellaista ku1181016