Bonjour a tous !
Je vien de m'inscrire sur le forum car j'ai un probleme sur mon code php que je n'arrive pas a comprendre/regler.
Donc voila mon probleme :
J'ai une page ou je reçois les résultats d'un formulaire. Les résultat reçu je souhaite les envoyer a une fonction qui va supprimer tout les caractère spéciaux en les remplaçant pas des caractère simple ex : "é" devient 'e'. Mon problème est que quand j'envoie mes données a ma fonction, ma fonction retourne rien du tout, cependant ma fonction marche correctement. Je vais vous mettre un bout de code pour vous expliquer plus clairement :
je vous met ici le code de ma fonction filter :
Donc je ne comprend pas pourquoi ma fonction ne marche pas lorsque je lui envoie des variable issu d'un formulaire mais que tout fonctionne correctement lorsque je déclare une variable et l'envoie a ma fonction. Si une personne sait d'où viens le problème sa serait sympa de m'aider car sa fait un moment que je galère
(j'espère avoir été clair)
Je vien de m'inscrire sur le forum car j'ai un probleme sur mon code php que je n'arrive pas a comprendre/regler.
Donc voila mon probleme :
J'ai une page ou je reçois les résultats d'un formulaire. Les résultat reçu je souhaite les envoyer a une fonction qui va supprimer tout les caractère spéciaux en les remplaçant pas des caractère simple ex : "é" devient 'e'. Mon problème est que quand j'envoie mes données a ma fonction, ma fonction retourne rien du tout, cependant ma fonction marche correctement. Je vais vous mettre un bout de code pour vous expliquer plus clairement :
<?php
require 'Cv.class.php';
require 'CvManager.class.php';
$db = new PDO('mysql:host=localhost;dbname=test', '*******', '****');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$cvmanager = new CvManager($db);
echo $_POST['prenom']; // affiche 'ééé';
echo $_POST['nom']; // affiche 'ààà';
$toto = 'ééééàéàààààà';
echo $toto // Affiche des case noir avec des point d'interrogation comme si il y a un problème d'encodage.
echo $cvmanager->filter($_POST['prenom']); // j'envoie a ma fonction et j'affiche le résultat. Or rien ne s'affiche
echo $cvmanager->filter($_POST['nom']); // j'envoie a ma fonction et j'affiche le résultat. Or rien ne 'affiche
echo $cvmanager->filter($toto); // Et alors la j'envoie ma variable $toto a la fonction et l'echo m'affiche 'eeeeaeaaaaaa';
?>
je vous met ici le code de ma fonction filter :
public function filter($in)
{
$in = strtolower($in);
$search = array('@[éèêë]@i','@[àâä]@i','@[îï]@i','@[ûùü]@i','@[ôö]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
$replace = array ('e','a','i','u','o','c','_','');
return preg_replace($search, $replace, $in);
}
Donc je ne comprend pas pourquoi ma fonction ne marche pas lorsque je lui envoie des variable issu d'un formulaire mais que tout fonctionne correctement lorsque je déclare une variable et l'envoie a ma fonction. Si une personne sait d'où viens le problème sa serait sympa de m'aider car sa fait un moment que je galère
