|  | Problème QCM |  |
|
Chub
| Inscrit le: 21 Nov 2004 |
| Messages: 63 |
|
|
 |
| Posté le: Dim 23 Jan 2005, 1:07 am |
|
 |
 |
 |
 |
Je veux utiliser pour mon site un qcm qui donne à la fin accès à l'inscription.
Le script à été crée avec menu déroulant, j'ai essaiyé de changer ces dernier en bouton radio mais le script ne fonctionne plus.
Voici le script :
<?php
if(!defined("__HEADER.PHP")){include('../include/header.php');}
echo "<title>".NOM_TITLE." QCM</title>";
Define('COUNT_QCM', 5);
if(isset($etape)){
if ($_POST['etape'] == 2)
{
$erreur="";
if( (!isset($Nom))|| $Nom=="" ){
$erreur .="Nom vide <br />";
}
if( (!isset($Desc))|| $Desc=="" ){
$erreur .="Description vide <br />";
}
//Modif Chub
if( (!isset($Back))|| $Back=="" ){
$erreur .="Background vide <br />";
//Fin Modif Chub
}
if( (!isset($Pass1))|| $Pass1=="" || (!isset($Pass2)) || ($Pass1 != $Pass2) ){
$erreur .="Mot de passe incorrect, ou différent entre les 2 saisies <br />";
}
if( (!isset($erreur)) && (!isset($Email))){
$erreur ="Adresse Mail incorrect";
unset($etape);
}
$SQL="select nom from ".NOM_TABLE_MJ." where nom ='". $Nom."'";
$recherche1 = executerRequete($SQL);
$SQL="select nom from ".NOM_TABLE_PERSO." where nom ='". $Nom."'";
$recherche2 = executerRequete($SQL);
$SQL="select nom from ".NOM_TABLE_INSCRIPTION." where nom ='". $Nom."'";
$recherche3 = executerRequete($SQL);
if((mysql_num_rows($recherche3)>0) ||(mysql_num_rows($recherche1)>0) || (mysql_num_rows($recherche2)>0)) {
$erreur .="Nom déjà existant <br />";
}
if($erreur==""){
$Desc = ConvertAsHTML($Desc);
//Modif Chub
$Back = ConvertAsHTML($Back);
//Fin Modif Chub
$Nom = ConvertAsHTML($Nom);
$Pass1 = ConvertAsHTML($Pass1);
$Race = ConvertAsHTML($Race);
//Modif Chub
$Classe = ConvertAsHTML($Classe);
//Fin Modif Chub
//Modif Hixcks
$Sexe = ConvertAsHTML($Sexe);
echo "Vous serez inscrits sous peu, des que les MJs auront traité votre demande.<br>";
echo "Vous pourrez alors configurer vos options dans la page \"modifier Infos\". ";
echo "En attendant, vous pouvez prendre connaissance des règles dans la page correspondante ! <br />N'hêsitez pas non plus à parcourir tout le site et à utiliser tous les outils mis à votre disposition.<br />";
//Modif Chub
$SQL ="INSERT INTO ".NOM_TABLE_INSCRIPTION." (Nom,Pass,Race,Classe,sexe,Email,Description,Background) VALUES ('".$Nom."','".$Pass1."','".$Race."','".$Classe."','".$Sexe."','".$Email."','".$Desc."','".$Back."')";
//Fin Modif Chub
//fin Modif Hixcks
executerRequete($SQL);
}
else unset($etape);
}
//}
//if(!isset($etape)){
if ($_POST['etape'] == 1)
{
$ok_QCM = true; // Vérifier si l'Internaute a répondu à toute les questions
for($idx = 0; ($idx < COUNT_QCM) && $ok_QCM; $idx++)
$ok_QCM = $_POST['Reponse_QCM'.$idx] > 0;
if ($ok_QCM)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM.' WHERE ID_Question IN(';
for($idxID = 0; $idxID < COUNT_QCM; $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $_POST['ID_QCM'.$idxID];
}
$SQL .= ')';
$result = executerRequete($SQL);
if (mysql_num_rows($result) == COUNT_QCM)
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
$repList[mysql_result($result, $idx, 'ID_Question')] = array('Question' => mysql_result($result, $idx, 'Question'),
'Rep1' => mysql_result($result, $idx, 'Reponse1'),
'Rep2' => mysql_result($result, $idx, 'Reponse2'),
'Rep3' => mysql_result($result, $idx, 'Reponse3'),
'Rep4' => mysql_result($result, $idx, 'Reponse4'),
'Bonne' => mysql_result($result, $idx, 'Bonne'));
$okRep = true;
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == $_POST['Reponse_QCM'.$idx]) ? $resultQCM[$idx] = 1 : $resultQCM[$idx] = 0;
if ($okRep) $okRep = $resultQCM[$idx];
}
if ($okRep)
{
if(!isset($Nom)){$Nom='';}
if(!isset($Email)){$Email='';}
if(!isset($Race)){$Race='';}
if(!isset($Sexe)){$Sexe='';}
if(!isset($Desc)){$Desc='';}
echo "<script type='text/javascript'>
function generateur(page,largeur,hauteur,options)
{
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
window.open(page,\"\",\"top=\"+top+\",left=\"+left+\",width=\"+largeur+\",height=\"+hauteur+\",\"+options);
}
</script>";
echo "<title>".NOM_TITLE." Inscription</title>";
if(!isset($etape)){
if(!isset($Nom)){$Nom='';}
if(!isset($Email)){$Email='';}
if(!isset($Race)){$Race='';}
//Modif Chub
if(!isset($Classe)){$Classe='';}
//Fin Modif Chub
if(!isset($Sexe)){$Sexe='';}
if(!isset($Desc)){$Desc='';}
//Modif Chub
if(!isset($Back)){$Back='';}
//Fin Modif Chub
echo "<div class='centerSimple'><form action='".NOM_SCRIPT."' method='post' name='form1'>";
//Modif Chub
echo "<center>";
//Fin Modif Chub
echo "<h3><hr>S'inscrire<hr></h3><br>";
//Modif Chub
echo"<a href='../main/aide_inscription.php'>Pour être sûr d'avoir un bon personnage, Cliquez</a><br><br>";
//FIn Modif Chub
//if(isset($erreur)){echo "<font color='red'>".$erreur."</font><br />";}
if(isset($erreur)){echo "<span class='c0'>".$erreur."</span><br />";}
echo "<table class='details'>";
//Modif Chub
echo "<tr><td colspan='2'>Nom du Personnage<br><a href=\"javascript:generateur('../main/generateur.php',125,90,'menubar=no,scrollbars=no,statusbar=no')\"><center>Générateur</center></a></td><td><input type='text' name='Nom' size='37' maxlength='50' value='".$Nom."'></td></tr>";
//Fin Modif Chub
echo "<tr><td colspan='2'>Mot de Passe</td><td><input type='password' name='Pass1' size='37' maxlength='50' /></td></tr>";
echo "<tr><td colspan='2'>Retappez votre Mot de Passe</td><td><input type='password' name='Pass2' size='37' maxlength='50' /></td></tr>";
echo "<tr><td colspan='2'>Email</td><td><input type='text' name='Email' size='37' maxlength='80' value='".$Email."' /></td></tr>";
echo "<tr><td>Race choisie</td><td rowspan='3'><center><a href='rcs.php'>RCS</a></center></td><td><select name='Race'>";
$toto = array_values($liste_race_inscri);
for($i=0;$i<count($liste_race_inscri);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Race){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
//Modif Chub
echo "<tr><td>Classe</td><td><select name='Classe'>";
$toto = array_values($liste_classe);
for($i=0;$i<count($liste_classe);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Classe){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
echo "<tr><td>Sexe</td><td><select name='Sexe'>";
$toto = array_values($liste_sexe);
for($i=0;$i<count($liste_sexe);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Sexe){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
echo "<tr><td colspan='3'><center>Description du <b>personnage</b></center>(Ne soyez ni trop précis ni trop evasif) (Environ 5 à 7 lignes)</td></tr>";
//Fin Modif Chub
echo "<tr><td colspan='3'><textarea name='Desc' cols='50' rows='10'>".$Desc."</textarea></td></tr>";
//Modif Chub
echo "<tr><td colspan='3'><center>Background du <b>personnage</b></center>Ne vous prenez pas pour Hercule, vous n'en aurez pas le niveau avant<br>longtemps puis de toute façon, ca sera refusé (Environ 5 lignes)</td></tr>";
echo "<tr><td colspan='3'><textarea name='Back' cols='50' rows='10'>".$Back."</textarea></td></tr>";
echo "<tr><td colspan='3'><center>L'inscription est aussi éffectué auprès de la <b>newsletter.</b><br>Toute case non rempli correctement est signe de <b>refus automatique.<b><br><br>";
//echo "<input type='submit' value='Inscrire'>";
echo "<a href='inscription.php'><img src='logo/inscrire.PNG' border='0' alt='Pas d inscription pour le moment' title='Pas d inscription pour le moment' /></a>";
echo "<br><br></td></tr>";
//Fin Modif Chub
echo "</table>";
echo "<input type='hidden' name='etape' value='1' />";
//Modif Chub
echo "</center>";
//Fin Modif Chub
echo "</form></div>";
}
echo "<input type='hidden' name='etape' value='2'></form>";
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
if(!isset($_POST['etape']))
{
$SQL = 'SELECT COUNT(ID_Question) FROM '.NOM_TABLE_QCM;
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
{
$ctQCM = mysql_result($result, 0);
if ($ctQCM >= COUNT_QCM)
{
if (!isset($repList)) // Si erreur dans QCM, reprendre les même questions
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM;
if ($idx > 0)
{
$SQL .= ' WHERE ID_QUESTION NOT IN(';
for($idxID = 0; $idxID < count($QCMList); $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $QCMList[$idxID]['ID'];
}
$SQL .= ')';
}
$SQL .= ' LIMIT '.(rand(0, $ctQCM - $idx - 1)).', 1';
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
$QCMList[$idx] = array('ID' => mysql_result($result, 0, 'ID_Question'),
'Question' => mysql_result($result, 0, 'Question'),
'Rep1' => mysql_result($result, 0, 'Reponse1'),
'Rep2' => mysql_result($result, 0, 'Reponse2'),
'Rep3' => mysql_result($result, 0, 'Reponse3'),
'Rep4' => mysql_result($result, 0, 'Reponse4'),
);
}
}
echo '<form action="'.NOM_SCRIPT.'" method="post">'
.'<input type="hidden" name="etape" value="1">';
echo '<table>';
if (isset($repList)) echo '<center><b>Vous n\'avez pas bien répondu toutes les questions.</b></center><br/><br/>';
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
if (!isset($repList))
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$QCMList[$idx]['ID'].'">'
.'<tr><td>'.$QCMList[$idx]['Question'].'</td><br><br>'
.'<td><form2 name="Reponse_QCM'.$idx.'">'
.'<input value="1" type="radio" name="qcm1">'.$QCMList[$idx]['Rep1'].'</input><br>'
.'<input value="2" type="radio" name="qcm2">'.$QCMList[$idx]['Rep2'].'</input><br>'
.'<input value="3" type="radio" name="qcm3">'.$QCMList[$idx]['Rep3'].'</input><br>'
.'<input value="4" type="radio" name="qcm4">'.$QCMList[$idx]['Rep4'].'</input><br>'
.'<br></form2></td><tr>'."\n";//</select>
}
else // reprendre les même question ets conserver les réponse juste
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$_POST['ID_QCM'.$idx].'">'
.'<tr><td><img src="../images/icone.gif"/>'.$repList[$_POST['ID_QCM'.$idx]]['Question'].'</td>'
.'<td><form2 name="Reponse_QCM'.$idx.'">'
.'<input value="0">Sélectionnez une réponse</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 1))
echo '<input value="1" type="radio" name="qcm1" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</input>';
else
echo '<input value="1" type="radio" name="qcm1">'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 2))
echo '<input value="2" type="radio" name="qcm2" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</input>';
echo '<input value="2" type="radio" name="qcm2">'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 3))
echo '<input value="3" type="radio" name="qcm3" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</input>';
else
echo '<input value="3" type="radio" name="qcm3">'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 4))
echo '<input value="4" type="radio" name="qcm4" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</input>';
else
echo '<input value="4" type="radio" name="qcm4">'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</input>';
echo '</form2></td><tr>'."\n";
}
}
echo '</table>';
echo '<br><center><input type=submit name="submit" value=Etape></center></form>';
}
}
}
if(!defined("__MENU_SITE.PHP")){include('../main/menu_site.php');}
if(!defined("__FOOTER.PHP")){include('../include/footer.php');}
?> |
Et voici la table sql néccessaire au bon fonctionnement :
-- phpMyAdmin SQL Dump
-- version 2.6.1-rc2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Samedi 22 Janvier 2005 à 18:41
-- Version du serveur: 4.0.23
-- Version de PHP: 4.1.2
--
-- Base de données: `talesta`
--
-- --------------------------------------------------------
--
-- Structure de la table `TLT_qcm`
--
CREATE TABLE `TLT_qcm` (
`ID_Question` smallint(5) unsigned NOT NULL auto_increment,
`Question` text NOT NULL,
`Reponse1` varchar(128) NOT NULL default '',
`Reponse2` varchar(128) NOT NULL default '',
`Reponse3` varchar(128) NOT NULL default '',
`Reponse4` varchar(128) NOT NULL default '',
`Bonne` tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (`ID_Question`)
) TYPE=MyISAM AUTO_INCREMENT=15 ;
--
-- Contenu de la table `TLT_qcm`
--
INSERT INTO `TLT_qcm` VALUES (1, 'Comment s''appelle le jeu ', 'Star Wars', 'Terre de Fangh', 'L'Agence tout risque', 'Final Fantasy', 2);
INSERT INTO `TLT_qcm` VALUES (2, 'Qui est le créateur ?', 'John Smith', 'John Doe', 'Chub', 'Dark Vador', 3);
INSERT INTO `TLT_qcm` VALUES (3, 'Où se passe l''action du jeu ?', 'Kashyyyk', 'Venus', 'Pluton', 'Terre de Fangh', 4);
INSERT INTO `TLT_qcm` VALUES (4, 'Vous pouvez incarner des... ?', 'Humains', 'Rats', 'Ewoks', 'Chiens', 1);
INSERT INTO `TLT_qcm` VALUES (6, 'Puis avoir deux comptes de jeu ?', 'oui n''importe quand', 'oui si je demande', 'oui mais il faut pas se faire capter', 'non', 4);
INSERT INTO `TLT_qcm` VALUES (7, 'Combien il y a t''il de race ?', '9', '2', '7', '25', 1);
INSERT INTO `TLT_qcm` VALUES (8, 'Combien y''a t''il de classe ?', '3', '16', '9', '40', 3);
INSERT INTO `TLT_qcm` VALUES (9, 'Ai-je le droit d''insulter tous le monde ?', 'oui quand je veux', 'oui si je demande', 'oui mais il faut pas se faire capter', 'non', 4);
INSERT INTO `TLT_qcm` VALUES (10, 'Cherchez l''intrus....', 'Dracula', 'Les Akashyans', 'Phosphoros', 'Obi Wan Kenobi', 4);
INSERT INTO `TLT_qcm` VALUES (11, 'Test', 'rep1', 'rep2', 'rep3', 'rep4', 1);
INSERT INTO `TLT_qcm` VALUES (12, 'test2', 'rep1', 'rep2', 'rep3', 'rep4', 2);
INSERT INTO `TLT_qcm` VALUES (13, 'Test3', 'rep1', 'rep2', 'rep3', 'rep4', 3);
INSERT INTO `TLT_qcm` VALUES (14, 'Test4', 'res1', 'rep2', 'rep3', 'rep4', 4); |
Je pense déjà pouvoir dire merci à Redox 
|
|
Dernière édition par Chub le Dim 23 Jan 2005, 3:53 am; édité 1 fois _________________ Que le mal est bon quand le bon est mal.
|
|  |
|  | |  |
|  |
|  | |  |
|
Chub
| Inscrit le: 21 Nov 2004 |
| Messages: 63 |
|
|
 |
| Posté le: Dim 23 Jan 2005, 3:55 am |
|
 |
 |
 |
 |
J'ai remis ci-dessus le code modifie... qui ne marche toujours pas.
Au niveau de l'affichage, rien à dire. Le problème est que lorsqu'on appuie sur le bouton submit, cela recharge la page au lieu de passer à l'étape suivante...
|
|
_________________ Que le mal est bon quand le bon est mal.
|
|  |
|  | |  |
|
Redox
Modérateurs

| Inscrit le: 07 Sep 2004 |
| Messages: 974 |
|
|
 |
| Posté le: Dim 23 Jan 2005, 12:53 pm |
|
 |
 |
 |
 |
Non t'as pas tout changé, et le point n°1 ! Mais bon c'est pas grave car ce n'est pas ce qui empêche le script de fonctionner correctement je pense..... Et le point n°3 était inutile... Voici toujours le code avec quelques modif mais je ne pense que cela va changer quelque chose......
<?php
if(!defined("__HEADER.PHP")){include('../include/header.php');}
echo "<title>".NOM_TITLE." QCM</title>";
Define('COUNT_QCM', 5);
if(isset($etape)){
if ($_POST['etape'] == "2")
{
$erreur="";
if( empty($Nom)){
$erreur .="Nom vide <br />";
}
if( empty($Desc)){
$erreur .="Description vide <br />";
}
//Modif Chub
if( empty($Back)){
$erreur .="Background vide <br />";
//Fin Modif Chub
}
if( empty($Pass1) Or empty($Pass2) Or ($Pass1 != $Pass2) ){
$erreur .="Mot de passe incorrect, ou différent entre les 2 saisies <br />";
}
if( (empty($erreur)) && (empty($Email))){
$erreur ="Adresse Mail incorrect";
unset($etape);
}
$SQL="select nom from ".NOM_TABLE_MJ." where nom ='". $Nom."'";
$recherche1 = executerRequete($SQL);
$SQL="select nom from ".NOM_TABLE_PERSO." where nom ='". $Nom."'";
$recherche2 = executerRequete($SQL);
$SQL="select nom from ".NOM_TABLE_INSCRIPTION." where nom ='". $Nom."'";
$recherche3 = executerRequete($SQL);
if((mysql_num_rows($recherche3)>0) ||(mysql_num_rows($recherche1)>0) || (mysql_num_rows($recherche2)>0)) {
$erreur .="Nom déjà existant <br />";
}
if(empty($erreur)){
$Desc = ConvertAsHTML($Desc);
//Modif Chub
$Back = ConvertAsHTML($Back);
//Fin Modif Chub
$Nom = ConvertAsHTML($Nom);
$Pass1 = ConvertAsHTML($Pass1);
$Race = ConvertAsHTML($Race);
//Modif Chub
$Classe = ConvertAsHTML($Classe);
//Fin Modif Chub
//Modif Hixcks
$Sexe = ConvertAsHTML($Sexe);
echo "Vous serez inscrits sous peu, des que les MJs auront traité votre demande.<br>";
echo "Vous pourrez alors configurer vos options dans la page \"modifier Infos\". ";
echo "En attendant, vous pouvez prendre connaissance des règles dans la page correspondante ! <br />N'hêsitez pas non plus à parcourir tout le site et à utiliser tous les outils mis à votre disposition.<br />";
//Modif Chub
$SQL ="INSERT INTO ".NOM_TABLE_INSCRIPTION." (Nom,Pass,Race,Classe,sexe,Email,Description,Background) VALUES ('".$Nom."','".$Pass1."','".$Race."','".$Classe."','".$Sexe."','".$Email."','".$Desc."','".$Back."')";
//Fin Modif Chub
//fin Modif Hixcks
executerRequete($SQL);
}
else unset($etape);
}
//}
//if(!isset($etape)){
if ($_POST['etape'] == "1")
{
$ok_QCM = true; // Vérifier si l'Internaute a répondu à toute les questions
for($idx = 0; ($idx < COUNT_QCM) && $ok_QCM; $idx++)
$ok_QCM = $_POST['Reponse_QCM'.$idx] > 0;
if ($ok_QCM)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM.' WHERE ID_Question IN(';
for($idxID = 0; $idxID < COUNT_QCM; $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $_POST['ID_QCM'.$idxID];
}
$SQL .= ')';
$result = executerRequete($SQL);
if (mysql_num_rows($result) == COUNT_QCM)
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
$repList[mysql_result($result, $idx, 'ID_Question')] = array('Question' => mysql_result($result, $idx, 'Question'),
'Rep1' => mysql_result($result, $idx, 'Reponse1'),
'Rep2' => mysql_result($result, $idx, 'Reponse2'),
'Rep3' => mysql_result($result, $idx, 'Reponse3'),
'Rep4' => mysql_result($result, $idx, 'Reponse4'),
'Bonne' => mysql_result($result, $idx, 'Bonne'));
$okRep = true;
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == $_POST['Reponse_QCM'.$idx]) ? $resultQCM[$idx] = 1 : $resultQCM[$idx] = 0;
if ($okRep) $okRep = $resultQCM[$idx];
}
if ($okRep)
{
if(!isset($Nom)){$Nom='';}
if(!isset($Email)){$Email='';}
if(!isset($Race)){$Race='';}
if(!isset($Sexe)){$Sexe='';}
if(!isset($Desc)){$Desc='';}
echo "<script type='text/javascript'>
function generateur(page,largeur,hauteur,options)
{
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
window.open(page,\"\",\"top=\"+top+\",left=\"+left+\",width=\"+largeur+\",height=\"+hauteur+\",\"+options);
}
</script>";
echo "<title>".NOM_TITLE." Inscription</title>";
if(!isset($etape)){
if(!isset($Nom)){$Nom='';}
if(!isset($Email)){$Email='';}
if(!isset($Race)){$Race='';}
//Modif Chub
if(!isset($Classe)){$Classe='';}
//Fin Modif Chub
if(!isset($Sexe)){$Sexe='';}
if(!isset($Desc)){$Desc='';}
//Modif Chub
if(!isset($Back)){$Back='';}
//Fin Modif Chub
echo "<div class='centerSimple'><form action='".NOM_SCRIPT."' method='post' name='form1'>";
//Modif Chub
echo "<center>";
//Fin Modif Chub
echo "<h3><hr>S'inscrire<hr></h3><br>";
//Modif Chub
echo"<a href='../main/aide_inscription.php'>Pour être sûr d'avoir un bon personnage, Cliquez</a><br><br>";
//FIn Modif Chub
//if(isset($erreur)){echo "<font color='red'>".$erreur."</font><br />";}
if(isset($erreur)){echo "<span class='c0'>".$erreur."</span><br />";}
echo "<table class='details'>";
//Modif Chub
echo "<tr><td colspan='2'>Nom du Personnage<br><a href=\"javascript:generateur('../main/generateur.php',125,90,'menubar=no,scrollbars=no,statusbar=no')\"><center>Générateur</center></a></td><td><input type='text' name='Nom' size='37' maxlength='50' value='".$Nom."'></td></tr>";
//Fin Modif Chub
echo "<tr><td colspan='2'>Mot de Passe</td><td><input type='password' name='Pass1' size='37' maxlength='50' /></td></tr>";
echo "<tr><td colspan='2'>Retappez votre Mot de Passe</td><td><input type='password' name='Pass2' size='37' maxlength='50' /></td></tr>";
echo "<tr><td colspan='2'>Email</td><td><input type='text' name='Email' size='37' maxlength='80' value='".$Email."' /></td></tr>";
echo "<tr><td>Race choisie</td><td rowspan='3'><center><a href='rcs.php'>RCS</a></center></td><td><select name='Race'>";
$toto = array_values($liste_race_inscri);
for($i=0;$i<count($liste_race_inscri);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Race){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
//Modif Chub
echo "<tr><td>Classe</td><td><select name='Classe'>";
$toto = array_values($liste_classe);
for($i=0;$i<count($liste_classe);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Classe){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
echo "<tr><td>Sexe</td><td><select name='Sexe'>";
$toto = array_values($liste_sexe);
for($i=0;$i<count($liste_sexe);$i++){
echo "<option value='".$toto[$i]."'";
if($toto[$i] == $Sexe){ echo " selected='selected'";}
echo ">".$toto[$i]."</option>\n";
}
echo "</select></td></tr>";
echo "<tr><td colspan='3'><center>Description du <b>personnage</b></center>(Ne soyez ni trop précis ni trop evasif) (Environ 5 à 7 lignes)</td></tr>";
//Fin Modif Chub
echo "<tr><td colspan='3'><textarea name='Desc' cols='50' rows='10'>".$Desc."</textarea></td></tr>";
//Modif Chub
echo "<tr><td colspan='3'><center>Background du <b>personnage</b></center>Ne vous prenez pas pour Hercule, vous n'en aurez pas le niveau avant<br>longtemps puis de toute façon, ca sera refusé (Environ 5 lignes)</td></tr>";
echo "<tr><td colspan='3'><textarea name='Back' cols='50' rows='10'>".$Back."</textarea></td></tr>";
echo "<tr><td colspan='3'><center>L'inscription est aussi éffectué auprès de la <b>newsletter.</b><br>Toute case non rempli correctement est signe de <b>refus automatique.<b><br><br>";
//echo "<input type='submit' value='Inscrire'>";
echo "<a href='inscription.php'><img src='logo/inscrire.PNG' border='0' alt='Pas d inscription pour le moment' title='Pas d inscription pour le moment' /></a>";
echo "<br><br></td></tr>";
//Fin Modif Chub
echo "</table>";
echo "<input type='hidden' name='etape' value='1' />";
//Modif Chub
echo "</center>";
//Fin Modif Chub
echo "</form></div>";
}
echo "<input type='hidden' name='etape' value='2'></form>";
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
if(!isset($_POST['etape']))
{
$SQL = 'SELECT COUNT(ID_Question) FROM '.NOM_TABLE_QCM;
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
{
$ctQCM = mysql_result($result, 0);
if ($ctQCM >= COUNT_QCM)
{
if (!isset($repList)) // Si erreur dans QCM, reprendre les même questions
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM;
if ($idx > 0)
{
$SQL .= ' WHERE ID_QUESTION NOT IN(';
for($idxID = 0; $idxID < count($QCMList); $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $QCMList[$idxID]['ID'];
}
$SQL .= ')';
}
$SQL .= ' LIMIT '.(rand(0, $ctQCM - $idx - 1)).', 1';
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
$QCMList[$idx] = array('ID' => mysql_result($result, 0, 'ID_Question'),
'Question' => mysql_result($result, 0, 'Question'),
'Rep1' => mysql_result($result, 0, 'Reponse1'),
'Rep2' => mysql_result($result, 0, 'Reponse2'),
'Rep3' => mysql_result($result, 0, 'Reponse3'),
'Rep4' => mysql_result($result, 0, 'Reponse4'),
);
}
}
echo '<form action="'.NOM_SCRIPT.'" method="post">'
.'<input type="hidden" name="etape" value="1">';
echo '<table>';
if (isset($repList)) echo '<center><b>Vous n\'avez pas bien répondu toutes les questions.</b></center><br/><br/>';
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
if (!isset($repList))
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$QCMList[$idx]['ID'].'">'
.'<tr><td>'.$QCMList[$idx]['Question'].'</td><br><br>'
.'<td><form2 name="Reponse_QCM'.$idx.'">'
.'<input value="1" type="radio" >'.$QCMList[$idx]['Rep1'].'</input><br>'
.'<input value="2" type="radio" >'.$QCMList[$idx]['Rep2'].'</input><br>'
.'<input value="3" type="radio" >'.$QCMList[$idx]['Rep3'].'</input><br>'
.'<input value="4" type="radio" >'.$QCMList[$idx]['Rep4'].'</input><br>'
.'<br></form2></td><tr>'."\n";//</select>
}
else // reprendre les même question ets conserver les réponse juste
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$_POST['ID_QCM'.$idx].'">'
.'<tr><td><img src="../images/icone.gif"/>'.$repList[$_POST['ID_QCM'.$idx]]['Question'].'</td>'
.'<td><form2 name="Reponse_QCM'.$idx.'">'
.'<input value="0">Sélectionnez une réponse</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 1))
echo '<input value="1" type="radio" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</input>';
else
echo '<input value="1" type="radio" >'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 2))
echo '<input value="2" type="radio" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</input>';
echo '<input value="2" type="radio" ">'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 3))
echo '<input value="3" type="radio" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</input>';
else
echo '<input value="3" type="radio" >'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</input>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 4))
echo '<input value="4" type="radio" checked>'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</input>';
else
echo '<input value="4" type="radio" >'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</input>';
echo '</form2></td><tr>'."\n";
}
}
echo '</table>';
echo '<br><center><input type=submit name="submit" value=Etape></center></form>';
}
}
}
if(!defined("__MENU_SITE.PHP")){include('../main/menu_site.php');}
if(!defined("__FOOTER.PHP")){include('../include/footer.php');}
?>
|
J'ai du mal à voir dans ce gros script d'où peut venir l'erreur car tu me dis tout marche bien apparemment sauf la redirection vers l'étape 2...
Comment tu fais pour afficher ton formulaire car moi quand je lance le script, j'ai une page blanche (donne moi la forme de ton URL)
Et est-ce que pourrais me donner juste la partie de code qu'il y avait avant avec le menu déroulant (donc en gros ce que tu as changé) ???
|
|
|
|  |
|  | |  |
|
Chub
| Inscrit le: 21 Nov 2004 |
| Messages: 63 |
|
|
 |
