anketa- kde je chyba?!

3 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Na testovacim PC bezi anketa i pocitadlo navstev dobre akorat kdyz to dam na net tak to nejede. Nehlasi to zadne chyby jen to nefunguje. Nevim co stim. Prosim poradte. pridava kod kdy byse to chtelo nekou cist: <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>ankete</title> <style> .anketa {font-size: 9pt; width: 100px; padding: 5px; line-height: 10px;} a:link {color: black;} a:visited {color: black;} a:hover {color: black; font-weight: bold;} a:active {color: black;} a {text-decoration: underline; font-weight: 12pt;} body { background-color: #9AC2C7;} </style> </head> <body> <?php function zobraz ($a){ ?> <div class="anketa"> <b>Jak se vám líbí tyto stránky?</b><br><br> <a href="anketa.php?hlas=1">Líbí se mi</a><br> <div style=" background-color: #FF0000; width: <? echo ("$a[0]");?>px; padding: 3px;"><? echo ("$a[0]");?></div> <br> <a href="anketa.php?hlas=2">Ujdou</a><br> <div style=" background-color: #00FF00; width: <? echo ("$a[1]"); ?>px; padding: 3px;"> <? echo ("$a[1]"); ?></div><br> <a href="anketa.php?hlas=3">Nic moc</a><br> <div style=" background-color: #00ffff; width: <? echo ("$a[2]");?>px; padding: 3px;"> <? echo ("$a[2]");?></div><br> Hlasovalo: <? echo ("$a[3]") ?>lidí<br></div> <? } ?> <?php function novy_klic($db) { $posledni = 0; $klic= dba_firstkey($db); while ($klic != false) { if ($klic > $posledni){ $posledni = $klic; } $posledni = $klic; $klic = dba_nextkey($db); } return $posledni + 1; } // konec funkci! if (file_exists ("anketa.txt")){ $file = fopen ("anketa.txt", "r"); $data = fread($file,100); $a =unserialize ($data); } else { $file= fopen ("anketa.txt", "a+"); $a = array(0,0,0,0); } fclose ($file); // kontrolauzivtale $soubor = "ip.db"; if (file_exists($soubor)){ $db= dba_open($soubor, "r"); }else { $db= dba_open($soubor, "c"); } for($klic = dba_firstkey($db); $klic!= false; $klic= dba_nextkey($db)){ $data= dba_fetch($klic,$db); $uzivatel = unserialize($data); if ($uzivatel[ip] == $REMOTE_ADDR ){ $l=$uzivatel[cas] + 300; $k =time(); if ( $k <= $l){ dba_close($db); zobraz ($a); echo ("</body>"); exit; } } } dba_close($db); if ($hlas == 1){ ++$a[0]; }elseif ($hlas== 2){ ++$a[1]; }elseif ($hlas== 3){ ++$a[2]; } $a[3]=$a[0]+ $a[1] + $a[2]; $u[ip]= $REMOTE_ADDR; $u[cas]= time(); $soubor="ip.db"; if (file_exists($soubor)){ $db= dba_open($soubor, "w"); }else { $db= dba_open($soubor, "c"); } dba_replace(novy_klic($db),serialize($u),$db); dba_sync($db); dba_close($db); $data = serialize ($a); $file = fopen ("anketa.txt", "w"); fputs ($file,$data); fclose($file); zobraz($a); ?> </body>
  2. zkus if ($_GET["hlas"] == 1){ ++$a[0]; }elseif ($_GET["hlas"] == 2){ ++$a[1]; }elseif ($_GET["hlas"] == 3){ ++$a[2]; } ale kdyz uz tak na to koukam, tak by stalo za to to prepsat. asi ve stylu nacteni hlasu z get, kontorola na meze pole a pak rovnou pricteni na ten index. treba tak nejak: if(!empty($_GET["hlas"]))   if(($_GET["hlas"] < MAXIMUM) && ($_GET["hlas"] > 0))     ++$a[$_GET["hlas"]];
  3. dik ale tam chyba nebyla.

← Zpět na všechna témata