htmlentities et ereg

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

webmasterdemonsite
WRInaute accro
WRInaute accro
 
Messages: 1086
Inscription: Ven Aoû 31, 2007 23:47

htmlentities et ereg

Message le Jeu Déc 25, 2008 20:02

bonjour

j'ai une question toute bête:

si lors d'une saisie de formulaire la chaine $donnee est le caractere " (guillemets) :

apres ceci:

Code: Tout sélectionner
$donnee=htmlentities($_POST['donnee']);


$donnee devient "

mais si apres on fait ceci:

Code: Tout sélectionner
if (ereg ("[\"]", $donnee))
   {
    /* on a trouvé des guillement !!!!!!! */
   }


pourquoi il me detecte des guillement dans " ?

il est où le truc que je pige pas?

un coup de pouce d'un pro du php ?

merci et bon surf sur WRI !

bonne soiree


LiFi
WRInaute passionné
WRInaute passionné
 
Messages: 609
Inscription: Lun Juil 14, 2008 2:24

Message le Jeu Déc 25, 2008 21:08

est-ce que tu as un caractère \ dans $_POST['donnee'] ?

webmasterdemonsite
WRInaute accro
WRInaute accro
 
Messages: 1086
Inscription: Ven Aoû 31, 2007 23:47

Message le Ven Déc 26, 2008 0:12

LiFi a écrit:est-ce que tu as un caractère \ dans $_POST['donnee'] ?


euh... je sais pas, a priori non

je viens de regarder dans l'entete http:

Code: Tout sélectionner
Content-Type: application/x-www-form-urlencoded
Content-Length: 68
etablissement=%22&champs1=&champs2=&champs3=&champs4=


champs1, champs2, champs3, et champs4 sont les 4 champs de mon formulaire

le caractere " est transformé en %22 par je ne sais quel miracle (firefox ?)

merci de ton coup de pouce ;-)

apres ces infos peut tu m'en dire plus stp ? je ne suis pas familié des http header :oops:

a+
bonne soirée !
merci


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12373
Inscription: Dim Aoû 08, 2004 20:24

Message le Ven Déc 26, 2008 22:47

fait un print_r($_POST) pour afficher le contenu de _POST

webmasterdemonsite
WRInaute accro
WRInaute accro
 
Messages: 1086
Inscription: Ven Aoû 31, 2007 23:47

Message le Sam Déc 27, 2008 0:02

Leonick a écrit:fait un print_r($_POST) pour afficher le contenu de _POST


salut

print_r($_POST['donnee']);

me donne:

" (dans le code source)
" (à l'affichage)

comprends toujours pas pourquoi

Code: Tout sélectionner
if (ereg ("["]", $donnee))
   {
    /* on a trouvé des guillement !!!!!!! */
   }


me detecte des guillements....

y a un truc qui m'echape :cry:


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3334
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Déc 27, 2008 10:36

le charset que tu met dans ton <head> c'est coté client, donc c'est ton navigateur qui se charge de faire la transcription

avec ton code tu es coté php donc coté serveur, pour decoder de l'iso tu peux uliser cette fonction php

Code: Tout sélectionner
<?php echo html_entity_decode("&quot;");  ?>

affiche un guillement (")

et au passage il faut oublier les fonctions ereg et utiliser des preg.. et cette syntaxe [\"] c'est bon pour le moteur rewrite, pas celui des pcre, tu dois utiliser !["] ou tout simplement !"

voila ton ptit snipet:

Code: Tout sélectionner
<?php

$donnee ="&quot;";
$donnee = html_entity_decode($donnee);

if ( preg_match('/!"/', $donnee ) )
  echo 'on a trouvé des guillement !!!!!!! ';
  else  echo 'on a PAS trouvé des guillement !!!!!!! ';

?>


te reste plus qu'a adpater ton script :)

webmasterdemonsite
WRInaute accro
WRInaute accro
 
Messages: 1086
Inscription: Ven Aoû 31, 2007 23:47

Message le Dim Déc 28, 2008 18:49

salut

merci KOogar, tu as l'air d'etre una as en php ! j'suis nul comparé à tes connaissances :oops:

merci de ton coup de main

a+


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités