[PHP] caractère spéciaux dans url
Résolu/Fermé
ZooX
-
27 nov. 2009 à 18:01
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 28 nov. 2009 à 14:25
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 28 nov. 2009 à 14:25
A voir également:
- [PHP] caractère spéciaux dans url
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère ascii - Guide
- Caractere speciaux mac - Guide
- Lien url - Guide
9 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
27 nov. 2009 à 20:55
27 nov. 2009 à 20:55
Lorsque tu fais un echo, il suffit d'utiliser url_encode :
<a href="image.php?var=<?php echo url_encode($donnees['titre']); ?>">LIEN</a>Puis sur la page image.php, il faudra utiliser url_decode :
<?php $var = url_decode($_GET['var']); ... ?>
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
27 nov. 2009 à 21:39
27 nov. 2009 à 21:39
Je me suis trompé, il ne faut pas les underscores (_) donc c'est urlencode et urldecode
ok,
mais cette fonction n'a fait que ajouter des + a la pace des espaces . Les accent sont toujours traduit par des %E0 ou autres .
Et lorsque le nom de l'image contient un apostrophe , il est traduit par : \' , et dans ce cas la base de donnée n'arrive pas a reconnaitre de quel image il s'agit .
Merci de m'aider
mais cette fonction n'a fait que ajouter des + a la pace des espaces . Les accent sont toujours traduit par des %E0 ou autres .
Et lorsque le nom de l'image contient un apostrophe , il est traduit par : \' , et dans ce cas la base de donnée n'arrive pas a reconnaitre de quel image il s'agit .
Merci de m'aider
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
27 nov. 2009 à 22:22
27 nov. 2009 à 22:22
Ça c'est à cause des magic_quotes.
Je te conseil d'inclure dans chaque page un fichier contenant ce code :
Je te conseil d'inclure dans chaque page un fichier contenant ce code :
<?php if(get_magic_quotes_gpc()) { $_POST = array_map('stripslashes', $_POST); $_GET = array_map('stripslashes', $_GET); $_COOKIE = array_map('stripslashes', $_COOKIE); } ?>Penses bien à utiliser addslashes ou les requêtes préparées pour inserer une entrée ou pour mettre à jour la table.
meme avec le code que tu m'a passé, il y a toujours le meme probleme.
J'ai trouvé ce code sur CCM, mais je ne sais pas comment l'adapté a mes besoin, et es-ce qu'il marcherait ? :
J'ai trouvé ce code sur CCM, mais je ne sais pas comment l'adapté a mes besoin, et es-ce qu'il marcherait ? :
$url = str_replace ( ' ' , '%20' , $url ); $url = str_replace ( 'é' , '%c3%a9' , $url ); $url = str_replace ( 'è' , '%C3%A8' , $url ); $url = str_replace ( 'à' , '%C3%A0' , $url );
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
27 nov. 2009 à 23:22
27 nov. 2009 à 23:22
Pourquoi ne pas tout simplement nommé tes images correctement avec que des lettres, des chiffres, des tirets, des underscores ("tirets bas") et des points ?
Tu peux aussi ajouter un champ "url" dans ta table qui contient le nom de l'image transformé grâce à cette fonction.
Tu peux aussi ajouter un champ "url" dans ta table qui contient le nom de l'image transformé grâce à cette fonction.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
28 nov. 2009 à 14:25
28 nov. 2009 à 14:25
Penses à cocher le bouton "Résolu" la prochaine fois !