Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Linkin klikkausten lasku

kasetti [28.05.2004 14:10:43]

#

Voikos linkkien klikkauskertoja laskea jotenkin? esim. Myslin avulla.

Mieleeni tulee vain vaihtoehto jossa linkistä mentävälle sivulle laitetaan koodiin jokin laskuri, jonka tulos siellä "etusivulla" näytetään. Tuolla tekniikalla ajattelin tehdä mutta kysympä ensin mielipiteitä muilta?

Laskemisella voisin esim. selvittää montako kertaa esim. jotain kuvaa on katsottu.

Tomix [28.05.2004 14:17:24]

#

Voithan myös laittaa linkin muotoon "sivu.php?click=true", sitten sivu.php tarkistaa onko $_GET['click'] == true, jos on niin kirjoitetaan luku tiedostoon (tai tietokantaan) ja ohjataan käyttäjä oikealle sivulle.

kasetti [28.05.2004 14:19:58]

#

miten jos linkin alla on kuva? esim kissa.jpg

Tomix [28.05.2004 14:50:08]

#

Samallailahan tuo toimii, eli siis jos sinulla on sivu, jonka nimi on "sivu.php", ja siellä on linkki tähän tapaan: <a href="sivu.php?kuva=1">koira.jpg</a>
Niin nyt kun linkkiä klikataan, sivu.php tarkistaa onko $_GET['kuva'] asetettu, jos on niin katsotaan sen parametri, joka on tässä tapauksessa "1" (voit muuttaa sen vaikka kuvan nimeksi), nyt siis tiedät mitä linkkiä on klikattu ja voit lisätä yhden klikkauksen kyseiselle linkille. Tämän jälkeen ohjaat käyttäjän tuon kuvan kohdalle, tyyliin: include("koira.jpg"); die;

Hieman vaikeasti selitetty, toivottavasti ymmärsit.

kasetti [28.05.2004 14:57:09]

#

ahaa... okei pitääpä kokeilla.

Teme [03.06.2004 07:55:49]

#

Tekisin ehkä MySQL-tietueen, jossa olisi ID, klikkauksien määrä ja kohdetiedosto tallennettuna. Jokaisessa linkissä olisi osoite tyyliin: go.php?id=xx Eli siis PHP-tiedosto, jolle annetaan pelkkä ID-numero. Tämä skripta katsoo tietueesta, että mitä tiedostoa kys. ID vastaa. Ja samalla tietenkin uudelleenohjaa selaimen siihen osoitteeseen.

Skripta voisi mennä jotenkin näin:

<?php

$id = $_GET['id']; // Otetaan ID talteen

$mysli = mysql_connect("palvelin", "tunnus", "passu"); // Yhteys tietokantaan
mysql_select_db("linkdata"); // Valitaan tietokanta

$query = "SELECT * FROM Linkdata WHERE ID = '$id'"; // Muodostetaan kysely

$temp = mysql_query($query); // Suoritetaan kysely

if (mysql_num_rows($temp) == 0) // Tarkistetaan löytyykö ID kannasta
{
   mysql_close($mysli);
   die("Kyseistä ID-numeroa ei löytynyt tietokannasta!");
}

$tulos = mysql_fetch_array($temp);

$linkki = $tulos['URL'];
$click = $tulos['Count'];

$click++;

$query = "UPDATE Linkdata SET Count = '$click' WHERE ID = '$id'";

mysql_query($query); // Lisätään laskuria yhdellä

mysql_close($mysli);

header("Location: $linkki");

?>

kenkku [03.06.2004 11:34:18]

#

Helpommin sais lisäyksen yhellä queryllä noin: UPDATE Linkdata SET Count = Count + 1 WHERE ID = '$id'

Edit: pakko sujauttaa, tänään on mun synttärit :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta