Nettoyer variable pour URL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Nettoyer variable pour URL

par jpsartre » 11 sept. 2006, 11:39

J'ai compris, merci pour cette information qui m'interesse tout particulièrement en ce moment :D Je m'en vais optimiser quelques pages de ce pas :oops:
Encore merci et à bientôt

par Ryle » 11 sept. 2006, 11:32

Ben par paramètre j'entends les données dynamiques passées dans l'url pour accéder à la page demandée :)

http://.../ma_page.php -> sera bien indexée
http://.../un_mot_cle.php -> sera mieux indexée
http://.../ma_page.php?id=5&lang=fr -> sera indexée de manière correcte (puisque moins de 3 paramètres pour accéder à la page)
http://.../ma_page.php?id=5&lang=fr&region=idf&meteo=pluvieux&recette=repas+pour+trois+personnes&... -> ne sera pas ou mal indexée

par jpsartre » 11 sept. 2006, 10:04

Merci pour les explications, mais qu'entends tu par paramètres :
Quant aux moteurs de recherche, ils n'apprécient que moyennement les paramètres et en tolèrent rarement plus de 3
Merci encore

par Ryle » 10 sept. 2006, 10:24

L'encodage de l'url permet de remplacer les caractères spéciaux par leur valeur héxadécimale précédées d'un % pour pouvoir être transmis via l'url. Les espaces sont remplacés par des plus (+), les retours à la ligne (\r\n) par des %0A%0D, etc.

Ce codage est celui utilisé pour poster des informations dans les formulaires. Si tu envoi un textarea contenant quelques lignes et caractères spéciaux en GET, tu verras la transformation automatique de ceux-ci dans ta barre d'adresse :)

Il n'est donc pas nécessaire d'utiliser de fonction decode quand tu récupères ces valeurs en GET puisque le fonctionnement est le même que pour un champ de formulaire, voici pourquoi tu peux l'utiliser directement.

Quant aux moteurs de recherche, ils n'apprécient que moyennement les paramètres et en tolèrent rarement plus de 3, mais ne poseront normalement pas de problème sur ces caractères encodés :)

par jpsartre » 09 sept. 2006, 23:52

J'avais essayé de voir ça mais là je bloque.
J'encode l'url pour nettoyer l'adresse en voulant la rendre lisible.
<a href="activite.php?id=<?=$Record->id?>&titre=<? echo $titre = urlencode ($Record->nom); ?>">Voir les images</a>
Là, mon URL contient des + qui remplacent des espaces et des %E0 qui remplacent des à. Est-ce normal de voir %E0 et est-ce lisible pour les moteurs?
Et pour la récupérer dans le titre de mon autre page je fais juste :
<? echo $titre; ?>
Et j'ai bien la bonne expression, sans les plus et %E0 alors que je n'ai pourtant pas mis urldecode ().
Si quelqu'un peut m'expliquer un peu parce que je ne comprends pas grand chose à ce qui se passe.

par Truc » 09 sept. 2006, 20:21

urldecode() peut être.... lire la doc :)

par jpsartre » 09 sept. 2006, 17:56

Merci pour l'information.
J'ai essayé de faire ça :
 <a href="activite.php?id=<?=$Record->id?>&titre=<? echo $titre = urlencode ($Record->nom); ?>">Voir les images</a>
J'ai bien la variable dans mon title mais j'ai des problèmes avec le "à"
exemple avec : via feratta à peille
activite.php?id=35&titre=Via+ferrata+%E0+Peille
comme lien.

Si vous pouvez m'aider à trouver le pb,

Merci d'avance

par Truc » 09 sept. 2006, 15:56

Salut,
Jette un oeil à urlencode()

Nettoyer variable pour URL

par jpsartre » 09 sept. 2006, 15:51

Bonjour,

Afin de donner un titre unique (balise TITLE) à mes pages présentant des événements, je récupère le nom de l'événement, le transfère par l'URL, et l'utilise pour ma balise title. Ce nom d'événement comporte des caractères qui ne conviennent pas pour un lien.
J'aimerais savoir comment nettoyer le nom pour l'URL et le garder tel quel pour la balise TITLE.

Si quelqu'un peut me donner des pistes,

Merci