Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Accents et majuscules et PHP

kiocubic, le jeudi 7 août 2008 à 20:23:46
Bonjour à tous et à toutes!

Donc j'ai un quiz en PHP.

Les gens doivent écrire leur réponse dans un textarea qui serait traité dans une base de données MYSQL.

Le problème est le suivant : Lorsque l'on écrit une réponse avec soit un accent ou une majuscule mal placé, eh bien cela résulte en une mauvaise réponse!
j'ai fait des recherche concernant ce problème sur le forum mais je ne sais pas comment l'inséré dans mon code pour que cela fonctionne !
question.php

<?php
session_start();
if($_SESSION['s_logged_n'] == 'true'){
include 'process.php';
?>
<?php
session_start();
include 'config.php';

if (isset($_POST['id_questionnaire']) and !isset($_SESSION['id_questionnaire']))
{
	$query = "SELECT * FROM yoxi_quest WHERE id=".$_POST['id_questionnaire'];
	$result = mysql_query($query) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
	$questionnaire = mysql_fetch_array($result, MYSQL_ASSOC);

	$_SESSION['id_questionnaire'] = $questionnaire['id'];
	$_SESSION['title_questionnaire'] = $questionnaire['quest_name'];
	$_SESSION['questions'] = array();
	$_SESSION['mark'] = 0;
	//$_SESSION['nb_questionnaire'] = $questionnaire['NbQuestions'];
}

if (isset($_SESSION['id_questionnaire']))
{
	if(sizeof($_SESSION['questions']) < 8)
	{
		$except = "";
		if (sizeof($_SESSION['questions']) > 0)
		{
			$except = "AND id NOT IN (";
			$i = 0;
			for ($i ; $i<sizeof($_SESSION['questions'])-1 ; $i++)
				$except .= $_SESSION['questions'][$i].", ";
			$except .= $_SESSION['questions'][$i].") ";
		}
		
		$query = "SELECT * FROM yoxi_survey WHERE id_quest=".$_SESSION['id_questionnaire']." ".$except."ORDER BY RAND() LIMIT 1";
		$result = mysql_query($query) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
		$question = mysql_fetch_array($result, MYSQL_ASSOC);
		
		$_SESSION['questions'][] = $question['id'];
		
		$title = "Yoxi - Questionnaires : ".$_SESSION['title_questionnaire'];
		$head = "Questionnaire : ".$_SESSION['title_questionnaire'];
		$main = "<div>Question ".sizeof($_SESSION['questions'])."/10 :<br />".$question['question']."</div>
				<textarea id='answer' cols='48' rows='4' onkeyup=\"javascript: test();\" value="echo htmlEntities($reponse);"></textarea>
				<br /><br />
				<span id='result'></span>
				<button id='reset' class='textBox' onclick=\"javascript: document.getElementById('answer').value='';\">Effacer</button>
				<button id='continue' class='textBox' disabled='disabled' onclick=\"javascript: submitAnswer('".$question['id']."');\">Soumettre</button>
				<br /><br /><br /><br />Vous avez actuellement : ".$_SESSION['mark']." sur 100";
	}
	else
	{
		$query = "SELECT * FROM scores WHERE id_quest=".$_SESSION['id_questionnaire']." AND id_user=".$_SESSION['s_id'];
		$result = mysql_query($query) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
		if (mysql_num_rows($result) == 1)
		{
			$score = mysql_fetch_array($result, MYSQL_ASSOC);
			$query = "UPDATE scores SET mark=".$_SESSION['mark']." WHERE id_score=".$score['id_score'];
		}
		else
			$query = "INSERT INTO scores VALUES ('', ".$_SESSION['id_questionnaire'].", ".$_SESSION['s_id'].", ".$_SESSION['mark'].")";
		$result = mysql_query($query) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
		
		$title = "Yoxi - Résultats : ".$_SESSION['title_questionnaire'];
		$head = "Résultat : ".$_SESSION['title_questionnaire'];
		$main = "Vous avez eu ".$_SESSION['mark']."/100,";
		if ($_SESSION['mark'] >= 80)
			$main .= " Vous avez réussi le questionnaire.";
		else
			$main .= "Vous n'avez pas réussi le questionnaire.";
		$main .= "Cliquez <a href='questions.php'>ici</a> pour continuer.";
		
		unset($_SESSION['id_questionnaire']);
		unset($_SESSION['questions']);
		unset($_SESSION['mark']);
	}
}
else
{
	$query = "SELECT * FROM yoxi_quest";
	$result = mysql_query($query) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
	if (mysql_num_rows($result) > 0)
	{
		$title = "Yoxi - Questionnaires";
		$head = "Listes des Questionnaires";
		$main = "<form id='formulary' action='questions.php' method='POST'>
				<input type='hidden' id='questionnaire' name='id_questionnaire' />
				</form>";
		while ($questionnaires = mysql_fetch_array($result, MYSQL_ASSOC))
		{
			$pass = "";
			
			$query_score = "SELECT * FROM scores WHERE id_quest=".$questionnaires['id']." AND id_user=".$_SESSION['s_id'];
			$result_score = mysql_query($query_score) or die("Erreur dans le fichier: ".__FILE__." à la ligne: ".__LINE__.", erreur : ".mysql_error());
			if (mysql_num_rows($result_score) > 0)
			{
				$score = mysql_fetch_array($result_score, MYSQL_ASSOC);
				if ($score['mark'] > 80)
					$pass = "&nbsp;&nbsp;<span style='color:green;'>réussi : ".$score['mark']."/100</span>";
				else
					$pass = "&nbsp;&nbsp;<span style='color:red;'>non réussi : ".$score['mark']."/100</span>";
			}
			
			$main .= "<p><a href='#' onclick=\"javascript: submitForm('".$questionnaires['id']."')\">".$questionnaires['quest_name']."</a>".$pass."</p>";
		}
	}
	else
	{
		$title = "Yoxi - Questionnaire non trouve";
		$head = "Questionnaire non trouve";
		$main = "Questionnaire non trouve.";
	}
}
?>

	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
	<html>
	<head>
	<title><?php echo $title; ?></title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<script type='text/javascript' src='Js/functions.js'></script>
	<style type="text/css">
<!--
body {
	background-image: url(images/bg.jpg);
	background-repeat: repeat-x;
	margin-top: 50px;
}
-->
</style>
	<link href="untitled.css" rel="stylesheet" type="text/css">
	</head>

	
<body bgcolor="#FFFFFF" leftmargin="0" marginwidth="0">
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
      <tr>
        <td width="24%"><img src="images/question_03.jpg" width="115" height="64" alt=""></td>
        <td width="32%">&nbsp;</td>
        <td width="40%" bgcolor="#FFFFFF"><div id="menutext" align="right">
            <?php if ($_SESSION['s_questionnaires'] < 0)
		$nbDevoirs = "<p>Il vous reste ".$_SESSION['s_questionnaires']." devoirs.</p>";
	else
		$nbDevoirs = "Vous avez fait tous les devoirs.<br>";
		echo 'Bienvenue '.$_SESSION['s_name'].'!<br>
			  IP connect&eacute;e :  '.$_SERVER['REMOTE_ADDR'].'<br>'.$nbDevoirs ?>
        </div></td>
        <td width="4%"><img src="images/question_06.jpg" width="29" height="64" alt=""></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td><table width="47%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="19%"><img src="images/question_08.jpg" width="259" height="41" alt=""></td>
        <td width="81%"><img src="images/question_09.jpg" width="397" height="46" alt=""></td>
      </tr>
      <tr>
        <td><img src="images/question_10.jpg" width="259" height="20" alt=""></td>
        <td><img src="images/question_11.jpg" width="397" height="20" alt=""></td>
      </tr>
      <tr>
        <td valign="top" background="images/question_10.jpg">
<div class="table">
	 <a href="etudiants.php">Retourner à l'accueil</a><br>
	<a href="logout.php">Me déconnecter</a>
</div>
</td>
        <td background="images/question_11.jpg"><div id="content"><?php echo $head; ?><br><br><?php echo $main; ?></div>
        </td>
      </tr>
      <tr>
        <td><img src="images/question_14.jpg" width="259" height="46" alt=""></td>
        <td><img src="images/question_15.jpg" width="397" height="46" alt=""></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
	</html>
<?php
mysql_close($l);
?>
<?php
} else {
	/*echo $_SESSION['s_logged_n'].'b';
	echo $_SESSION['s_username'].'c';
	echo $_SESSION['s_name'].'d';*/
	header("Location: login.php");
}
?>


checkanswer.php
<?php
session_start();
include("../config.php");
include("../functions.php");

$query = "SELECT * FROM answers WHERE id_question=".$_POST['question'];
$result = mysql_query($query);
if (mysql_num_rows($result) > 0)
{
	$score = "false";
	while ($answer = mysql_fetch_array($result, MYSQL_ASSOC))
	{
		if (removeAccents($answer['text']) == removeAccents($_POST['answer']))
		{
			$_SESSION['mark'] += 10;
			$score = "true";
			break;
		}
	}
	echo $score;
}
else
	echo "false";

mysql_close($l);
?>


Désolé pour la longueur des codes !

Merci d'avance !

kiocubic
Configuration: Mac OS X
Safari 523.12.2
Répondre à kiocubic  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 gryzzly, le jeudi 7 août 2008 à 20:45:39
Salut,

J'ai pas envie de lire ton code ...

Mais :

1) remplacer les caractères accentués par les caractères non accentués :
php : preg_replace()

2) probleme de majuscule :
fonctions de modification de casse
ou
charset CaseInsensible (ci) dites les gens ... google, ça vous dit rien ?
Répondre à gryzzly

Résultats pour Accents et majuscules et PHP

Supprimer les accents avec PHP Pour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function... www.commentcamarche.net/faq/sujet-8063-supprimer-les-accents-avec-php
Google - Minuscules, majuscules, accents, pluriels Google ne tient pas compte de la casse des caractères. Donc que vous utilisiez des majuscules, des minuscules ou les 2 mélangées vous obtiendrez les mêmes résultats. Google ne tient pas compte des accents, cédilles, tildes espagnols… Ainsi, une... www.commentcamarche.net/faq/sujet-798-google-minuscules-majuscules-accents-pluriels
Accents sur Majuscules? (Résolu) Qui saurait me dire comment mettre des accents sur les majuscules? ça doit être tout con, mais quand on sait pas, on cherche! www.commentcamarche.net/forum/affich-1242520-accents-sur-majuscules

