surfeurdu33

  • Site web
  • Nombre de sujets
    52
  • Nombre de messages
    105
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
surfeurdu33
Bonjour,

Voilà plusieurs mois que je cherche à créer un QCM pour mon site.

J'ai suivi plusieurs tutos, regardé les forums etc... mais rien y fait je reste toujours bloqué.

Voila mon code :

<form method="post" id="qcm" action="<?php echo $_SERVER['REQUEST_URI'];?>">

<?php
$num_question = 1;
include('include/cnx_mysql.php');
$sql = 'SELECT * FROM qcm ORDER BY id ASC limit 0,10';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_assoc($req)) {
$num_rep = $data['num_rep'];
echo '<p class="question_qcm">'.$num_question.') '.$data['question'].'</p>';
?>

<br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep1" /><?php echo $data['rep1'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep2" /><?php echo $data['rep2'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep3" /><?php echo $data['rep3'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep4" /><?php echo $data['rep4'];?></li>

</ul>
</p>
</div>
<?php
$num_question++;
;}
?>

<input class="send" type="submit" value="Résultat" /><br />

</form>


Les question sont dans la base de données.

Elle est faite comme ceci :

Ma BDD QCM

Quand je consulte la source d'un fichier html le résultat donne ceci :

<form method="post" id="qcm" action="/jsp33127/qcm.html">

<p class="question_qcm">1) Combien font 11x2 ?</p><br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest1" value="rep1" />21</li>
<li><input type="radio" name="quest1" value="rep2" />13</li>
<li><input type="radio" name="quest1" value="rep3" />22</li>
<li><input type="radio" name="quest1" value="rep4" />44</li>

</ul>
</p>
</div>
<p class="question_qcm">2) Combien font 152-84 ?</p><br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest3" value="rep1" />75</li>
<li><input type="radio" name="quest3" value="rep2" />68</li>
<li><input type="radio" name="quest3" value="rep3" />56</li>
<li><input type="radio" name="quest3" value="rep4" />61</li>

</ul>
</p>
</div>

<input class="send" type="submit" value="Résultat" /><br />

</form>


Mon problème est que je ne sais pas comment vérifier si la réponse est bonne en fonction du numéro de la question.
Car le input ne va poster que le numéro de la réponse et pas le numéro de la question.

Je pensais m'orienter vers ceci pour chacune des réponses possible :

<?php
if (isset($_POST['quest1']))
{
if ($_POST['quest1'] == "rep1")
{
// la réponse est juste
}
else
{
// la réponse est fausse
}
}
?>


Ma question est :

Comment savoir qu'il s'agit de la question 1 et donc pouvoir mettre le bon $_POST['quest??']

J'espère avoir était précis dans mes explications.

