par
d0m » 07 mars 2008, 09:52
Code : Tout sélectionner
if (strtolower(strtr($_POST['reponse'],"éè","ee") == 'element' )) header('Location: element.php');
Ton problème semble être que tu essaies de bricoler des choses sans vraiment assez réfléchir à ce que tu fais.
Avant de coder, écris textuellement ce que tu veux faire :
Tu as une chaine qui fait office de réponse entrée par l'utilisateur qui peut contenir des accents et des majuscule. Toi tu veux tout en minuscule sans accents.
1ère étape : remplacer les caractères accentués de la réponse par les mêmes caractères sans accent. Ça donne une chaine2
2ème étape : mettre la chaine2 en minuscule. Ça donne la chaine 3.
3ème étape : comparer la chaine 3 à la bonne réponse.
Si tu as du mal, avant de faire tout en une ligne fait le en plusieurs :
<?php
if (isset($_POST['reponse'])) {
$chaine2 = strtr($_POST['reponse'],"éè","ee");
$chaine3 = strtolower($chaine2)
if ($chaine3 == 'element' )
header('Location: element.php');
else
header('Location: test.php');
}
?>
Ensuite, pour faire tout en une ligne, il te suffit de remplacer dans la ligne
if ($chaine3 == 'element' )
$chaine3 par son égalité, de même dans
$chaine3 avec
$chaine2...
[quote][code]if (strtolower(strtr($_POST['reponse'],"éè","ee") == 'element' )) header('Location: element.php');[/code][/quote]
Ton problème semble être que tu essaies de bricoler des choses sans vraiment assez réfléchir à ce que tu fais.
Avant de coder, écris textuellement ce que tu veux faire :
Tu as une chaine qui fait office de réponse entrée par l'utilisateur qui peut contenir des accents et des majuscule. Toi tu veux tout en minuscule sans accents.
[b]1ère étape : [/b] remplacer les caractères accentués de la réponse par les mêmes caractères sans accent. Ça donne une chaine2
[b]2ème étape : [/b] mettre la chaine2 en minuscule. Ça donne la chaine 3.
[b]3ème étape : [/b] comparer la chaine 3 à la bonne réponse.
Si tu as du mal, avant de faire tout en une ligne fait le en plusieurs :
[php]
<?php
if (isset($_POST['reponse'])) {
$chaine2 = strtr($_POST['reponse'],"éè","ee");
$chaine3 = strtolower($chaine2)
if ($chaine3 == 'element' )
header('Location: element.php');
else
header('Location: test.php');
}
?>
[/php]
Ensuite, pour faire tout en une ligne, il te suffit de remplacer dans la ligne [php] if ($chaine3 == 'element' )[/php]
[b]$chaine3[/b] par son égalité, de même dans [b]$chaine3 [/b]avec [b]$chaine2[/b]...