[ Príspevkov: 27 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181 | 181
Bydlisko: Nitra / Bra...
NapísalOffline : 25.01.2008 19:53 | Anketa - hlasovať iba raz

nazdar,
s cookies som ešte nepracoval a tak z kódov, ktoré som našiel na ente som totálne mimo. Chcem docieliť to, že v mojej ankete bude možné hlasovať iba raz z jedného počítaču.

kódy mojej (jednoduchej - na viac som sa bez pomoci nezmohol :D ) ankety:

anekta.php
Kód:
<?php
$data = File("data/anketa/1.dat");

list($o1,$o2,$o3) = explode("::", $data[0]);

$per_o1 = $o1/($o1+$o2+$o3)*100;
$per_o2 = $o2/($o1+$o2+$o3)*100;
$per_o3 = $o3/($o1+$o2+$o3)*100;

$zaokruhlene_o1 = round($per_o1,2);
$zaokruhlene_o2 = round($per_o2,2);
$zaokruhlene_o3 = round($per_o3,2);

echo "<center>Máte aj vy vlastnú osobnú stránku?</center><br />";
echo "<table><tr><td>";
echo "<a href=\"hlasuj.php?anketa=1&amp;odpoved=1\">| Áno</a></td><td> &nbsp;&nbsp; $o1 x</td><td>/ $zaokruhlene_o1 %</td></tr>";
echo "<tr><td>";
echo "<a href=\"hlasuj.php?anketa=1&amp;odpoved=2\">| Nie</a></td><td> &nbsp;&nbsp; $o2 x</td><td>/ $zaokruhlene_o2 %</td></tr>";
echo "<tr><td>";
echo "<a href=\"hlasuj.php?anketa=1&amp;odpoved=3\">| Pracujem na nej</a></td><td> &nbsp;&nbsp; $o3 x</td><td>/ $zaokruhlene_o3 %</td></tr>";
echo "</table>";
$celkom = $o1+$o2+$o3;
echo "<center>Hlasovalo: $celkom</center>";
?>


hlasuj.php
Kód:
<?php
$odpoved = $_GET['odpoved'];
$id = $_GET['anketa'];
$data = File("data/anketa/$id.dat");

list($o1,$o2,$o3) = explode("::", $data[0]);

if($odpoved =="1"):
$o1++;
elseif($odpoved =="2"):
$o2++;
elseif($odpoved =="3"):
$o3++;
endif;

$zapis= $o1."::".$o2."::".$o3."::";

$f = FOpen("data/anketa/$id.dat", "w");
FPutS($f,$zapis);
FClose($f);

$navrat = $_SERVER['HTTP_REFERER'];
header("location: $navrat");
?>



Mohli by ste mi prosím poradiť, čo a kde mám pridať aby bolo možné hlasovať iba raz?? (vysvetliť ako pre lamu :D) ďakujem


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.06
Prihlásený: 10.02.08
Príspevky: 12
Témy: 1 | 1
NapísalOffline : 25.01.2008 23:23 | Anketa - hlasovať iba raz

zajtra ti dam svoju :) je lepsia ako toto


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.06
Prihlásený: 10.02.08
Príspevky: 12
Témy: 1 | 1
NapísalOffline : 25.01.2008 23:25 | Anketa - hlasovať iba raz

Kód:
<?php
$dbc = @mysql_connect('localhost','meno databazy','heslo') or die('Pripojenie do databázy zlyhalo!');
$dbs = @mysql_select_db('databaza') or die('Nebola nájdená požadovaná databáza!');

$anketa = 1; // ID aktívnej ankety
/******************************************************************************/

