8797 sujets

Développement web côté serveur, CMS

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 :

<?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 Smiley decu (j'espère avoir été clair)
Bon déjà il y a du mieux, quand je fait comme cela je return bien un chaine de caractère cependant les caractère spéciaux ne sont pas changer. Il y a uniquement les majuscule qui sont transformée en minuscule.