par
Cyrano » 09 août 2005, 19:27
La solution consisterait à remplacer tous les caractères accentués des valeurs envoyées avec un str_replace. On a déjà vu plusieurs fois sur le forum des formules complètes, mais voici une base:
<?php
function sansaccent($chaine)
{
$accents = array("à","ä","é","è","ë","ï","ö","ù");
$sans = array("a","e","e","e","e","i","o","u");
$retour = str_replace($accents, $sans, $chaine);
return $retour;
}
?>
Applique ça aux valeurs envoyées vers la base de données.
Si les valeurs contenues dans la base comportent des accents, récupères-les sur la base du mot de passe, traite-les avec la même fonction et fais ensuite ta comparaison.
J'ajouterai pour l'avenir: traite toute nouvelle entrée avec la fonction pour n'enregistrer que des données non accentuées et le problème sera réglé.
La solution consisterait à remplacer tous les caractères accentués des valeurs envoyées avec un str_replace. On a déjà vu plusieurs fois sur le forum des formules complètes, mais voici une base:
[php]<?php
function sansaccent($chaine)
{
$accents = array("à","ä","é","è","ë","ï","ö","ù");
$sans = array("a","e","e","e","e","i","o","u");
$retour = str_replace($accents, $sans, $chaine);
return $retour;
}
?>[/php]
Applique ça aux valeurs envoyées vers la base de données.
Si les valeurs contenues dans la base comportent des accents, récupères-les sur la base du mot de passe, traite-les avec la même fonction et fais ensuite ta comparaison.
J'ajouterai pour l'avenir: traite toute nouvelle entrée avec la fonction pour n'enregistrer que des données non accentuées et le problème sera réglé.