Niin, että kun kävijälaskuria vaan teen ja sitten tuota niinnnin, kun pitäisi saada tollanen HTML:n <p> -tagia vastaava homma sitte. Ja sitte kanssa lihavointi, eli sitä <b>:tä vastaava. Mites sellanen sitte mahtais mennä? Mitä? Hä? Nii että jos sitte, vai mikä homma niissä on?
...Ja sitte kanssa pelkkä rivinvaihto, eli
:ää vastaava
Yksinkertaisesti laitat ne sinne.
Hmm? Mikäli ymmärsin oikein niin nuo tulee suoraan vaan
echo '<b>Foo</b>'; // tulostaa "Foo" sanan paksunnettuna echo '<p>Foo</p>'; // tulostaa sanan "Foo" <p> tagin kanssa
Eli php:hän tulkataan html:ksi, joten voit käyttää suoraan html tageja em. tapaan.
Heh, jaa, yritin tota, mut se valitti jotain, et vika onki sit jossain muualla.
Jos vaikka lähettäisit koodisi tänne, niin mahdolliset virheet voitaisiin korjata.
Joo, no tein sen niin että ennen <?php -tagia <b> -tagi niin sitte se ei valita ettäs niin. Mutta että sellanen, että jos ip osote on vaikka 01.234.56.789, ni sitte tehään jotain. Sellanen, eli ehtolause, mut miten toi ip:n selvittäminen käy?
ip:n sai muistaakseni selville näin
<php print("$REMOTE_ADDR"); ?>
lainaus:
ip:n sai muistaakseni selville näin
<php print("$REMOTE_ADDR"); ?>
Saahan sen noinkin, mutta se ei välttämättä ole oikea IP. Mureakuhan koodikirjastosta löytyy tällainen koodi, tekijänä raspi ( http://www.mureakuha.com/koodikirjasto/PHP/357 ):
<?php function getip () { if ($_SERVER) { if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {$rip = $_SERVER["HTTP_X_FORWARDED_FOR"];} elseif ($_SERVER["HTTP_CLIENT_IP"]) {$rip = $_SERVER["HTTP_CLIENT_IP"];} else {$rip = $_SERVER["REMOTE_ADDR"];} } else { if (getenv("HTTP_X_FORWARDED_FOR")) {$rip = getenv("HTTP_X_FORWARDED_FOR");} elseif (getenv("HTTP_CLIENT_IP")) {$rip = getenv("HTTP_CLIENT_IP");} else {$rip = getenv("REMOTE_ADDR");} } return $rip; } ?>
Tätä olen itse käyttänyt ja toiminut ihan hyvin.
Niin, no tuo jälkimmäinen on tietty vähän pitkä, mutta tietty jos se on sitten väärä se REMOTE_ADDR homma ni se on sit tietty vähän. Miten se voi muuten olla väärä? Kenen IP:n se siihen oikeen keksii jos ei sitä? Ei sillä etten uskoisi mutta :) Back to asiaan, et mites se sit menis et jos ip on just joku tietty, ni sit, tai oikestaan et jos se ei oo ni sit tehtäis jotain. No äh, tarkotuksena on tehä kävijälaskuri, mutta kun en haluis niitä omia käymiäni kertoja siihen, niin että sillon se ei lisääntyis(adsl, ip on aina vakio). Tai jos keksitte paremman tavan(cookiet?), niin mikäs siinä...
Se "oikea" IP-osoite voi vähän vaihdella sen mukaan, monenko mutkan kautta Internetiin on yhteydessä. Tosin yleensäkään tuolla IP-numerolla ei kovin paljoa tee: bannaamiseen (tai muuhun rajoittamiseen) se on melko tehoton, kun monilla numero vaihtuu joka yhteydenottokerralla ja häiriköintitapauksissa häiriköistä ei kuitenkaan saa mitään tietoa irti - palveluntarjoajat luovuttavat tietoa vain poliisin pyynnöstä.
Mutta tuohon kävijälaskuriisi se voisi sopia aika hyvin. Kun pistät IP:t tiedostoon ja rajaksi vaikka 10 minuuttia, tuloksen pitäisi olla melko luotettava. Cookie on myös ihan hyvä keino, ehkä vähän epäluotettavampi. Ja jos käytettävissä ei ole palvelimen omia lokitiedostoja, ei kävijälaskurista koskaan niin tarkkaa saakaan.
Aijaa... Mut... Niin mites se sit menis niinkun? Et kattokaas näin:
[jos] [ip-osote] = [joku] { [ni sit kirjotetaan tiedostoon kyl mä tän osaan] }
Juu, et tollanen...
Se tehdään suunnilleen näin:
if ($REMOTE_ADDR=="127.0.0.1") { $d=fopen("tiedosto.txt","w"); //"w" tyhjentää tiedoston //"a" lisää rivejä sen loppuun fwrite($d,"kyl mä tän osaan"); //tai mitä ikinä haluatkin ;) fclose($d); }
lainaus:
[jos] [ip-osote] = [joku] { [ni sit kirjotetaan tiedostoon kyl mä tän osaan] }
Kannattaisikohan lukea PHP Manualia If-lauseen osalta?
Mutta tässä on sitten kuitenkin valmista koodia joka käyttää ed. viestissäni olevaa getip-funktiota:
If ( getip() ) == "127.0.0.1" { KirjoitaTiedostoon; }
Eli ei olisi ollut kovin vaikea itsekin kehitellä...
Hmm jopas pisti trinit sulut oudosti.. ehkä näin:
if(getip()=="127.0.0.1") { kirjoitatiedostoon; }
lainaus:
Hmm jopas pisti trinit sulut oudosti..
Oho, niinpäs olikin oudosti - sitä se teettää kun on viime perjantaista lähtien joutunut heräämään 4.20 ja kotiin tullut siinä 18.00 :)
Joo toi anan homma näyttäs toimivan sillei et nyt kävijät lisääntyy jos ip-osote on toi 80.186.24.115, mut entä ku haluaisin et sit ku se ei oo se, ni sit tehään toi. Ei taida php:ssä olla tota Not -avainsanaa niinku VB:ssä :) Olisko joku <>, tai joku, who knows...
Hmm.. no operaattori jota haet on lienee != eli erisuurikuin.
PHP on siitä hauska kieli, että se sisältää monille funktioille ja kielen osillekin monia vaihtoehtoja, esimerkiksi juuri tuo erisuuruus ilmaistaan !=:lla mutta mahdollista on käyttää myös Basicista tuttua <>:aa. Näin kaikki ohjelmoijat tuntevat olonsa kotoisaksi ;)
Nii juu, eli joo, eli toi <> laitettas niinku ton = -merkin tilalle, juu, juu, no sitte... Mitään merkitystähän ei ole, että käyttääkö <> vai != merkintää?
Ei oo merkitystä, PHP:ssä <> ja != tarkottaa ihan samaa.
Blazekin sen tietää :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.