Pagina 1 din 1

test online

Scris: Lun Mai 17, 2010
de trif
am o rugaminte la voi, daca puteti sa am ajutati, am tot cautat pe net tot felul de coduri de teste online si nu stiu cum sa fac unul pt ca vreau ca sa fac unul pt sitele pe care il intretin eu si pe care l-am facut. daca ma puteti ajuta cu ceva link-uri sau chiar cu ceva cod. nu conteaza daca este cu baza de date sau nu ci sa am si eu un pic de unde sa incep ca asa de la zero nu ma pricep. multumesc. cu stima trif

test online

Scris: Mar Mai 18, 2010
de MarPlo
Eu nu am facut un astfel de script in php, ci doar cateva pagini cu html si javascript si nu se potiveste pt. posibilitatea de stocare a mai multor teste, utilizatori si raspunsuri date. Nu am vreun cod php sau cu baze de date pt. teste. Dar probabil ca sunt pe net scripturi gratuite pentru asa ceva.
Incearca sa cauti dupa cuvintele "php script tests" , "test script tutorial".
Sau poti incepe sa inveti lectiile de php de pe site si incet incet ajungi sa faci singur scripturi pt. tine si pt. altii.

test online

Scris: Mar Mai 18, 2010
de trif
ms de raspuns. eu nu vreau ca sa si ramana stocate rezultatele undeva ci doar persoana sa faca testul si dupaia sa ii dea rezultatul si gata. cam atat si no nu prea stiu si nu am ideie. acum incerc sa ma uit la discuitia cu test online-afisare aleatorie test-online-afisare-aleator-t184.htm si sa ma prind dar nu mare lucru ca nu este tot. am vaz pe site testele alea de php cu alegere si cu raspuns scris in textbox. ceva de genu m-ar interesa. ms, cu stima trif

test online

Scris: Mar Mai 18, 2010
de MarPlo
Testele de la cursul de php sunt facute doar cu html si JQuery, deci nu au in spate vreun cod pe server sau ascuns.
Codul poate fi preluat si folosit din sursa html. Dar ca sa fie aplicat si adaptat necesita totusi ceva cunostinte de JavaScript si JQuery.

test online

Scris: Mar Mai 18, 2010
de trif
l-am studiat codul de pe test-online-afisare-aleator-t184.htm si ce nu stiu este ca il ia aleator dar si intrebarile mi le pune aceleasi sau nu imi ia din baza de date raspunsul corect. uite:
asta este codul:

Cod: Selectaţi tot

<?php
require_once('config.php');

if(!isset($_GET['act'])) $_GET['act'] = '';

$numar_intrebari = 2 ;

$numarSQL = mysql_query("SELECT * FROM intrebari");
$numar = mysql_num_rows($numarSQL);

$aleator_intreb = array();
for ($var=1;$var<=$numar_intrebari;$var++){
   $aleator_intreb[$var] = $id_intreb=rand(1,$numar);	   
   }

echo'
<form action="" method="post">
<table width="750" border="0" align="center" bgcolor="#F5F5F5" cellpadding="0" cellspacing="3">
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td width="266"></td>
      <td width="31">&nbsp;</td>
      <td width="201"><strong>Verifica-ti cunostintele !</strong></td>
      <td width="237">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
  </table>';
for ($var=1;$var<=$numar_intrebari;$var++)
{
$SQL_intreb = 'SELECT `intrebare` FROM `intrebari` WHERE id_intrebare='.$aleator_intreb[$var].'';
$rezultat_intreb = mysql_query($SQL_intreb);
$rand_intreb = mysql_fetch_array($rezultat_intreb);
 

$SQL_rasp = 'SELECT `raspuns` FROM `raspunsuri` WHERE id_intrebare='.$aleator_intreb[$var].'';
$rezultat_rasp = mysql_query($SQL_rasp);
$rand_rasp= mysql_fetch_array($rezultat_rasp);
echo'
  <table width="750" bgcolor="#F5F5F5" border="0" align="center" cellpadding="0" cellspacing="3">
    <tr>
      <td width="50" valign="top" align="right">&raquo;</td>
      <td colspan="2" align="left">'.$rand_intreb['intrebare'].'</td>
      <td width="72">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="80"><div align="right">
        <input type="checkbox" name="checkbox" id="checkbox">
      </div></td>
      <td width="504" ><div align="left">'.$rand_rasp['raspuns'].'</div></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><div align="right">
        <input type="checkbox" name="checkbox2" id="checkbox2">
      </div></td>
      <td><div align="left">'.$rand_rasp['raspuns'].'</div></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><div align="right">
        <input type="checkbox" name="checkbox3" id="checkbox3">
      </div></td>
      <td><div align="left">'.$rand_rasp['raspuns'].'</div></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><div align="right">
        <input type="checkbox" name="checkbox4" id="checkbox4">
      </div></td>
      <td><div align="left">'.$rand_rasp['raspuns'].'</div></td>
      <td>&nbsp;</td>
    </tr>
  </table>';
  }
