Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: g a l l u p

Sivun loppuun

snakari [23.09.2002 12:44:59]

#

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
...

snakari [24.09.2002 13:13:00]

#

kommenttia, kiitos

snakari [24.09.2002 14:33:01]

#

unohtu kertoa että noita vastauksia voi olla todellakin niin paljon kuin jaksaa kirjottaa

Kossu [24.09.2002 14:57:02]

#

Hih, hyvä Snakkee! Ihan hienohan toi on :)

snakari [24.09.2002 15:23:57]

#

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

snakari [24.09.2002 15:24:29]

#

ja antti varmaankin muuttaa sen tohon koodiin..

Hipo [24.09.2002 16:14:45]

#

777 on varmaan liiankin vapaat oikat. 666 korkeintaan. Systeemistä vähän riippuu mikä on "oikea". Yleensä 660 tai 606.

piip [24.09.2002 16:56:50]

#

aika kökköä "koodia"

snakari [24.09.2002 17:18:11]

#

Hipo, juu.. pistin nopeesti.
piip, so?

HtH [24.09.2002 17:34:24]

#

Kyllähän koodin pitää selkeetä olla :P

snakari [24.09.2002 19:01:36]

#

on toi ihan kohtalaisen, ainakin mun mielestä

Mv [26.09.2002 14:41:41]

#

Eli tämä gallup vain etusivulle. Kahteen kertaan ei voi vastata.

snakari [27.09.2002 18:52:12]

#

juu :D

Mv [29.09.2002 21:06:20]

#

Minullakin on kyllä hieman tullut ongelmia tuon kuvallisen version kanssa.

Mv [29.09.2002 21:22:42]

#

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.

snakari [29.09.2002 21:29:01]

#

siirsitkö asciina ja teitkö just noin, mulla se nimittäin toimii

James_ [03.10.2002 11:59:04]

#

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.

snakari [13.11.2002 16:21:38]

#

mulla ei ;)

Mv [05.02.2003 20:33:29]

#

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.

Mv [12.02.2003 16:42:44]

#

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.

Juhko [29.12.2006 15:02:55]

#

Ihan kivalta näyttää. :)


Sivun alkuun

Vastaus

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

Tietoa sivustosta