Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN SIMPLE QCM EN LIGNE


Information sur la source

Catégorie :Base de données Classé sous : qcm, quizz, test, queston Niveau : Initié Date de création : 04/07/2006 Vu / téléchargé: 8 687 / 1 605

Note :
5,75 / 10 - par 4 personnes
5,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Un simple QCM en ligne, script en php et base de données en Mysql...
Réalisé par:
Elmarzougui Fathi
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de kankrelune le 04/07/2006 15:54:06

C'est qui qui note comme ça sans mettre de commentaire... pffffffffff... .. .

@ tchaOo°

signaler à un administrateur
Commentaire de TheSin le 05/07/2006 10:22:02

$mat=$qcm['matiere'];
$fil=$qcm['filiere'];
$niv=$qcm['niveau'];
pour faire juste après :
echo $mat;
echo $fil;
echo $niv;
(en enlevant l'html entre)
pourquoi pas un simple ...
echo $qcm['matiere'];
echo $qcm['filiere'];
echo $qcm['niveau'];
pas la peine de surcharger la mémoire inutilement ;)

De plus :
         $id=$_GET['id'];
         $idmat=$_GET['idmat'];
         $ntest=$_GET['ntest'];
         $mat=$_GET['mat'];
         $fil=$_GET['fil'];
         $niv=$_GET['niv'];
Tu met tout ca dans une requete mysql sans les vérifier, donc mysql injection très facile à faire ;)

Encore une petite chose ... je crois que le niveau initié est un peu exagéré ;)

signaler à un administrateur
Commentaire de stepibou le 05/07/2006 11:30:06

Daccord avec ces 2 commentaires...
Je rajouterai que ton doctype n'est pas en accord avec ton code...
pour mysql : "select * from" , ca c bof! y faut que tu selectionne ce dont tu a besoin..
Pour le php : pas faire des echo à la suite, privilegier le . (point)

bye

signaler à un administrateur
Commentaire de Taka_s_tiger le 05/07/2006 13:38:19

il me semble avoir déja lu sur ce site que la virgule est à préférer plutot que l'opérateur de concaténation . (point) dans le cadre d'un echo...pour des raisons d'optimisation

quelqu'un peut confirmer ?

signaler à un administrateur
Commentaire de kankrelune le 06/07/2006 03:12:39

Exacte mais seulement pour les echo... après bon si c'est pour 3 echo c'est pas bien grave à partir du moment ou les variables sont concaténées et que les string sont entre simples quotes... ... .. .


@ tchaOo°

signaler à un administrateur
Commentaire de jean84 le 17/07/2006 20:43:03

2/3 trucs :

- utilise les ' plutot que les " (surtout dans une requete de type SELECT * FROM !!)
- dans connect.php
-> $cnx = mysql_connect($mysqlServerDB,$userDB,$passwdDB) or
        die("Echec de la connection");
        mysql_select_db($dataBaseNameDB) or die("Echec de la connection");

Ton mysql_select_db() doit etre de la frome : mysql_sql_db($dataBaseNameDB, $cnx);

Evite les echo en boucle :
echo '<tr height="25"><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
echo '<a href="matiere.php?id='.$id.'">'.$mat.'</a>';
echo '</td><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
echo $niv;
echo'</td><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
echo $fil;
echo'</td></tr>';

Utilise de preference le '.' =>
Moi perso je fais sa :
$Affichage = '';
$Affichage .= '<tr height="25"><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
$Affichage .= <a href="matiere.php?id='.$id.'">'.$mat.'</a>';
$Affichage .= </td><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
$Affichage .= $niv;
$Affichage .= </td><td bgcolor="#CCFFCC"><font face="@Dotum" color="#330033" size="3">';
$Affichage .= $fil;
$Affichage .= </td></tr>';
echo $Affichage;
fais le en debut de page et tu verras sa sera mieux et plus digeste (a mon sens evidement)

