tässä on nyt tämmönen mun viritelmä gallupista
voi helposti liittää sivulle ja sillei. tee tiedosto nimeltä kysymykset.txt ja sille oikat 777. ja muistathan säilyttää mun nimen kommenteissa. pitäis toimia ihan hyvin vaikken nyt jääny hirveesti testaileen. esimerkki löytyy osoitteesta: http://koti.mbnet.fi/skede/gallup/gallup.php
<!-- by: snakari --> <!-- http://snakari.cjb.net --> <?php ########### g a l l u p ########## ########### by: snakari ########## ##### http://snakari.cjb.net ##### ################################## # säilytä tekijän nimi! # ################################## # tee tiedosto "kysymykset.txt" # # ja anna sille oikat 777 # ################################## # tiedosto missä kysymykset on # $tiedosto="kysymykset.txt"; ################################## # tee tiedoston sisällöksi: # # kysymys # # vastaus 1|0 # # vastaus 2|0 # # ... # ################################## $f=@file($tiedosto); if (!$vastaus) { if ($HTTP_COOKIE_VARS["gallup_vastaus"]!==trim($f[0])) { # tulostetaan kysymykset echo '<b>'. trim($f[0]) .'</b><br>'; for($rivi=1; $rivi<count($f); $rivi++) { $pilko=explode("|", trim($f[$rivi])); echo '<a href="'. $PHP_SELF .'?vastaus='. $rivi .'">'. $pilko[0] .'</a><br>'; } } else { # tulostetaan vastaukset echo '<b>'. trim($f[0]) .'</b><br>'; for ($rivi=1; $rivi<count($f); $rivi++) { $pilko=explode("|", trim($f[$rivi])); $yht=$yht+$pilko[1]; } for ($rivi=1; $rivi<count($f); $rivi++) { $pilko=explode("|", trim($f[$rivi])); echo $pilko[0] .' '. @intval($pilko[1]/$yht*100) .'%<br>'; } echo 'vastauksia yhteensä '. $yht; } } if ($vastaus && $HTTP_COOKIE_VARS["gallup_vastaus"]!==trim($f[0])) { if ($vastaus>count($f) or $vastaus<1) { # jos vastaus on muunneltu echo 'eipäs onnistunut!'; } else { # lisätään 1 vastaukseen $lis=explode("|", trim($f[$vastaus])); if ($lis[1]) { $lis[1]++; } else { $lis[1]=1; } $f[$vastaus]=$lis[0] ."|". $lis[1] ."\n"; $filu=fopen($tiedosto,"w"); foreach ($f as $rivi) { fwrite($filu, $rivi); } fclose ($filu); setcookie("gallup_vastaus",trim($f[0]),time()+9999999); header ("Location: ". $PHP_SELF); } } ?>
kysymykset.txt
tähän kysymys vastaus 1|0 vastaus 2|0 vastaus 3|0 ...
kommenttia, kiitos
unohtu kertoa että noita vastauksia voi olla todellakin niin paljon kuin jaksaa kirjottaa
Hih, hyvä Snakkee! Ihan hienohan toi on :)
pistin siihen nyt "grafiikat" enkä viittii taas tehä uutta vinkkiä.. saitko antti sen muokkauksen joskus tähän?
eli jos grafiikkoja haluat nii tee 1x1 kokonen kuva ja muuta tää rivi:
http://koti.mbnet.fi/skede/gallup/gallup.php
tämmöseks:
echo $pilko[0] .' ('. @intval($pilko[1]/$yht*100) .'%) <img src="piste.gif" width="'. @intval($pilko[1]/$yht*100+1) .'" height="7" border="0"> ';
muistuttaa vähän putkan galluppia sitten :D
ja antti varmaankin muuttaa sen tohon koodiin..
777 on varmaan liiankin vapaat oikat. 666 korkeintaan. Systeemistä vähän riippuu mikä on "oikea". Yleensä 660 tai 606.
aika kökköä "koodia"
Hipo, juu.. pistin nopeesti.
piip, so?
Kyllähän koodin pitää selkeetä olla :P
on toi ihan kohtalaisen, ainakin mun mielestä
Eli tämä gallup vain etusivulle. Kahteen kertaan ei voi vastata.
juu :D
Minullakin on kyllä hieman tullut ongelmia tuon kuvallisen version kanssa.
No nyt kyllä tuli pulma. Koko koodi ei enään toimi minulla, vaikka siirränkin kaiken mbnetin palvelimelle chmodatuineen oikeuksineen. Klikkaan vain jotain vastausta, mutta sivu vain latautuu uudestaan eikä muutoksia tapahdukkaan. Kysymyksessä on ylläoleva koodi, ei kuvallinen versio.
siirsitkö asciina ja teitkö just noin, mulla se nimittäin toimii
Warning: Cannot add header information - headers already sent by (output started at /home/saato/public_html/testit/Gallup.php:4) in /home/saato/public_html/testit/Gallup.php on line 76
Warning: Cannot add header information - headers already sent by (output started at /home/saato/public_html/testit/Gallup.php:4) in /home/saato/public_html/testit/Gallup.php on line 77
Tollasta tulee mulla.
mulla ei ;)
Se tässä vain on, että jotkut (niin kuin joskus myös minä) tyhjentävät cookies kansion joku kerta. Silloin tähän voi vastata vaikka sata kertaa, kun tyhjentää joka kerta cookies kansion, tai poistaa tietyn keksin.
Kyllähän tämä muuten toimii hyvin, mutta kaikki teksti tulee peräkkäin tähän malliin:
Onko kiva vastata tähän galluppiin?
Kyllä (1%) (kuvan nimi puuttuu!)
Ei (0%) (kuvan nimi puuttuu!)
vastauksia yhteensä 226
Täytyy ilmeisesti hieman pistää br tageja.
Ihan kivalta näyttää. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.