if(!isset($_GET['anketa'])){
      $sql = mysql_query("SELECT id,otazka FROM otazka WHERE id='$anketa' LIMIT 1");
      $zaznam = mysql_fetch_object($sql);
      $anketa = $zaznam->id;
      $otazka = $zaznam->otazka;

      if(mysql_num_rows($sql) == NULL){
            echo "<p>Poľadovaná anketa nieje aktivovaná!</p>\n";
      } else {
            echo "<p>$otazka</p>\n<hr />\n";
            $sql = mysql_query("SELECT id,odpoved,pocet FROM odpoved WHERE k_otazke='$anketa'");
            if(mysql_num_rows($sql) == NULL){
                  echo "<p>K tejto ankete zatiaľ neboli pridané žiadne odpovede!</p>\n";
            } else {
                  while($zaznam = mysql_fetch_object($sql)){
                        $id      = $zaznam->id;
                        $odpoved = $zaznam->odpoved;
                        $pocet   = $zaznam->pocet;
                        echo "<a href='?anketa=$anketa&amp;odpoved=$id' title='$odpoved'>$odpoved</a> [$pocet] <br />\n";
                        echo "<img src='images/line.png' alt='$odpoved' width='".ceil($pocet)."%' height='10' /><br />\n";
                        $celkovo = $celkovo+$pocet;
                  }
                  echo "<p>Celkový počet hlasov je <strong>$celkovo</strong></p>\n";
            }
      }
} elseif(isset($_GET['anketa'])){
      if($_GET['anketa'] == $anketa){
            if($_GET['odpoved'] == is_numeric($_GET['odpoved'])){
                  $sql = mysql_query("SELECT id FROM otazka WHERE id='$anketa' LIMIT 1");
                  if(mysql_num_rows($sql) == NULL){
                        echo "<p>Poľadovaná anketa nieje aktívna!</p>\n";
                  } else {
                      $sql = mysql_query("SELECT id FROM odpoved WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}'");}
                      if(mysql_num_rows($sql) == NULL){
                            echo "<p>Nastala chyba pri odosielaní odpovede!</p>\n";
                            echo "<p><a href='index.php' title='Spä» k ankete'>Spä» k ankete</a></p>\n";
                      } else {
                            $sql = mysql_query("INSERT INTO ip(ip) VALUES('{$_SERVER['REMOTE_ADDR']}')");
                            if(!$sql){
                                  echo "<p>Je možné hlasovať iba 1x!</p>\n";
                            } else {
                                  $sql = mysql_query("SELECT pocet FROM odpoved WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}' LIMIT 1");
                                  $pocet = mysql_fetch_object($sql);
                                  $pocet = $pocet->pocet+1;
                                  $sql = mysql_query("UPDATE odpoved SET pocet='$pocet' WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}' LIMIT 1");
                                  if($sql){
                                        echo "<p>Váš hlas bol úspešne pripočítaný!</p>\n";
                                  } else {
                                        echo "<p>Nastala chyba pri odosielaní odpovede!</p>\n";
                                  }
                                  echo "<p><a href='index.php' title='Spä» k ankete'>Späť k ankete</a></p>\n";
                            }
                      }
                  }
            } else {
                  echo "<p>Požadovaná odpoveď neexistuje!!</p>\n";
            }
} else {
      echo "<p>Požadovaná anketa nieje aktívna!</p>\n";
}

/******************************************************************************/
@mysql_free_result($sql);
@mysql_close();

?>

odpovede

db ti dam hned
Kód:
CREATE TABLE IF NOT EXISTS `odpoved` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `odpoved` varchar(150) NOT NULL,
  `k_otazke` mediumint(8) NOT NULL,
  `pocet` int(15) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 AUTO_INCREMENT=5 ;

--
-- Sťahujem dáta pre tabuľku `odpoved`
--

INSERT INTO `odpoved` (`id`, `odpoved`, `k_otazke`, `pocet`) VALUES
(1, 'IE 6.0', 1, 7),
(2, 'IE 5.0', 1, 15),
(3, 'FireFox', 1, 24),
(4, 'Opera', 1, 12);

a otazka
Kód:
--
-- Štruktúra tabuľky pre tabuľku `otazka`
--

CREATE TABLE IF NOT EXISTS `otazka` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `otazka` varchar(150) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 AUTO_INCREMENT=2 ;

--
-- Sťahujem dáta pre tabuľku `otazka`
--

INSERT INTO `otazka` (`id`, `otazka`) VALUES
(1, 'Aký prehliadavač používate??');