echo' <table width="750" border="0" align="center" bgcolor="#F5F5F5" cellpadding="0" cellspacing="3">
    <tr>
      <td width="80">&nbsp;</td>
      <td width="448">&nbsp;</td>
      <td width="124">&nbsp;</td>
      <td width="83">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><div align="right">
        <input type="submit" name="verifica" id="verifica" value="Verifica">
      </div></td>
      <td><input type="reset" name="Reset" id="button" value="Reset"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
  </form>';
?>
si asta este baza de date:

Cod: Selectaţi tot

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `intrebari` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_intrebare` varchar(100) DEFAULT NULL,
  `intrebare` varchar(1000) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;

INSERT INTO `intrebari` (`id`, `id_intrebare`, `intrebare`) VALUES
(1, '1', 'cine este alex?'),
(2, '2', 'Cine este anton?');

CREATE TABLE IF NOT EXISTS `raspunsuri` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_intrebare` varchar(100) DEFAULT NULL,
  `raspuns` varchar(1000) DEFAULT NULL,
  `raspuns_corect` varchar(1000) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;

INSERT INTO `raspunsuri` (`id`, `id_intrebare`, `raspuns`, `raspuns_corect`) VALUES
(1, '1', 'fata', 'baiat'),
(2, '2', 'elev', 'student');
si nu stiu ce sa ii fac ca sa imi ia raspunsul corect din baza de date si dupa ce ii dau verificare sa imi zica cat este bine si cat nu este bine. cu stima trif

test online

Scris: Mar Mai 18, 2010
de trif
bun am rezolvat cum sa imi ia si raspunsul corect, am mai facut un select din baza de date asa:

Cod: Selectaţi tot

$SQL_raspcore = 'SELECT `raspuns_corect` FROM `raspunsuri` WHERE id_intrebare='.$aleator_intreb[$var].'';
$rezultat_raspcore = mysql_query($SQL_raspcore);
$rand_raspcore= mysql_fetch_array($rezultat_raspcore);
dar restul nu mai stiu...:-??

test online

Scris: Mar Mai 18, 2010
de MarPlo
Ai putea sa pui raspunsurile corecte intr-un array in sesiune, cu 'id_intrebare'=>'raspuns_corect' , iar la verificare verifici in acea sesiune daca raspunsurile sunt aceleasi cu cele transmise.

test online

Scris: Mar Mai 18, 2010
de trif
nu vrea sa imi mearga pentru ca si intrebarile sunt aletorii si daca modific acea sectiune nu mai merge si nici nu mai stiu cum sa o fac iara si la verificare nu stiu sa fac cu ce este. :-?? imi pare rau dar chiar nu stiu. ajuta-ma te rog. apropo multumesc pentru raspunsul precedent. cu stima trif.

test online

Scris: Mar Mai 18, 2010
de MarPlo
Chiar daca sunt aleatorii, fiecare are un id propriu.
Se poate baga in sesiune id-ul intrebarii cu raspunsul ei corect, cam asa:
$_SESSION['corecte'] = array('id1'=>'raspuns1', 'id2'=>'raspuns2');

Iar la verificare, trebuie transmis id-ul fiecarei intrebari si raspunsul dat, apoi se verifica daca se potrivesc cu cele din sesiune, cam asa:

Cod: Selectaţi tot

session_start();

// Preia raspunsurile si idul
$var['id1'] = 'r_trimis1';
$var['id2'] = 'r_trimis2';

// Se verifica cu cele din sesiune
foreach($var as $k=>$v) {
  if( $_SESSION['corecte'][$k] == $v) echo "$k - corect";
  else  echo "$k - incorect";
}
- Asta e doar un exemplu, ca idee de pornire. Trebuie adaptat la codul script-ului, dupa cum trimite raspunsurile si ce variabile are.
Nu am stat sa verific acel script, logica lui, fiindca e cam mult cod si sunt deja in treaba cu altele.
Poate mai trebuie si la el modificat.
Daca tot nu poti rezolva si nu stii, poti lua legatura cu cel care a facut scriptul, si sa-l intrebi pe el.