| Posté le: Dim 23 Jan 2005, 5:26 pm |
|
 |
 |
 |
 |
Voici donc le script original. Une grosse partie manque car c'est l'inscription en elle même.
En ce qui concerne l'affichage blanc, cela est surement dû au header, footer et menu site ( en gros les trois if defined)
<?php
if(!defined("__HEADER.PHP")){include('../include/header.php');}
Define('COUNT_QCM', 3);
if(isset($etape)){
if ($_POST['etape'] == 2)
{
$etape=0;
if(!isset($erreur)){
$Desc = ConvertAsHTML($Desc);
$Nom = ConvertAsHTML($Nom);
$Pass1 = ConvertAsHTML($Pass1);
$Race = ConvertAsHTML($Race);
$Sexe = ConvertAsHTML($Sexe);
echo "Vous serez inscris sous peu, des que les MJs auront traité votre demande";
$SQL = "INSERT INTO ".NOM_TABLE_INSCRIPTION." (Nom,Pass,Email,Race,Sexe,Description) VALUES ('".$Nom."','".$Pass1."','".$Email."','".$Race."','".$Sexe."','".$Desc."')";
executerRequete($SQL);
}
}
//}
//if(!isset($etape)){
if ($_POST['etape'] == 1)
{
$ok_QCM = true; // Vérifier si l'Internaute a répondu à toute les questions
for($idx = 0; ($idx < COUNT_QCM) && $ok_QCM; $idx++)
$ok_QCM = $_POST['Reponse_QCM'.$idx] > 0;
if ($ok_QCM)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM.' WHERE ID_Question IN(';
for($idxID = 0; $idxID < COUNT_QCM; $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $_POST['ID_QCM'.$idxID];
}
$SQL .= ')';
$result = executerRequete($SQL);
if (mysql_num_rows($result) == COUNT_QCM)
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
$repList[mysql_result($result, $idx, 'ID_Question')] = array('Question' => mysql_result($result, $idx, 'Question'),
'Rep1' => mysql_result($result, $idx, 'Reponse1'),
'Rep2' => mysql_result($result, $idx, 'Reponse2'),
'Rep3' => mysql_result($result, $idx, 'Reponse3'),
'Rep4' => mysql_result($result, $idx, 'Reponse4'),
'Bonne' => mysql_result($result, $idx, 'Bonne'));
$okRep = true;
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == $_POST['Reponse_QCM'.$idx]) ? $resultQCM[$idx] = 1 : $resultQCM[$idx] = 0;
if ($okRep) $okRep = $resultQCM[$idx];
}
if ($okRep)
{
if(!isset($Nom)){$Nom='';}
if(!isset($Email)){$Email='';}
if(!isset($Race)){$Race='';}
if(!isset($Sexe)){$Sexe='';}
if(!isset($Desc)){$Desc='';}
echo "FORMULAIRE D'INSCRIPTION";
echo "<input type='hidden' name='etape' value='2'></form>";
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
else
unset($_POST['etape']); // réafficher le QCM
}
}
if(!isset($_POST['etape']))
{
$SQL = 'SELECT COUNT(ID_Question) FROM '.NOM_TABLE_QCM;
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
{
$ctQCM = mysql_result($result, 0);
if ($ctQCM >= COUNT_QCM)
{
if (!isset($repList)) // Si erreur dans QCM, reprendre les même questions
{
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
$SQL = 'SELECT * FROM '.NOM_TABLE_QCM;
if ($idx > 0)
{
$SQL .= ' WHERE ID_QUESTION NOT IN(';
for($idxID = 0; $idxID < count($QCMList); $idxID++)
{
if ($idxID) $SQL .= ', ';
$SQL .= $QCMList[$idxID]['ID'];
}
$SQL .= ')';
}
$SQL .= ' LIMIT '.(rand(0, $ctQCM - $idx - 1)).', 1';
$result = executerRequete($SQL);
if (mysql_num_rows($result) > 0)
$QCMList[$idx] = array('ID' => mysql_result($result, 0, 'ID_Question'),
'Question' => mysql_result($result, 0, 'Question'),
'Rep1' => mysql_result($result, 0, 'Reponse1'),
'Rep2' => mysql_result($result, 0, 'Reponse2'),
'Rep3' => mysql_result($result, 0, 'Reponse3'),
'Rep4' => mysql_result($result, 0, 'Reponse4'),
);
}
}
echo '<form action="'.NOM_SCRIPT.'" method="post">'
.'<input type="hidden" name="etape" value="1">';
echo '<table>';
if (isset($repList)) echo '<center><b>Vous n\'avez pas bien répondu toutes les questions.</b></center><br/><br/>';
for($idx = 0; $idx < COUNT_QCM; $idx++)
{
if (!isset($repList))
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$QCMList[$idx]['ID'].'">'
.'<tr><td>'.$QCMList[$idx]['Question'].'</td>'
.'<td><select name="Reponse_QCM'.$idx.'">'
.'<option value="0">Sélectionnez une réponse</option>'
.'<option value="1">'.$QCMList[$idx]['Rep1'].'</option>'
.'<option value="2">'.$QCMList[$idx]['Rep2'].'</option>'
.'<option value="3">'.$QCMList[$idx]['Rep3'].'</option>'
.'<option value="4">'.$QCMList[$idx]['Rep4'].'</option>'
.'</select><br></td><tr>'."\n";
}
else // reprendre les même question ets conserver les réponse juste
{
echo '<input type="hidden" name="ID_QCM'.$idx.'" value="'.$_POST['ID_QCM'.$idx].'">'
.'<tr><td><img src="../images/icone.gif"/>'.$repList[$_POST['ID_QCM'.$idx]]['Question'].'</td>'
.'<td><select name="Reponse_QCM'.$idx.'">'
.'<option value="0">Sélectionnez une réponse</option>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 1))
echo '<option value="1" selected="selected">'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</option>';
else
echo '<option value="1">'.$repList[$_POST['ID_QCM'.$idx]]['Rep1'].'</option>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 2))
echo '<option value="2" selected="selected">'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</option>';
echo '<option value="2">'.$repList[$_POST['ID_QCM'.$idx]]['Rep2'].'</option>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 3))
echo '<option value="3" selected="selected">'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</option>';
else
echo '<option value="3">'.$repList[$_POST['ID_QCM'.$idx]]['Rep3'].'</option>';
if (($resultQCM[$idx]) && ($repList[$_POST['ID_QCM'.$idx]]['Bonne'] == 4))
echo '<option value="4" selected="selected">'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</option>';
else
echo '<option value="4">'.$repList[$_POST['ID_QCM'.$idx]]['Rep4'].'</option>';
echo '</select></td><tr>'."\n";
}
}
echo '</table>';
echo '<br><center><input type=submit value=Go!></center></form>';
}
}
}
if(!defined("__MENU_SITE.PHP")){include('../main/menu_site.php');}
if(!defined("__FOOTER.PHP")){include('../include/footer.php');}
?> |
|
|
_________________ Que le mal est bon quand le bon est mal.
|
|  |
|  | |  |
|  |
|  | |  |
|
Chub
| Inscrit le: 21 Nov 2004 |
| Messages: 63 |
|
|
 |
| |