par
Zahnzao » 02 oct. 2009, 12:06
Non pas de \ dans la chaine récupérée. J'ai quand même testé et ca ne change rien.
pour expliquer plus clairement.
Le champ apercu était créer dynamiquement par un script javascript. c'était en fait la concaténation de 8 champs. Pensant que ca venait de la, j'ai un peu modofié mon script de manière a concaténer les champs en php sans récuperer le champ apercu.
if(isset($_POST['submit']))
{
$chaine=$_POST['mot1'].$_POST['ponctuation1']." ".$_POST['mot2'].$_POST['ponctuation2']." ".$_POST['mot3'].$_POST['ponctuation3']." ".$_POST['mot4'].$_POST['ponctuation4'];
echo $chaine;
if(preg_match("#^[a-zA-Zàçèéê ',.:-]{9,70}$#",$chaine))
{
echo"<p>Les champs sont bien remplis.</p>";
}
else
{
echo"<p>Les champs sont mal remplis.</p>";
}
}
De cette manière, les données envoyées sont écrite manuellement et non issues de variables Javascript.
Mais malheureusement ca ne change rien. Il refuse systématiquement tout mes (à ç è é ê).
edit: mon echo renvoie exactement la chaine telle quelle, c'est la que je comprend pas ... je suis perdu. Et ma regex passe sans problemes sur plusieurs testeurs en ligne dispo sur le net ...
Non pas de \ dans la chaine récupérée. J'ai quand même testé et ca ne change rien.
pour expliquer plus clairement.
Le champ apercu était créer dynamiquement par un script javascript. c'était en fait la concaténation de 8 champs. Pensant que ca venait de la, j'ai un peu modofié mon script de manière a concaténer les champs en php sans récuperer le champ apercu.
[php]if(isset($_POST['submit']))
{
$chaine=$_POST['mot1'].$_POST['ponctuation1']." ".$_POST['mot2'].$_POST['ponctuation2']." ".$_POST['mot3'].$_POST['ponctuation3']." ".$_POST['mot4'].$_POST['ponctuation4'];
echo $chaine;
if(preg_match("#^[a-zA-Zàçèéê ',.:-]{9,70}$#",$chaine))
{
echo"<p>Les champs sont bien remplis.</p>";
}
else
{
echo"<p>Les champs sont mal remplis.</p>";
}
}[/php]
De cette manière, les données envoyées sont écrite manuellement et non issues de variables Javascript.
Mais malheureusement ca ne change rien. Il refuse systématiquement tout mes (à ç è é ê).
edit: mon echo renvoie exactement la chaine telle quelle, c'est la que je comprend pas ... je suis perdu. Et ma regex passe sans problemes sur plusieurs testeurs en ligne dispo sur le net ...