| | |
| Stránka: 1 z 1
| [ Príspevkov: 27 ] | |
Autor | Správa |
---|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 25.01.2008 19:53 | |
|
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 ) 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&odpoved=1\">| Áno</a></td><td> $o1 x</td><td>/ $zaokruhlene_o1 %</td></tr>"; echo "<tr><td>"; echo "<a href=\"hlasuj.php?anketa=1&odpoved=2\">| Nie</a></td><td> $o2 x</td><td>/ $zaokruhlene_o2 %</td></tr>"; echo "<tr><td>"; echo "<a href=\"hlasuj.php?anketa=1&odpoved=3\">| Pracujem na nej</a></td><td> $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 ) ďakujem
_________________ Sorry za prelkepy |
|
Registrovaný: 04.08.06 Prihlásený: 10.02.08 Príspevky: 12 Témy: 1 |
zajtra ti dam svoju je lepsia ako toto
|
|
Registrovaný: 04.08.06 Prihlásený: 10.02.08 Príspevky: 12 Témy: 1 |
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&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
ps: samozrejme zakazdym ked menis anketu vynuluj v tabulke odpoved kolonku pocet alebo len pomen ID na 2 a mas
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 26.01.2008 9:36 | |
|
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 |
|
|
A aku chces pouzit ochranu ?
Cookies ? Daju sa zmazat...
IP ? Da sa zmenit...
Tak ?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 26.01.2008 10:39 | |
|
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 |
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 26.01.2008 14:05 | |
|
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 |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
a pritom to tu bolo riešené
|
|
Registrovaný: 25.02.07 Prihlásený: 16.02.16 Príspevky: 876 Témy: 144 | Napísal kajbo: 26.01.2008 20:44 | |
|
shawan:
na tovjej ankete mi nejde diakrtita a pritom mam vsetky nastavenia take ako na ostatnych tabulkach. nevies preco ?
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 Bydlisko: Dubnica nad... |
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
|
|
Registrovaný: 21.06.08 Prihlásený: 11.12.19 Príspevky: 84 Témy: 20 | Napísal Slappy: 30.09.2008 19:10 | |
|
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)
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 Bydlisko: Dubnica nad... |
nedal by si link ako to vzpada hotove a funkcne? niekde na nete?
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
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! |
|
Registrovaný: 21.06.08 Prihlásený: 11.12.19 Príspevky: 84 Témy: 20 | Napísal Slappy: 09.10.2008 18:03 | |
|
tak su ale toto je najjednoduhsie
|
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
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?
|
|
Registrovaný: 21.06.08 Prihlásený: 11.12.19 Príspevky: 84 Témy: 20 | Napísal Slappy: 07.01.2009 19:43 | |
|
no ak chces pomoct tak daj link kde to mas kuknem nato..
|
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
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
|
|
Registrovaný: 21.06.08 Prihlásený: 11.12.19 Príspevky: 84 Témy: 20 | Napísal Slappy: 08.01.2009 10:36 | |
|
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
|
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
No dal som to s malym anketa.php, a stale nemozem v tej ankete hlasovat, ako by tam chybal nejaky prikaz
|
|
Registrovaný: 04.03.07 Prihlásený: 11.07.09 Príspevky: 224 Témy: 64 |
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
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
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 |
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
Ta zmena pomohla, uz mozem v tej ankete i hlasovat, ale este ked zahlasujem sa nepripisuju percenta
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
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 |
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
Nie nezapisujemi to do tych dvoch suborov, a tie prava mam kde nastavit?
|
|
Registrovaný: 04.03.07 Prihlásený: 11.07.09 Príspevky: 224 Témy: 64 |
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 !!
|
|
Registrovaný: 14.12.08 Prihlásený: 10.06.09 Príspevky: 13 Témy: 4 |
No prava som zmenil na 777, ale aj tak to nejde,...
|
|
Registrovaný: 23.12.09 Prihlásený: 19.09.10 Príspevky: 1 Témy: 0 |
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&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 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!
|
|
| Stránka: 1 z 1
| [ Príspevkov: 27 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Anketa - Každý iba raz... v JavaScript, VBScript, Ajax | 15 | 1024 | 02.06.2010 19:23 camo | | Hodnotenie v PHP (iba raz!) v PHP, ASP | 16 | 1005 | 10.06.2008 20:41 DJ.Tomka | | Reproduktory idu raz tichsie,raz hlasnejsie v Zvuk | 1 | 473 | 10.11.2011 0:34 Thrine | | PC raz nabehne raz nie v AMD čipové sady | 10 | 886 | 01.11.2010 12:01 kosko24 | | Javascript - raz funguje, raz nie v JavaScript, VBScript, Ajax | 8 | 698 | 31.03.2011 7:54 blazej44800 | | moznost hlasovat za viac odpovedi v Správy pre vedenie fóra | 14 | 1484 | 03.09.2008 18:47 JanoF | | Zväčšiť pamäť iPhonu zo 16 na 128GB iba za 55€ ? Žiaden problém .. ale iba v Číne v Novinky | 11 | 1481 | 15.02.2016 15:06 liqua1 | | Anketa v Notebooky a netbooky | 15 | 1607 | 08.03.2007 15:11 Bew20 | | Anketa v PHP, ASP | 7 | 776 | 23.11.2010 15:31 danielop | | ANKETA v HTML, XHTML, XML, CSS | 4 | 759 | 11.03.2008 16:14 Tominator | | Anketa v Optické zariadenia | 25 | 1836 | 15.10.2007 23:50 piethblank | | Anketa [ Choď na stránku: 1, 2 ] v Správy pre vedenie fóra | 34 | 5526 | 06.03.2006 19:54 Ivo Mašek | | ANKETA: Preklepy v Ostatné | 5 | 626 | 10.01.2011 15:59 emer | | ajax anketa v Ostatné | 4 | 1512 | 12.05.2007 20:56 javo | | Socka-anketa v Vzdelanie, štúdium, škola | 24 | 1296 | 16.12.2009 9:32 KocuR | | anketa, počitadlo, kalkulačka.... v Webdesign | 9 | 543 | 05.07.2014 15:00 shaggy |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|