Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie zaznaczony radio button i przycisk dalej
Forum PHP.pl > Forum > PHP
Wescik
Witam
Mam oto taki problem ze robie sobie skrypt do zadan testowych z radiobuttonami. Z bazy sa losowane pytania i do nich odpowiedzi,ktore sa zliczane i na koniec pokazywany jest wynik w postaci zdobyte punkty/na max mozliwych. I mam problem z warunkiem gdy użytkownik nic nie wybierze i nacisnie "dalej". Wtedy moj skrypt zlicza max punktow na podstawie oddanych glosow, wiec jak jest 10 pytan i ktos odpowiedzial na 7(nie wazne czy dobrze czy zle) a 3 pominął klikajac tylko "dalej" to wynik bedzie zwrocony np. 5/7 a nie 5/10 poprostu zmniejsza sie max_punktów. I nie wiem jak określić warunek.
Tu jest kawalek kosu moze sie przyda:

[php:1:0605b8c74f]<?php
for($y=1; $y<10; $y++)
{
if ($ktore_pytanie == ($y+1))
//warunek chyba powinien byc gdzies tu (ze jak nacisnie sie dalej niech wstawi 0 i zeby max_punkty trzymaly wartosc 10 a nie obnizaly sie
{
$HTTP_SESSION_VARS['odp'.$y] = $HTTP_POST_VARS['odpowiedz'];
};
}

if ($ktore_pytanie == 11)
{
$HTTP_SESSION_VARS['odp10'] = $HTTP_POST_VARS['odpowiedz'];
$punkty = 0;
$punkty_max = 0;

for($i=1; $i<11; $i++)
{
$zapytanie = 'SELECT id_pytanie, wlasciwa FROM odpowiedz WHERE id_odpowiedz="'.$HTTP_SESSION_VARS['odp'.$i].'"';
$wynik = mysql_query($zapytanie);
if (mysql_num_rows($wynik) == 1)
{
$wiersz = mysql_fetch_array($wynik);
$punkty += stripslashes($wiersz['wlasciwa']);
}
$zapytanie = 'SELECT max(wlasciwa) as wlasciwa FROM odpowiedz WHERE id_pytanie="'.stripslashes($wiersz['id_pytanie']).'"';
$wynik2 = mysql_query($zapytanie);
if (mysql_num_rows($wynik2) == 1)
{
$wiersz2 = mysql_fetch_array($wynik2);
$punkty_max += stripslashes($wiersz2['wlasciwa']);
}
}

echo'Oto wynik testu :].';
echo ''.$punkty.'/'.$punkty_max.'';

?>[/php:1:0605b8c74f]
Dzieki
rze-X-nik
Możesz spróbować to zrobić w JavaScripcie:

Kod
<script type="text/javascript">

function check(){

   if(document.forms['formularz'].elements['radio'].checked){

       //

   }else{

       alert("Wybierz odpowiedź);

   }

}

</script>

Albo w php (zakładając, że włączyłeś "RegisterGlobals":

[php:1:b40feb7064]<?php
if(!isset($przycisk)){
die("Wybierz odpowiedź");
}
?>[/php:1:b40feb7064]

Według mnie, jeżeli nie jest wybrana opcja z radio, to wtedy zmienna nie jest ustawiana (mogę się mylić).

Jednak najprostrzą metodą będzie coś takiego:
Kod
<input type="radio" name="odp" value="1" checked="checked">

I wtedy zawsze będzie wybrana taka odpowiedź jeżeli użytkownik nic nie wybierze.

Pozdro
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.