Forum » Izdelava spletišč » Anketa v PHP-ju
Anketa v PHP-ju
RO87 ::
Prosim za hitro pomoc pri programu da bo delal sam sem si pomagal preko zapiskov vendar je ocitno stvar bolj delikatna kot sem si predstavljal. Moral sem narediti anketo v PHP-ju, ki ima pac radio buttons in potem ko izberemo enega od nastetih odgovorov se nam na ekran prikaze stevilo odgovor in pa procenti. Koda pa je naslednja:
Koda:
seminarska ne dela, ker imajo v spletnem obrazcu vse radio izbire name=«odgovor«, v kodi zgoraj pa se gleda »if (isset($_POST['odgovor'.$i]))«, torej kot da bi bila imena npr. »odgovor1«, »odgovor2« itn. Poleg tega se elementi tipa »radio«, ki imajo isto ime, ne pregledujejo z zanko, ker obstaja samo ena $_POST spremenljivka z njihovim imenom. To je bil odgovor da je napaka.Drugace pa so bila navodila tako, kaj smemo uporabljati in kaj ne.
Ce pa kdo ima mogoce kodo od kakrsne koli anketo napisano v PHP-ju pa bi bil zelo hvalezen ce bi jo pripel oz napisal.
Upam da stvar nisem prevec zakompliciral, ce je kdo ki bi znal popraviti program da bi delal kar pac more, bi mu bil zelo hvalezen za pomoc, saj sam res ne vem vec kaj bi storil, saj se nimam dovolj prakse, stvar pa moram narediti.Zato hvala za pomoc se enkrat.
Koda:
<?php session_start(); //zacetek seje za shranjevanje podatkov if (isset($_POST['Potrdi'])) { //preveri ce je potrjeno for ($i = 1; $i<=4; $i++) { //preveri,ce je izbran kateri od odgovorov if (isset($_POST['odgovor'.$i])) { $_SESSION['tabela'][$i]++; } } } $tabela[1] = "Na Slovenski obali."; //definiranje odgovorov $tabela[2] = "Na Hrvaškem."; $tabela[3] = "V tujini."; $tabela[4] = "Nismo bili na morju."; if (!isset($_SESSION['tabela'])) { $_SESSION['tabela'] = array(); $_SESSION['tabela'][1] = 0; //nastavi zacetne vrednosti na 0 $_SESSION['tabela'][2] = 0; $_SESSION['tabela'][3] = 0; $_SESSION['tabela'][4] = 0; } echo "Kje ste bili letos na morju?</br></br>"; //vprašanje ankete echo '<form name="anketa" action="anketa_DELA.php" method="post">'; //izpis odgovorov foreach ($tabela as $moznost => $vrednost) { echo '<input name="odgovor" type="radio" value="'.$moznost.'" /> '.$vrednost.'</br>'; } echo '</br>'; echo '<input type="submit" value="Potrdi" name="Potrdi">'; echo '</form>'; $stOdg=0; if (isset($_SESSION['tabela'])) { //izpis odgovora in število odgovorov in odstotek for ($i = 1; $i<=4; $i++) { echo $tabela[$i].' '; //izpis odgovora echo $_SESSION['tabela'][$i].' glasov </br>'; $stOdg=$stOdg+$_SESSION['tabela'][$i]; } echo "<br><br>"; for ($i = 1; $i<=4; $i++) { echo $tabela[$i].' '; //izpis odgovora if ($stOdg==0){ echo "Procenti: 0 %<br>";} else { echo "Procenti: ".round(($_SESSION['tabela'][$i]/$stOdg)*100) ."%<br>";} } } ?>
seminarska ne dela, ker imajo v spletnem obrazcu vse radio izbire name=«odgovor«, v kodi zgoraj pa se gleda »if (isset($_POST['odgovor'.$i]))«, torej kot da bi bila imena npr. »odgovor1«, »odgovor2« itn. Poleg tega se elementi tipa »radio«, ki imajo isto ime, ne pregledujejo z zanko, ker obstaja samo ena $_POST spremenljivka z njihovim imenom. To je bil odgovor da je napaka.Drugace pa so bila navodila tako, kaj smemo uporabljati in kaj ne.
Ce pa kdo ima mogoce kodo od kakrsne koli anketo napisano v PHP-ju pa bi bil zelo hvalezen ce bi jo pripel oz napisal.
Upam da stvar nisem prevec zakompliciral, ce je kdo ki bi znal popraviti program da bi delal kar pac more, bi mu bil zelo hvalezen za pomoc, saj sam res ne vem vec kaj bi storil, saj se nimam dovolj prakse, stvar pa moram narediti.Zato hvala za pomoc se enkrat.
PaX_MaN ::
Prav ti je bilo povedano.
Tole je narobe:
if (isset($_POST['odgovor'.$i])) {
$_SESSION['tabela'][$i]++;
}
Spremeni v:
if (isset($_POST['odgovor'])) {
$_SESSION['tabela'][$_POST['odgovor']]++;
}
Pa še zbriši zanko okoli tega if stavka.
Tole je narobe:
if (isset($_POST['odgovor'.$i])) {
$_SESSION['tabela'][$i]++;
}
Spremeni v:
if (isset($_POST['odgovor'])) {
$_SESSION['tabela'][$_POST['odgovor']]++;
}
Pa še zbriši zanko okoli tega if stavka.
Zgodovina sprememb…
- spremenilo: PaX_MaN ()
RO87 ::
Ce prav razumem je potrebno odstraniti if stavek in dobimo:
(isset($_POST['odgovor'])) {
$_SESSION['tabela'][$_POST['odgovor']]++;
}
Hvala za odgovore in pomoc!
(isset($_POST['odgovor'])) {
$_SESSION['tabela'][$_POST['odgovor']]++;
}
Hvala za odgovore in pomoc!
Zgodovina sprememb…
- spremenil: RO87 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pomoč z jQuery (osnove)Oddelek: Programiranje | 812 (684) | alexa-lol |
» | if(empty($_POST["vsa-polja"]))?Oddelek: Izdelava spletišč | 2596 (2211) | Housy |
» | [PHP] posiljanje podatkov (osnove)Oddelek: Izdelava spletišč | 1162 (877) | urosz |
» | problem z phpjemOddelek: Izdelava spletišč | 4255 (3668) | snow |
» | sessionsOddelek: Izdelava spletišč | 1486 (1348) | multiplayer |