Autor | Zpráva | ||
---|---|---|---|
Vitality Profil |
#1 · Zasláno: 16. 5. 2013, 23:11:15
Zdravím
Mohl by mi prosím někdo pomoci s řešením. Jedná se o anketu kde uživatel si voli mezi 4 možnými volbami, oni se započítávají a hlas se vyhodnocuje procentuálně, viz : odkaz. Potřeboval bych vytvořit .sql soubor kde se bude ukládat IP adresa uživatele který hlasoval, co hlasoval a kolikrát hlasoval pomocí temp MySQL tabulky. Hledal jsem to všude možně na internetu a mají to napsáno hodně složitě, nedokážu to zjednodušit a aplikovat. Mohl by mi prosím někdo poradit jak by měl takový kod vypadat? Prosím o co nejjednodušší řešení pro lajka jako mě to stačí :) function anketa(){ global $question="Máte se?"; global $choice1="jo"; global $choice2="ne"; $obsah_souboru = precti_soubor('anketa.txt'); $hlasy = explode("|",$obsah_souboru); //0|0|0|0 $celkem = $hlasy[0]+$hlasy[1]+$hlasy[2]+$hlasy[3]; echo "<table>"; echo "<tr><th colspan=\"2\">".$question."</th></tr>"; //Volba 1 //Výpočet ąířky sloupečku if($celkem!=0) $sirka=round((100*$hlasy[0])/$celkem); else $sirka=0; //Tisk odkazu echo "<tr><td><a href=\"hlasuj.php?volba=0\">".$choice1."</a></td>"; //Tisk sloupečku echo "<td><img src=\"sloupek.png\" height=\"16\" width=\"".$sirka."\" alt=\"-\" /> ( ".$hlasy[0]." hlasů / ".$sirka." %)"; echo "</td></tr>"; //Volba 2 . . hlasuj.php řeší timelimit přes cookies a započteni hlasu <? //Získá z URL adresy $id=$_GET["volba"]; //Někdo se pokouší hacknout skript a provést nepřípustnou volbu if ($id>3){ header("Location: anketa/anketa.php"); exit(); } $susenka = "ankety"; $neprijmouthlas = 60*2; // 2 minuty nehlasovat = nastaví platnost cookie if (($$susenka) <> 1) //pokud nehlasoval, tak { //Pošli cookie setcookie($susenka,1,Time()+$neprijmouthlas); //Načtení dat $soubor=fopen("anketa.txt", "r"); //otevře soubor pro čtení $data=fread($soubor, filesize("anketa.txt")); //načte obsah celého souboru do proměnné data fclose($soubor); //uzavře soubor $hlasy = explode("|",$data); //Navýší hlasy $hlasy[$id]=$hlasy[$id]+1; $data=$hlasy[0]."|".$hlasy[1]."|".$hlasy[2]."|".$hlasy[3]; //Otevře soubor v režimu zápis (parametr "w") $soubor=fopen("anketa.txt", "w"); //Zapíše nová data do souboru fwrite($soubor,$data); //Zavře soubor fclose($soubor); } //Pošle hlavičku pro přesměrování na původní stránku s anketou header("Location: anketa.php"); ?> |
||
Str4wberry Profil |
#2 · Zasláno: 17. 5. 2013, 23:01:42
Což o to. Tabulka pro hlasy bude triviální. Pokud je potřeba anketa jen jedna, stačí dva sloupce (IP adresa a číslo možnosti):
CREATE TABLE `anketa` ( `ip` varchar(15) NOT NULL, `volba` int(1) NOT NULL ) |
||
Vitality Profil |
ok diky
|
||
Vitality Profil |
ff
|
||
Kajman Profil |
$nazev_promenne='variable'.$id; echo $$nazev_promenne; Lepší je ale použít pole. $variable=array(); $variable[1] = $xml->prvni_odpoved; $variable[2] = $xml->druha_odpoved; $variable[3] = $xml->treti_odpoved; $variable[4] = $xml->ctvrta_odpoved; echo $variable[$id]; |
||
Časová prodleva: 11 let
|
0