Merci d'avance si quelqu'un pouvait me sortir de cette galère :( .
surfeurdu33
Bonsoir à tous,

Je suis en train d'essayer de mettre en place un petit moteur de recherche pour mon blog.

J'ai utilisé l'un des tutos dispo ici et le moteur de recherche fonctionne très bien.
Mais il fonctionne quand la requète ne contient pas d'accents.

Exemple : si je recherche "maison" il va me trouver les articles correspondants sans problème.

Par contre si je recherche le mot "période" il me trouvera bien les articles contenant "période" mais j'aimerai aussi qu'il me trouve les articles avec le mot "periode".

Et inversement bien sur.

Voiçi le code :

<?php
if(isset($_POST['requete']) && $_POST['requete'] != NULL)
{
include('include/cnx_mysql.php');
$requete = htmlentities($_POST['requete'], ENT_QUOTES);

$query = mysql_query("SELECT * FROM blog WHERE body LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)
{

?>
<h3>Résultats de votre recherche.</h3>
<p>Nous avons trouvé <?php echo $nb_resultats;
if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; }
?>
dans notre base de données. Voici les fonctions que nous avons trouvé :<br/>
<br/>
<?php
while($donnees = mysql_fetch_array($query))
{
?>
<a href="fonction.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['head']; ?></a><br/>
<?php
}
?><br/>
<br/>
<a href="test.html">Faire une nouvelle recherche</a></p>
<?php
}
else
{
?>
<h3>Pas de résultats</h3>
<p>Nous n'avons trouvé aucun résultats pour votre requête "<?php echo $_POST['requete']; ?>". <a href="test.html">Réessayez</a> avec autre chose.</p>
<?php
}
mysql_close();
}
else
{
?>
<p>Rechercher dans le blog</p>
<form action="<?phpphp $_SERVER['PHP_SELF'] ?>" method="Post">
<input type="text" name="requete" size="10">
<input type="submit" value="Ok">
</form>
<?php
}

?>


Les données dans ma base de données sont stockés avec des caractères du genre &eacute; &agrave;.

Les interclassements des tables sont en "latin1_swedish_ci" et mes pages en ISO-8859-1.

Est-ce que quelqu'un pourrait me donner quelques astuces ou pistes ?

Faut-il stocker les mots directement avec des accents dans la base de données ?

Ou faut-il faire comme je le fais faire un htmlentities avant de les insérer dans la base de données.

Le problème après avec le htmlentities, c'est que si je dois faire des recherches avec LIKE , si j'ai des données de type : &eacute dedans il ne me trouvera jamais de résultats le moteur de recherche.

J'espère être clair, et merci d'avance si vous pouvez m'aider.
surfeurdu33
Bonjour,

Je viens de m'appercevoir que sur un de mes anciens sites des pages html on étaient crées à la racine du site.
Je n'ai jamais fais ces pages. Et elles ressemblent énormément à des pages de types phishing. (le site est hébergé par Free)

Comment quelqu'un a-t-t-il pu faire ca ?

Mon mot de passe est sécurisé et de plus je le change régulièrement.
Ensuite, j'utilise des htmlentities pour tous les formulaires.

Je ne vois pas où est-ce que j'ai pu laisser une faille.

Si quelqu'un a des pistes à me donner ?

Ses derniers messages sur les forums

forum
surfeurdu33
Arff je ne connais pas cette fonction, et j'viens de regarder le manuel qui ne m'a pas trop avancé.

Tu aurais un exemple de ce que réalise cette fonction ?

Que j'observe à quoi elle sert et comment m'en servir ?
surfeurdu33
Bonjour,

Voilà plusieurs mois que je cherche à créer un QCM pour mon site.

J'ai suivi plusieurs tutos, regardé les forums etc... mais rien y fait je reste toujours bloqué.

Voila mon code :

<form method="post" id="qcm" action="<?php echo $_SERVER['REQUEST_URI'];?>">

<?php
$num_question = 1;
include('include/cnx_mysql.php');
$sql = 'SELECT * FROM qcm ORDER BY id ASC limit 0,10';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_assoc($req)) {
$num_rep = $data['num_rep'];
echo '<p class="question_qcm">'.$num_question.') '.$data['question'].'</p>';
?>

<br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep1" /><?php echo $data['rep1'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep2" /><?php echo $data['rep2'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep3" /><?php echo $data['rep3'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep4" /><?php echo $data['rep4'];?></li>

</ul>
</p>
</div>
<?php
$num_question++;
;}
?>

<input class="send" type="submit" value="Résultat" /><br />

</form>


Les question sont dans la base de données.

Elle est faite comme ceci :

Ma BDD QCM

Quand je consulte la source d'un fichier html le résultat donne ceci :

<form method="post" id="qcm" action="/jsp33127/qcm.html">

<p class="question_qcm">1) Combien font 11x2 ?</p><br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest1" value="rep1" />21</li>
<li><input type="radio" name="quest1" value="rep2" />13</li>
<li><input type="radio" name="quest1" value="rep3" />22</li>
<li><input type="radio" name="quest1" value="rep4" />44</li>

</ul>
</p>
</div>
<p class="question_qcm">2) Combien font 152-84 ?</p><br />

<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>

<li><input type="radio" name="quest3" value="rep1" />75</li>
<li><input type="radio" name="quest3" value="rep2" />68</li>
<li><input type="radio" name="quest3" value="rep3" />56</li>
<li><input type="radio" name="quest3" value="rep4" />61</li>

</ul>
</p>
</div>

<input class="send" type="submit" value="Résultat" /><br />

</form>


Mon problème est que je ne sais pas comment vérifier si la réponse est bonne en fonction du numéro de la question.
Car le input ne va poster que le numéro de la réponse et pas le numéro de la question.

Je pensais m'orienter vers ceci pour chacune des réponses possible :

<?php
if (isset($_POST['quest1']))
{
if ($_POST['quest1'] == "rep1")
{
// la réponse est juste
}
else
{
// la réponse est fausse
}
}
?>


Ma question est :

Comment savoir qu'il s'agit de la question 1 et donc pouvoir mettre le bon $_POST['quest??']

J'espère avoir était précis dans mes explications.

Merci d'avance si quelqu'un pouvait me sortir de cette galère :( .

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours