Voisiko joku laittaa vähän koodia? Tarvitsen sellaisen systeemin että sivulla on nappula, kun sitä painaa niin jossain tiedostossa muuttuja kasvaa yhdellä. Olen ihan newb. enkä ole löytänyt tuollaista vielä mistään.
Ja kieli oli...?
No luultavasti PHP:stä puhutaan...
Elikkäs nappula.html:
<form action="kasvata.php" method="post"> <input type="submit" value="Paina!"> </form>
Ja kasvata.php:
<?php $file = "tiedosto.txt"; $data = file($file); $maara = $data[0] + 1; $data[0] = $maara; $fo = fopen($file, "w"); foreach ($data as $row) { fputs($fo, $row); } fclose($fo); ?> <a href="nappula.html">Takas</a>
Ja sitten on tiedosto.txt jonka ekalla rivillä on aluksi nolla ja se kasvaa... tällänen vai? Toi oli hatusta vedetty sitten...
Sori, ihan unohtu mainita PHP. :D Mutta onneksi osasit lukea ajatuksiani. Kiitos
No testaas toimiiko toi, ja oliko semmonen mitä tarttet.
Kiitos vielä kerran. Mitenkä tohon saisi sellaisen että sama käyttäjä ei voi kasvattaa arvoa kuin kerran?
Elikkäs... tässä olisi yksi tapa, ei mikään loistavin tosin... tarviit hakemiston ip/.
nappula.php:
<?php if (!file_exists("ip/". $REMOTE_ADDR .".txt")) { ?> <form action="kasvata.php" method="post"> <input type="submit" value="Paina!"> </form> <?php } else { ?> Eipäs oo mitään nappeja! <?php } ?>
kasvata.php:
<?php if (!file_exists("ip/". $REMOTE_ADDR .".txt")) { $file = "tiedosto.txt"; $data = file($file); $maara = $data[0] + 1; $data[0] = $maara; $fo = fopen($file, "w"); foreach ($data as $row) { fputs($fo, $row); } fclose($fo); $fo = fopen("ip/". $REMOTE_ADDR .".txt", "w"); fwrite($fo, $REMOTE_ADDR); fclose($fo); } ?> <a href="nappula.php">Takas</a>
En oo varmaa toimiiko, testaa :D
Ja toi kansio tarvii oikeuksia sitten, muuten tulee erroria.
edit: vähän kirjotusvirheitä
edit: vieläkin :)
Kyllä se toimii :) Kiitos ;)
Tuota hieman modaamalla saan kuva galleriaani sellasen äänestys jutun että voi antaa kuvalle ääniä 1 - 5.
Millälailla tuosta saa sellaisen että jos ip kansiota ei ole niin se luodaan? Pitäisi olla helppoa?
<?php if (!file_exists("ip/")) { mkdir("ip", 0700); } ?>
Kokeilin tota skriptiä omalla koneellani ja se toimi moitteettomasti... Sitten vaan lisäät ton yhden rivin sen muun skriptin alkuun, muista katsoa, että se sijoittuu <?php ja ?> tagien sisälle, muuten ei toimi.
Ja muuten, toi IP-osoite kannattaisi lukea getenv() -ympäristömuuttujasta. Siksi, että sillä saa aina mahdollisimman uuden datan. Vaikka näin:
$ip = getenv("REMOTE_ADDR");
Kannattaisiko käyttää keksejä (cookie)? Voisi olla vähän parempi, ettei jokaisesta käyttäjästä tehdä omaa tiedostoa, sillä hetken päästä niitä on muutama sata. Mieluummin yksi tiedosto, johon lisätään se IP tai sitten asetetaan keksi käyttäjälle.
Kiitos. Miten tuo ip kansion loppuosa määritetään muuttujasta? koitin jo:
$muuttuja = "moi"
(!file_exists("ip$muuttuja/".....
Mutta erroria lykkää.
$muuttuja = "Moi"; if (file_exists("ip". $muuttuja . "") {}
Tuo toimii jos tarkoitit tuota...
(en ole sitten testannut)
Haluatko siis saada hakemiston nimeksi "ipmoi"? Kyllä tuon "ip$muuttuja/" pitäisi toimia. Voit myös kokeilla erottaa muuttujan aaltosuluilla: "ip{$muuttuja}/". Jos taas tiedoston nimi on $muuttuja, laita /-merkki heti ip:n jälkeen.
Itse en suosi keksejä, kun ne voi poistaa, eikä toimi esim. koulumme koneilla. Sessioneita mieluummin, mutta toi on helpoin varmaankin.
No nyt, kiitos
Aihe on jo aika vanha, joten et voi enää vastata siihen.