Bonsoir, bon... je ne comprend pas tout ton code, (enfin si mais j'aurais procédé autrement...).
Déjà pour ta variable $point il ne faut pas faire:
si la réponse est bonne ""$point = 1; sinon "$point = 0;" à part si tu donne le résultat en direct, si tu additionne tout les points (d'une 20aine de question) il faut juste faire: si la réponse est bonne "$point ++;"
Il faudrait que tu explique ton code si tu veut de l'aide.*
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "question" ) ;
/* Variable déclaré*/
$value;
$point;
$total;
$question1=$_POST["Q1"]; <== Qu'est-ce qui est envoyé dans ces variable? si c'est les réponses ne l'appel pas question.
$question2=$_POST["Q2"];
$question3=$_POST["Q3"];
$question4=$_POST["Q4"];
//création de la requête SQL:
$sql = "INSERT INTO concour (id, question, reponse, point)
VALUES ('','$question1', '$question2', '$question3', '$question4') " ;
tu ne peut pas enregistrer ceci maintenant car tu na pas encore compté les points...
Et pour un enregistrement multiple il faut plusieur ligne et pas une seule.
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
?>
Ci_dessous tu ne peut pas demander ce genre de requête... $value ne vaut rien car tu la juste initialisé.
et que vaut $_POST["oui"]?
C'est la réponse qu'il devait donner?
<?Php
if ($question1==($value=$_POST['oui'])) /*Si la reponce de la question 1 est bonne*/
{
($point=1); } /*alors gain d'un point*/
elseif ($question1==($value=$_POST['non'])) /*sinon la réponce de la question 1 est fausse*/
{
($point=0); /*alors aucun point*/
if ($question2==($value=$_POST['oui'])) /*Si la reponce de la question 2 est bonne*/
{
($point==1); } /*alors gain d'un point*/
elseif ($question2==($value=$_POST['non'])) /*sinon la réponce de la question 2 est fausse*/
{($point=0); /*alors aucun point*/
if ($question3==($value=$_POST['oui'])) /*Si la reponce de la question 3 est bonne*/
{
($point=1); } /*alors gain bed'un point*/
elseif ($question3==($value=$_POST['non'])) /*sinon la réponce de la question 3 est fausse*/
{($point=0); /*alors aucun point*/
if ($question4==($value=$_POST['oui'])) /*Si la reponce de la question 4 est bonne*/
{
($point==1); } /*alors gain d'un point*/
elseif ($question4==($value=$_POST['non'])) /*sinon la réponce de la question 4 est fausse*/
{($point=0);}}}} /*alors aucun point*/
?>
Vous avez un total de:
<?php
/*calcul des points*/
$total= $_POST["Q1"]+$_POST["Q2"]+$_POST["Q3"]+$_POST["Q4"];
/*Affichage du total de point*/
echo $total ;
?>
Ici tu ne peut pas additionner tout ça... les variable valent les réponses si tes réponse sont numériques ok mais même en aucun cas il ne s'agis des points...
Pour faire simple ton code n'est pas compliqué à faire, voila se que j'ai compris, si c'est ça je peut t'aider sinon il faudrais comprendre se que tu veut faire:
Pour moi tu pose 4 question, ou on répond d'une certaine manière (je ne sais pas se que tu a choisis, input-text, radio ou select enfin bref),
tout ceci est envoyé sur cette page qui analyse, donne le résultat à la personne et l'inscrit dans une base de donnée.
Est-ce cela?
Message édité par silenssin le 25-05-2011 à 18:57:03