Udaje hlasovania a toto musis menit v db :x

ps: samozrejme zakazdym ked menis anketu vynuluj v tabulke odpoved kolonku pocet alebo len pomen ID na 2 a mas


Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Napísal autor témyOffline : 26.01.2008 9:36 | Anketa - hlasovať iba raz

diky, ale ja som chcel použiť niečo svoje... učím sa tak nechcem používať cudzie výtvory :) a tiež som to chcel bez databáze... a ako som nakukol do tvojho kodu tak som zistil, že ochranu proti viacerím hlasovaniam máš pomocou IP adresy... a to tiež nechcem použiť, lebo viac ľudí môže mať tú istú IP...


_________________
Sorry za prelkepy
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
NapísalOffline : 26.01.2008 10:25 | Anketa - hlasovať iba raz

A aku chces pouzit ochranu ?

Cookies ? Daju sa zmazat...
IP ? Da sa zmenit...

Tak ?


Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Napísal autor témyOffline : 26.01.2008 10:39 | Anketa - hlasovať iba raz

cookies sa mi zdá najlepšie, pretože myslím, že nikto nebude mazať cookies kôli tomu aby viac krát zahlasoval v ankete typu "máte oosbnú stránku?" alebo podobne... a zas keď budem zapisovať Ip adresy môžem obmedziť iných uživateľov... ale už som to vyriešil... naštudoval som to cookies ešte raz a pri hlasovaní sa nastavia cookies a pri zobrazení ankety zisťujem či už uživateľ hlasova a ak áno tak nebudú odkazy ale iba hlasy....


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 26.01.2008 14:05 | Anketa - hlasovať iba raz

ha ze cookies sa nedaju zmazat? sak cookies sa zmazu po urcitom case ak im to nastavis. ak im nastavis aby sa zmazali po roku 2500 tak budis ale napriklad ja si mazem cookies pravidelne teda aj s historiou a cache.(FF uzivatel)
neexistuje sposob ako hlasovat len raz => vsetko sa da oklamat a zmenit.


_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96 | 96
NapísalOffline : 26.01.2008 15:47 | Anketa - hlasovať iba raz

a pritom to tu bolo riešené


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
NapísalOffline : 26.01.2008 20:44 | Anketa - hlasovať iba raz

shawan:
na tovjej ankete mi nejde diakrtita a pritom mam vsetky nastavenia take ako na ostatnych tabulkach. nevies preco ?


Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233 | 233
Bydlisko: Dubnica nad...
NapísalOffline : 20.09.2008 9:35 | Anketa - hlasovať iba raz

vedel by mi tu niekdo poradit s nejakou jednoduchou anketou pre moj web? nieco pobodne ako je anketa na tejto web stranke www.vychytane.sk moc bi ste mi pomohli lebo sa este len ucim aok narabat s php a css... a bolo by to pre moj web www.navrchol.sk


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.08
Prihlásený: 11.12.19
Príspevky: 84
Témy: 20 | 20
NapísalOffline : 30.09.2008 19:10 | Anketa - hlasovať iba raz

samotny kod ankety
Kód:
<LINK rel="stylesheet" type="text/css" href="styl.css">

<?php
$souborip="anketa-ip.txt";                      //subor s ip ktore uz hlasovali
$soubor="hlasuj.txt";                           //subor s hlasmi
$aktualni = $REMOTE_ADDR;                       //aktualna ip adresa


$otazka = "Co hovorite na tuto anketu?";                      //Otázka
$odp = array("BOMBA!","SHIT!");                 //Odpovede


//Kontrola existencie suborov
if (!file_exists($souborip))
 {
  err ($souborip);
  exit;
 }
if (!file_exists($soubor))
 {
  err ($soubor);
  exit;
 }
//Koniec kontroly

//Otvorenie a nacitanie hlasov
$data = fopen($soubor, "r");
$cti = fread($data, filesize($soubor)+10);
fclose($data);
list($a, $b, $c, $d) = explode( "Đ", $cti);

