ugrás a tartalomhoz

Online teszt form-php-mysql

kavics · 2006. Feb. 10. (P), 22.08
Szeretnék egy kis segítséget kérni a közösségtől...
Ezidáig nem sokat foglakoztam php-val, de én sem usztam meg :)

A feladat a következő:
Online tesztlap. A teszt kérdéseket adatabázisból veszem, a válasz IGAZ v. HAMIS. A megjelenítés még megy :)
A gond a form-nál kezdődik, a csak az utolsó válasz értékét adja át. Olvastam a korábbi cikkeket és meg is probáltam használni... nem sok sikerrel.

Íme a scrip:

<?php
session_start();
?>
<html>
<head><title>Lekérdezés</title></head>
<body>

<?php
include ("dbconnect.php");

if(isset($form_valasz))
{
$valasz=$form_valasz;
session_register("valasz");
}
$eredmeny=mysql_query("select * from teszt");
print("<form method='post'>");
while($sor=mysql_fetch_row($eredmeny))
{
$nev=$sor[0];
print("<b>".$sor[0].". kérdés<br>");
print($sor[1]."</b><p>");
print("<input type='radio' value='IGAZ' name='form_valasz[".$nev."]'>IGAZ<p><p>");
print("<input type='radio' value='HAMIS' name='form_valasz[".$nev."]'>HAMIS<p><p>");
}
print("<p><input type='submit' name='submit' value='Küld'><p>");
print("</form><p>");
?>
<a href="proba.php">Nézd meg a...</a>
</body>
</html>


Tehát a gond az, hogy a teszt áll vagy 25 kérdésből akkor csak az utolsó választ tudom átadni session($valasz)-ként.
Mit rontok el?

Segítségeteket előre is köszönöm:

kavics
 
1

<Nincs cím>

Anonymous · 2006. Feb. 11. (Szo), 03.35
>if(isset($form_valasz))

Valszeg isset($_POST['form_valasz'])) kell neked, ha a
php.ini-ben a register_globals = OFF, és mostanában az.


kk.
2

<Nincs cím>

Anonymous · 2006. Feb. 11. (Szo), 03.39
http://hu2.php.net/manual/hu/security.globals.php
3

Köszönöm a segítséget...

kavics · 2006. Feb. 11. (Szo), 11.57
Köszi a gyors reagálást és a segítséget.

kavics
4

Tesztlap

Anonymous · 2006. Júl. 26. (Sze), 15.24
A Php-t most ugatom. Szóval nagyon gyenge vagyok még belőle. De szeretnék egy online tesztlapot felrakni az oldalamra. Esetleg ha valaki tudna egy letölthető ingyenest megköszöném, vagy infót szeretnék, hogy ezt a részt a Php nél hol képezhetem magamat, vagy ha valaki vállalná, hogy pénzért megírja akkor erre kérnék ajánlatot. az info##kukac##bizonysagok.hu címre
5

Lemaradt

Anonymous · 2006. Júl. 26. (Sze), 15.25
Mindenképpen köszönön a segítséget.

Gábor
6

online teszt

Anonymous · 2006. Júl. 27. (Cs), 07.22
Van egy adatbázisom amiben tárolva van a kérdés, a 4 adható válasz és a helyes válasz valamint egy azonosító. A kiíratásnál elkezdek egy for ciklust ami egész addíg fut ahány sor van a táblába (mysql_num_rows) vagyis kiíratom a kérdést majd alá a 4 választ a rádió jelekkel aztán a következőt ugyanígy stb... Valahogy meg kell különböztetni a post-olandó értékeket viszont már elindítottunk egy for ciklust ($x megy egytől a lekérdezett sorok számáig). Éppen ezért a kódban a rádiójel name paraméterének ha adunk egy ertek$x nevet (mind a 4 nek ugyanez a név kell) akkor szépen végig tudjuk követni hogy az első kérdésre adható 4 válasznak ertek$x vagyis $ertek1 lesz a neve a tizediknek meg ertek$x ből $ertek10. A 4 adható válaszhoz value-nek pedíg le kell kérdezni az adatb ből a megfelelő sorokat. pl: $valasz1=mysql_query("Select valasz1 from adatb where azonosito='$x'"); Így minden kérdéshez a megfelelő value kerül. Aztán ha megvan a bejelölés a megfelelő ertek$x -nevő $_POST -ba biztosan az a válasz kerül amit a teszt kitöltője bejelöl. Ezek után már csak annyi a dolgunk hogy a $_POST tömbben lévő válaszokat összehasonlítjuk az adatb-ben tárolt helyes válaszokkal és kész is vagyunk. utána már lehet extrázni hogy kiírja hogy hány % meg a jó válaszok száma (amikor egyezik akkor növelsz egy változót) vagy esetleg rossz válasz esetén kiírja a kérdést és a jó választ. Nos az enyém ilyen remélem segítettem
7

Köszi

Anonymous · 2006. Júl. 27. (Cs), 09.00
Köszi pegpróbálom.

Gábor
8

Segítség nekem egyáltalán nem mükszik.

Anonymous · 2006. Júl. 31. (H), 08.57
Próbáltam de nekem nem megy. Szóval annyira az elején vagyok, hogy a joszándék kevés. De azért köszi a segítséget.

Ugyanis nekem egy olyan kellene, hogy egy adatbankból a több száz kérdésből mondjuk kiválaszt 30-at és azt adja be mondjuk 3 lehetséges válasszal. kiértékelés csak a végén lenne, ha mindet kitöltötte. Közben lehetne oda vissza lépkedni ha valamit pillanatnyilag nem tud. Ráadásul egy óra számolna mondjuk ha harminc a kérdés akkor 30 percig és utána megjelenne egy szöveg. Persze ez a tesztlap kitöltést nem állítaná le. Hát egy ilyen kellene de nem boldogulok vele. Ha tud valaki valamijen formában segíteni beszéljük meg. fent ott az email címem is

Köszi Gábor