Ne pas prendre en compte les "

kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012 - 26 oct. 2005 à 22:15
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006 - 27 oct. 2005 à 14:15
bonjour

voila je fait une recherche de type WHERE format LIKE '%$format%'

le pb est que la variable $format contien un " a la fin (7" ou 12" ....) et que
j'aimerai l'enlever lors de la recherche

pouver vous m'orienter svp

merci

14 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
26 oct. 2005 à 22:33
Salut!

Si c'est juste le dernier, je ferais:

$test = 'aaa"';

$len = strlen($test) - 1;

if( $test[$len] == '"' )

$test = substr($test, 0, -1);



echo $test;



Si c'est pour toute la chaîne, je ferais:

$test = str_replace( '"', '', $test );



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
26 oct. 2005 à 22:36
en faite c'est lors d'une recuperation d'une variable d'url

ya t'il une autre solution a ce niveau la ?
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
26 oct. 2005 à 22:46
Comment ca?

La deuxième est plus générale et enlèvera tous les " de ta chaîne



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
26 oct. 2005 à 22:50
ben en faite

quand dans une case d'un formulaire je tape 7"

il interprete correctement et remplace le " par %22 -> je recupere comme ca

if(isset($_GET['textfield']))
$cherche= (get_magic_quotes_gpc()) ? $_GET['textfield'] : addslashes($_GET['textfield']);
else $cherche="";

mais lorsque cela vien d'une variable d'url ?cherche=7" il ne remplace pas

tu comprend
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
26 oct. 2005 à 22:55
Tu peux utiliser la fonction str_replace et les faire remplacer par '%22" au lieu de '' .

Si c'est pas ca que tu veux, j'ai pas compris, désolé.



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
26 oct. 2005 à 22:59
Tu peux aussi l'échaper :



$quotes_escaped = addslashes($with_quotes);
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
26 oct. 2005 à 23:07
if(isset($_GET['format']))
$format = str_replace( '"', '', $format );
else $format="";

je fait ca mais ca marche pas
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
26 oct. 2005 à 23:13
Désolé... j'arrive bien après la battaille avec mon addslashes ;)



Au risque de passer encore pour un lent :

A tu essayé urlencode() ?



Après je ne vous embète plus.. promis
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
26 oct. 2005 à 23:21
je fait ca

if(isset($_GET['format']))
$test= (get_magic_quotes_gpc()) ? $_GET['format'] : addslashes($_GET['format']);
else $test="";
$formatt = urlencode($test);

requete : WHERE format='$formatt'

marche pas
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
27 oct. 2005 à 04:02
<?php

//récupérer la variable
(bien qu'elle ait une drôle de tronche dans l'url, la variable retrouve
son aspect initial dans le script php donc %22 redevien "

$format = ( isset( $_GET['format'])) ? $_GET['format'] : '' ;

// les quotes sont échappées si l'option magic_quotes_gpc est activée, donc on enlève les échappements

$format = (get_magic_quotes_gpc()) ? stripslashes($format) : $format ;



// on utilise la
fonction mysql_real_escape_string() ou son ancienne version
mysql_escape_string() pour échapper les caractères (notamment le ") de la
meilleure façon qui soit pour envoyer une requête ($con_id est la
ressource retournée par mysql_connect() )

$format = ( function_exists( "mysql_real_escape_string")) ? mysql_real_escape_string($format, $con_id) : mysql_escape_string($format);



// on crée la requête

$query "SELECT * FROM ta_table WHERE format '%".$format."%' " ;

//on l'envoi

$result = mysql_query( $query,$con_id);

//tu connais la suite =)

?>



(C'est jolie hein toute cette coloration syntaxique, ça me donne envie de faire une classe d'un coup... Vais-je le faire?)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
27 oct. 2005 à 10:01
Lu,

urlencode() ou urldecode() telle est la question ...


urlencode() => %22

urldecode() => "
<hr>Si ma reponse te convient, merci de l'accepter !
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
27 oct. 2005 à 12:29
oué mais là en l'occurence, ça ne sert à rien de mettre l'un ou l'autre =)
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
27 oct. 2005 à 14:06
bon ya rien qui marche

->mon url : searchformat.php?format=7"&Submit=Envoyer

et je recupere comme ca

$format = (isset($_GET['format'])) ? $_GET['format'] : '' ;
$format = (get_magic_quotes_gpc()) ? stripslashes($format) : $format ;
$format = (function_exists("mysql_real_escape_string")) ? mysql_real_escape_string($format, $roots) : mysql_escape_string($format);

requete

WHERE format = '%".$format."%'
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
27 oct. 2005 à 14:15
Met ça et dis ce que ça fait o.o



//on l'envoi

$result = mysql_query( $query,$con_id) or die(mysql_error());
//tu connais la suite =)

echo($query);
0
Rejoignez-nous