//Hlasovanie
if (isset($odpoved))
 {
  if (zjistiip($souborip, $aktualni))
   {
    if ($odpoved == "a") {$a++;}
    elseif ($odpoved == "b") {$b++;}
    elseif ($odpoved == "c") {$c++;}
    elseif ($odpoved == "d") {$d++;}

   $zapsat = "$a" . "Đ" . "$b" . "Đ" . "$c" . "Đ" . "$d" . "Đ";
   $kam = fopen($soubor, "w");
   fwrite($kam, $zapsat);        //zapisanie noveho hlasu
   fclose($kam);

   $ipsoubor = fopen($souborip, "r");            //zapisanie ip
   $data = fread($ipsoubor, filesize($souborip)+10);
   fclose($ipsoubor);

   $write = $data.$aktualni."Đ";

   $kam = fopen($souborip, "r+");
   fwrite($kam,$write);
   fclose($kam);

  }
 }


//Zobrazenie vysledku
$celkem = $a+$b+$c+$d;
$lidi = $celkem;

 if ($celkem == 0)
  {
   $celkem = "1";
   $lidi="0";
  }

$pr = $celkem/100;
$a = number_format($a/$pr,1);
$b = number_format($b/$pr,1);
$c = number_format($c/$pr,1);
$d = number_format($d/$pr,1);


$pismeno = array ("a","b","c","d");
$procenta = array ("$a","$b","$c","$d");
$kolik = "4";

echo "<table border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr><td colspan='2' class='nadpis'>$otazka</td></tr>\n";

 for ($i=0; $i<$kolik ;$i++ )
  {

   if (zjistiip($souborip, $aktualni))
    {
     echo "<tr><td colspan='2' class='text'><a href=anketa.php?odpoved=$pismeno[$i]>$odp[$i]</a></td></tr>\n";
    }
     else
    {
     echo "<tr><td colspan='2' class='text' >$odp[$i]</td></tr>\n";
    }

   echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n";
  }
echo "<tr><td colspan='2' class='nadpis'>Celkom hlasovalo: $lidi</td></tr></table>\n";



   //Funkce pro vypsání chyby
function err ($soubor)
 {
  echo "<font color=red><b>Chyba!</b></font><br>Nemoze najst subor <b>$soubor</b>!\n";
 }

//funkce pro zjištění ip adresy
function zjistiip($souborip, $ip)
 {

  $ipsoubor = fopen($souborip, "r");
  $data = fread($ipsoubor, filesize($souborip)+10);
  fclose($ipsoubor);
  $ipadresy = explode("Đ",$data);

   if (in_array($ip, $ipadresy))
    {
     return false;     
    }
   else
    {
     return true;     
    }
 } //konec funkce

?>
</BODY>
</HTML>


CSS:
Kód:
.text {
   background-color : White;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-size : 11px;
   text-align : left;
   color : Black;
}
.nadpis{
   background-color : Black;
   color : White;
   font-size : 12px;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   padding-bottom : 2px;
   padding-top : 2px;
   padding-left : 2px;
   padding-right : 2px;
   text-align : center;
}
a:hover{
   color : Red;
   text-decoration : blink;
}

a:active,a:link,a
{
   background-color : White;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-size : 11px;
   text-align : left;
   color : Black;
}

a nakoniec vytvor txt(textovy) dokument ktory bude prazdny hlasuj.txt
(anketu som nerobil ja mam ju z netu a osobne ju pouzivam a som s nou spokojny, ak by boli nejake problemy staci napisat)


Offline

Užívateľ
Užívateľ
Anketa - hlasovať iba raz

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233 | 233
Bydlisko: Dubnica nad...
NapísalOffline : 06.10.2008 9:45 | Anketa - hlasovať iba raz

nedal by si link ako to vzpada hotove a funkcne? niekde na nete?


Offline

Skúsený užívateľ
Skúsený užívateľ
Anketa - hlasovať iba raz

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 06.10.2008 10:11 | Anketa - hlasovať iba raz

