Passage de caractère special dans une 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 : Passage de caractère special dans une url

par aqua007 » 22 sept. 2005, 18:17

Merci ;) :merci: c'est GG

par Cyrano » 22 sept. 2005, 17:24

Alors fais urlencode une fois, mais juste après, utilise str_replace("%23", "#", $ton_url) avant de l'utiliser

par aqua007 » 22 sept. 2005, 12:55

Waip, c'est ce que j'avais déjà fait mais ça voulais pas marcher. En faite un urlencode transforme le '#' en '%23' dans le code source de la page mais quand je clique sur le lien c'est '#' qui est donné dans l'url et je peu pas le récuperer :/

Pour l'instant le seul truc que j'ai trouvé c'est de faire 2 urlencode de suite pour transformer le '%23' en '%2523' dans le code source ce qui donne '%23' dans le lien de la page. Quand je recup le '%23' en GET dans ma page appelée et que je l'affiche j'ai bien le caractère '#' à l'écran. Mais a mon avis doit y avoir une autre solution, y'a un truc que je doit pas bien faire :S car 2 urlencode de suite -__-

par Cyrano » 22 sept. 2005, 11:57

Utilise urlencode() pour créer les liens et urldecode() pour récupérer les paramètres.
MAIS : le "#" est particulier dans une url, il signifie le pointage vers une ancre dans la page. Une url du genre www.monsite.com/index.php#rubrique3 va ouvrir la page index et positionner l'ancre "rubrique3" en haut de la fenêtre. Cette ancre peut être soit un attribut name dans une balise <a> soit un attribut "id" dans n'importe quelle balise html. Si donc au milieu de ta page tu as par exemple une balise qui ressemble à <h3 id="rubrique3">3 : le titre de la troisième rubrique</h3>, quand tu ouvrira ta page avec une url comme montré ci-dessus, ce titre <h3> sera la première ligne affichée dans la page et il faudra utiliser la barre de défilement vertical pour voir le haut de la page.

Passage de caractère special dans une url

par aqua007 » 22 sept. 2005, 10:56

Bonjour,

Je bloque sur un truc tout bête là. Passer le caractère '#' dans une url. Quand je fais un GET de la variable, elle est vide quand je passe ce caractère :/ ça marche avec d'autres caractères pourtant (", $ etc..)
Y'a-t-il moyen de le recup ou c'est pas possible ?

Merci.