<?php
    $score=0;
    //conection à la base
    require ("connect.php");  
    $choice = $_POST['choice'];
    //compter le nombre des questions
    $nbq=count($choice);
?>
<?php [...]
Si tu doit encore utiliser php, pourquoi referme la balise pour la re-ouvrir ??

Sinon pour la suite, je dirais que c'est sympa comme code malgre les quelques erreurs (on est la pour apprendre),  et te souhaite de continuer comme sa (par contre essaye de faire un truc un peu plus fun comme code parce que les qcm ... lol... :p)

@+

signaler à un administrateur
Commentaire de ewlad le 22/08/2006 01:05:51

Je trouve vos remarques très utile et le code   devient plus robuste  

Merci pour tous le deux !

signaler à un administrateur
Commentaire de spidermario le 04/04/2007 17:07:21

En fait, la virgule pour les echo n'est pas toujours plus rapide que le point dans la mesure où elle doit écrire plusieurs fois sur le flux de sortie, ce qui est long.

Toutefois, en mettant

     ob_start();

au début du code et

     ob_end_flush();

à la fin, echo n'écrira pas directement sur le flux de sortie mais sur un tampon qui sera vidé à l'appel de ob_end_flush, ce qui fait que la virgule devient plus performante. On peut d'ailleurs à tout moment appeler la fonction ob_get_content pour récupérer le contenu actuel du tampon.

signaler à un administrateur
Commentaire de jean84 le 12/04/2007 00:01:39

Il faut faire attention avec les fonctions de bufferisation. Le temps que tu gagnes avec la virgule, tu le perd lors de la mise en tampon.
Mieux vaut s'en tenir eloigne sauf si necessaire (envoi d'un cookie apres du code html ou un echo).
Et l'envoi de donnees vers le flux de sortie ne dure pas 3 sec non plus, il faut relativiser. La bande passante y est pour beaucoup, aussi mieux vaut tabler sur un minimum de calcul de la part du serveur et faire travailler la bande passante que l'inverse, question de choix surement :-)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Demande de modification de CODE [ par steve2206 ] Salut à tous,j'avais aidé evan dans la conception d'un code pour les quizz et j'aimerai avoir le même mais avec quelques modifications, histoire d'avo Petite expression réguliere toute simple [ par nem02004 ] Je souhaite recuperer le texte compris entre la premiere balsie &lt;h2&gt; et la premiere &lt;/p&gt;:    $chainee = '&lt;h2&gt;Test&lt;/h2&gt;        Requête SQL ne marche pas [ par OneHacker ] Alors j'ai une table Test avec un champ id(int) et un champ value(car char)voici ma table :0   value01   value1Je fait une requête : &lt;?// pensez a Redirection dans une fonction [ par mirc00 ] salut,j'ai une fonction test et je souhaite la transformer comme suit :function test(){...if($query)        {            ...            $return='1|Mer Commentaires avec identification [ par slurp9562 ] Bonjour bonjour!Je vous explique un peu ce que je cherche:un espace commentaire pas si simplet que cela. Ce serai un espace ou si l'on est connecté on php 5.2.3 et soap [ par cloc83 ] Bonjour à tous, je développe un service web utilisant soap et un fichier wsdl. Le premier développement a lieu sur WAMP. Le résultat est conforme à me Reflection [ par dorian91 ] Salut a tousVoila j'essaye de m'initier a la reflection en php (dur dur ).J'ai fait un petit script et il me met toujours un warning voici mon code$cl Transformation XSL [ par sheeana_kt ] Bonjour à tous,Je suis en train de refondre mon site et je souhaite utiliser la techno XML/XSL. L'idée est d'utiliser le XML comme "bus" d'information choix du bouton radio [ par sana83 ] salu,j'ai un petit problème au niveau de l'inclusion des pages dans la meme page principale qui dépond des boutons radio///***********le code ******** récupération du dernier enregistrement [ par hajeur_abd ] <td id="HB_Focus_Element" valign="top" width="100%" b


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,36 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.