Joj, a prečo cez txt súbor? Nie sú lepšie spôsoby?


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.08
Prihlásený: 11.12.19
Príspevky: 84
Témy: 20 | 20
NapísalOffline : 09.10.2008 18:03 | Anketa - hlasovať iba raz

tak su ale toto je najjednoduhsie


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 07.01.2009 18:32 | Anketa - hlasovať iba raz

Slappy píše:
samotny kod ankety
Kód:
<LINK rel="stylesheet" type="text/css" href="styl.css">

<?php
$souborip="anketa-ip.txt";                      //subor s ip ktore uz hlasovali
$soubor="hlasuj.txt";                           //subor s hlasmi
$aktualni = $REMOTE_ADDR;                       //aktualna ip adresa


$otazka = "Co hovorite na tuto anketu?";                      //Otázka
$odp = array("BOMBA!","SHIT!");                 //Odpovede


//Kontrola existencie suborov
if (!file_exists($souborip))
 {
  err ($souborip);
  exit;
 }
if (!file_exists($soubor))
 {
  err ($soubor);
  exit;
 }
//Koniec kontroly

//Otvorenie a nacitanie hlasov
$data = fopen($soubor, "r");
$cti = fread($data, filesize($soubor)+10);
fclose($data);
list($a, $b, $c, $d) = explode( "Đ", $cti);

//Hlasovanie
if (isset($odpoved))
 {
  if (zjistiip($souborip, $aktualni))
   {
    if ($odpoved == "a") {$a++;}
    elseif ($odpoved == "b") {$b++;}
    elseif ($odpoved == "c") {$c++;}
    elseif ($odpoved == "d") {$d++;}

   $zapsat = "$a" . "Đ" . "$b" . "Đ" . "$c" . "Đ" . "$d" . "Đ";
   $kam = fopen($soubor, "w");
   fwrite($kam, $zapsat);        //zapisanie noveho hlasu
   fclose($kam);

   $ipsoubor = fopen($souborip, "r");            //zapisanie ip
   $data = fread($ipsoubor, filesize($souborip)+10);
   fclose($ipsoubor);

   $write = $data.$aktualni."Đ";

   $kam = fopen($souborip, "r+");
   fwrite($kam,$write);
   fclose($kam);

  }
 }


//Zobrazenie vysledku
$celkem = $a+$b+$c+$d;
$lidi = $celkem;

 if ($celkem == 0)
  {
   $celkem = "1";
   $lidi="0";
  }

$pr = $celkem/100;
$a = number_format($a/$pr,1);
$b = number_format($b/$pr,1);
$c = number_format($c/$pr,1);
$d = number_format($d/$pr,1);


$pismeno = array ("a","b","c","d");
$procenta = array ("$a","$b","$c","$d");
$kolik = "4";

echo "<table border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr><td colspan='2' class='nadpis'>$otazka</td></tr>\n";

 for ($i=0; $i<$kolik ;$i++ )
  {

   if (zjistiip($souborip, $aktualni))
    {
     echo "<tr><td colspan='2' class='text'><a href=anketa.php?odpoved=$pismeno[$i]>$odp[$i]</a></td></tr>\n";
    }
     else
    {
     echo "<tr><td colspan='2' class='text' >$odp[$i]</td></tr>\n";
    }

   echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n";
  }
echo "<tr><td colspan='2' class='nadpis'>Celkom hlasovalo: $lidi</td></tr></table>\n";



   //Funkce pro vypsání chyby
function err ($soubor)
 {
  echo "<font color=red><b>Chyba!</b></font><br>Nemoze najst subor <b>$soubor</b>!\n";
 }

//funkce pro zjištění ip adresy
function zjistiip($souborip, $ip)
 {

  $ipsoubor = fopen($souborip, "r");
  $data = fread($ipsoubor, filesize($souborip)+10);
  fclose($ipsoubor);
  $ipadresy = explode("Đ",$data);

   if (in_array($ip, $ipadresy))
    {
     return false;     
    }
   else
    {
     return true;     
    }
 } //konec funkce

?>
</BODY>
</HTML>