Résultats pour Accents et majuscules et PHP

[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
Installation rapide de LAMP (Apache+MySql+php) sous LinuxLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL... www.commentcamarche.net/faq/sujet-7971-installation-rapide-de-lamp-apache-mysql-php-sous-linux

Résultats pour Accents et majuscules et PHP

Mail() php probléme d'accent dans sujet (Résolu)Bonjour, J'ai un problème (souvent évoqué I Know!) J'envoi un mail (en php) dont les éléments sont importé depuis une base postgresql. Le corps du message (qui contient des caractères accentués) est correct a la reception de e-mail. Mais le... www.commentcamarche.net/forum/affich-7033714-mail-php-probleme-d-accent-dans-sujet
Carré a la place des lettres avec accents (Résolu)Bonjour, J'ai deux problèmes, dans ma page de mon site (http://www.cinememorial.com/Film.php?id=4) il y a des carrés a la place des lettres accentués, mais juste sur explorer, sur firefox c'est clair ?? Et mon second problèmes c'est... www.commentcamarche.net/forum/affich-4172925-carre-a-la-place-des-lettres-avec-accents
E accent aigu majuscule (Résolu)Bonjour, je dois écrire des mails pour la bonne année de ce soir donc je m'avance en les écrivants maintenant mais je ne trouve pas la touche accent aigu sur mon clavier. y-en a t'il une? merci pour vos reponses bonnes fetes a toutes et tous www.commentcamarche.net/forum/affich-4478980-e-accent-aigu-majuscule

Résultats pour Accents et majuscules et PHP

Télécharger PHP EditPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des... www.commentcamarche.net/telecharger/telecharger-62-php-edit

Résultats pour Accents et majuscules et PHP

Introduction à l'implantation du code PhpL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et... www.commentcamarche.net/contents/php/phpimplant.php3
PHP - Introduction à la programmation avec PHPQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La... www.commentcamarche.net/contents/php/phpintro.php3
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3