CSS:
Kód:
.text {
   background-color : White;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-size : 11px;
   text-align : left;
   color : Black;
}
.nadpis{
   background-color : Black;
   color : White;
   font-size : 12px;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   padding-bottom : 2px;
   padding-top : 2px;
   padding-left : 2px;
   padding-right : 2px;
   text-align : center;
}
a:hover{
   color : Red;
   text-decoration : blink;
}

a:active,a:link,a
{
   background-color : White;
   font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-size : 11px;
   text-align : left;
   color : Black;
}

a nakoniec vytvor txt(textovy) dokument ktory bude prazdny hlasuj.txt
(anketu som nerobil ja mam ju z netu a osobne ju pouzivam a som s nou spokojny, ak by boli nejake problemy staci napisat)


caute, vsetko som spravil podla tohto, ale sa mi vyskytuje problem, ked zobrazim anketu nejde mi hlasovat, pomozete mi?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.08
Prihlásený: 11.12.19
Príspevky: 84
Témy: 20 | 20
NapísalOffline : 07.01.2009 19:43 | Anketa - hlasovať iba raz

no ak chces pomoct tak daj link kde to mas kuknem nato.. :-)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 07.01.2009 19:47 | Anketa - hlasovať iba raz

Slappy píše:
no ak chces pomoct tak daj link kde to mas kuknem nato.. :-)


ja som presne nahodil to, co si tam uviedol, nic som nemenil http://cluubmusic.sk/Anketa1.php


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.08
Prihlásený: 11.12.19
Príspevky: 84
Témy: 20 | 20
NapísalOffline : 08.01.2009 10:36 | Anketa - hlasovať iba raz

v prvom rade preco to mas pod nazvom Anketa? daj to normalne malim anketa a potom skus daco skusat na malych a velkych pismenach vela zalezi :-P


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 08.01.2009 18:02 | Anketa - hlasovať iba raz

No dal som to s malym anketa.php, a stale nemozem v tej ankete hlasovat, ako by tam chybal nejaky prikaz


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 11.07.09
Príspevky: 224
Témy: 64 | 64
NapísalOffline : 08.01.2009 22:26 | Anketa - hlasovať iba raz

clubmusic píše:
No dal som to s malym anketa.php, a stale nemozem v tej ankete hlasovat, ako by tam chybal nejaky prikaz

ja mam tiez s tou anketou prolem pred par dnami som to hladal preco to nejde ale nejak som nemal cas


Offline

Správca fóra
Správca fóra
Anketa - hlasovať iba raz

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 08.01.2009 22:35 | Anketa - hlasovať iba raz

skus dat namiesto $aktualni = $REMOTE_ADDR; toto $aktualni = $_SERVER['REMOTE_ADDR'];


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 09.01.2009 20:02 | Anketa - hlasovať iba raz

Ta zmena pomohla, uz mozem v tej ankete i hlasovat, ale este ked zahlasujem sa nepripisuju percenta


Offline

Správca fóra
Správca fóra
Anketa - hlasovať iba raz

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 10.01.2009 9:35 | Anketa - hlasovať iba raz

zapisuje ti to do tych 2 suborov? prava treba nastavit na 777


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 10.01.2009 11:40 | Anketa - hlasovať iba raz

Nie nezapisujemi to do tych dvoch suborov, a tie prava mam kde nastavit?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 11.07.09
Príspevky: 224
Témy: 64 | 64
NapísalOffline : 10.01.2009 14:14 | Anketa - hlasovať iba raz

clubmusic píše:
Nie nezapisujemi to do tych dvoch suborov, a tie prava mam kde nastavit?

prava sa nastavuju uz ked mas subory na servery cez atributy a tam bud vsetko zaskrtni alebo daj 777 ak pouzivas Total comander tak oznac tie dva subory a daj subor a hned prve zmenit atributy atm daj 777
ale musis ich uz mat upnute na servery !!


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 10.06.09
Príspevky: 13
Témy: 4 | 4
NapísalOffline : 14.01.2009 13:53 | Anketa - hlasovať iba raz

No prava som zmenil na 777, ale aj tak to nejde,... :cry:


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.12.09
Prihlásený: 19.09.10
Príspevky: 1
Témy: 0 | 0
NapísalOffline : 09.02.2010 11:52 | Anketa - hlasovať iba raz

Shawan_666 píše:
Kód:
<?php
$dbc = @mysql_connect('localhost','meno databazy','heslo') or die('Pripojenie do databázy zlyhalo!');
$dbs = @mysql_select_db('databaza') or die('Nebola nájdená požadovaná databáza!');

$anketa = 1; // ID aktívnej ankety
/******************************************************************************/

if(!isset($_GET['anketa'])){
      $sql = mysql_query("SELECT id,otazka FROM otazka WHERE id='$anketa' LIMIT 1");
      $zaznam = mysql_fetch_object($sql);
      $anketa = $zaznam->id;
      $otazka = $zaznam->otazka;

      if(mysql_num_rows($sql) == NULL){
            echo "<p>Poľadovaná anketa nieje aktivovaná!</p>\n";
      } else {
            echo "<p>$otazka</p>\n<hr />\n";
            $sql = mysql_query("SELECT id,odpoved,pocet FROM odpoved WHERE k_otazke='$anketa'");
            if(mysql_num_rows($sql) == NULL){
                  echo "<p>K tejto ankete zatiaľ neboli pridané žiadne odpovede!</p>\n";
            } else {
                  while($zaznam = mysql_fetch_object($sql)){
                        $id      = $zaznam->id;
                        $odpoved = $zaznam->odpoved;
                        $pocet   = $zaznam->pocet;
                        echo "<a href='?anketa=$anketa&amp;odpoved=$id' title='$odpoved'>$odpoved</a> [$pocet] <br />\n";
                        echo "<img src='images/line.png' alt='$odpoved' width='".ceil($pocet)."%' height='10' /><br />\n";
                        $celkovo = $celkovo+$pocet;
                  }
                  echo "<p>Celkový počet hlasov je <strong>$celkovo</strong></p>\n";
            }
      }
} elseif(isset($_GET['anketa'])){
      if($_GET['anketa'] == $anketa){
            if($_GET['odpoved'] == is_numeric($_GET['odpoved'])){
                  $sql = mysql_query("SELECT id FROM otazka WHERE id='$anketa' LIMIT 1");
                  if(mysql_num_rows($sql) == NULL){
                        echo "<p>Poľadovaná anketa nieje aktívna!</p>\n";
                  } else {
                      $sql = mysql_query("SELECT id FROM odpoved WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}'");}
                      if(mysql_num_rows($sql) == NULL){
                            echo "<p>Nastala chyba pri odosielaní odpovede!</p>\n";
                            echo "<p><a href='index.php' title='Spä» k ankete'>Spä» k ankete</a></p>\n";
                      } else {
                            $sql = mysql_query("INSERT INTO ip(ip) VALUES('{$_SERVER['REMOTE_ADDR']}')");
                            if(!$sql){
                                  echo "<p>Je možné hlasovať iba 1x!</p>\n";
                            } else {
                                  $sql = mysql_query("SELECT pocet FROM odpoved WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}' LIMIT 1");
                                  $pocet = mysql_fetch_object($sql);
                                  $pocet = $pocet->pocet+1;
                                  $sql = mysql_query("UPDATE odpoved SET pocet='$pocet' WHERE k_otazke='$anketa' AND id='{$_GET['odpoved']}' LIMIT 1");
                                  if($sql){
                                        echo "<p>Váš hlas bol úspešne pripočítaný!</p>\n";
                                  } else {
                                        echo "<p>Nastala chyba pri odosielaní odpovede!</p>\n";
                                  }
                                  echo "<p><a href='index.php' title='Spä» k ankete'>Späť k ankete</a></p>\n";
                            }
                      }
                  }
            } else {
                  echo "<p>Požadovaná odpoveď neexistuje!!</p>\n";
            }
} else {
      echo "<p>Požadovaná anketa nieje aktívna!</p>\n";
}

/******************************************************************************/
@mysql_free_result($sql);
@mysql_close();

?>

odpovede

db ti dam hned
Kód:
CREATE TABLE IF NOT EXISTS `odpoved` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `odpoved` varchar(150) NOT NULL,
  `k_otazke` mediumint(8) NOT NULL,
  `pocet` int(15) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 AUTO_INCREMENT=5 ;

--
-- Sťahujem dáta pre tabuľku `odpoved`
--

INSERT INTO `odpoved` (`id`, `odpoved`, `k_otazke`, `pocet`) VALUES
(1, 'IE 6.0', 1, 7),
(2, 'IE 5.0', 1, 15),
(3, 'FireFox', 1, 24),
(4, 'Opera', 1, 12);

a otazka
Kód:
--
-- Štruktúra tabuľky pre tabuľku `otazka`
--

CREATE TABLE IF NOT EXISTS `otazka` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `otazka` varchar(150) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1250 AUTO_INCREMENT=2 ;

--
-- Sťahujem dáta pre tabuľku `otazka`
--

INSERT INTO `otazka` (`id`, `otazka`) VALUES
(1, 'Aký prehliadavač používate??');


Udaje hlasovania a toto musis menit v db :x

ps: samozrejme zakazdym ked menis anketu vynuluj v tabulke odpoved kolonku pocet alebo len pomen ID na 2 a mas


mohol by niekto pre nas poslabsich doplnit do tohto zdrojaku aj kontrolu cookies? je mi jasne, ze aj ip aj cookies sa da obist, ale tak aspon to chytrakom trocha stazit... diky moc!


 [ Príspevkov: 27 ] 


Anketa - hlasovať iba raz



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Anketa - Každý iba raz...

v Frontend

15

1197

02.06.2010 19:23

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Hodnotenie v PHP (iba raz!)

v Backend

16

1120

10.06.2008 20:41

DJ.Tomka

V tomto fóre nie sú ďalšie neprečítané témy.

Reproduktory idu raz tichsie,raz hlasnejsie

v Zvuk

1

550

10.11.2011 0:34

Thrine

V tomto fóre nie sú ďalšie neprečítané témy.

PC raz nabehne raz nie

v AMD platformy

10

1017

01.11.2010 12:01

kosko24

V tomto fóre nie sú ďalšie neprečítané témy.

Javascript - raz funguje, raz nie

v Frontend

8

821

31.03.2011 7:54

blazej44800

V tomto fóre nie sú ďalšie neprečítané témy.

moznost hlasovat za viac odpovedi

v Oznámenia a návrhy

14

1556

03.09.2008 18:47

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Zväčšiť pamäť iPhonu zo 16 na 128GB iba za 55€ ? Žiaden problém .. ale iba v Číne

v Novinky

11

1629

15.02.2016 15:06

liqua1

V tomto fóre nie sú ďalšie neprečítané témy.

Anketa

v Ostatné úložné zariadenia

25

1972

15.10.2007 23:50

piethblank

V tomto fóre nie sú ďalšie neprečítané témy.

Anketa

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Oznámenia a návrhy

34

5780

06.03.2006 19:54

Ivo Mašek

V tomto fóre nie sú ďalšie neprečítané témy.

Anketa

v Notebooky a netbooky

15

1744

08.03.2007 15:11

Bew20

V tomto fóre nie sú ďalšie neprečítané témy.

Anketa

v Backend

7

873

23.11.2010 15:31

danielop

V tomto fóre nie sú ďalšie neprečítané témy.

ANKETA

v Frontend

4

853

11.03.2008 16:14

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Socka-anketa

v Diskusia

24

1397

16.12.2009 9:32

KocuR

V tomto fóre nie sú ďalšie neprečítané témy.

ANKETA: Preklepy

v Ostatné

5

705

10.01.2011 15:59

emer

V tomto fóre nie sú ďalšie neprečítané témy.

ajax anketa

v Ostatné

4

1604

12.05.2007 20:56

javo

V tomto fóre nie sú ďalšie neprečítané témy.

Anketa v php

v Backend

6

1430

16.05.2006 17:57

mokus



© 2005 - 2026 PCforum, edited by JanoF