[HTML & PHP] Passage variable en adresse

Passage variable en adresse [HTML & PHP] - PHP - Programmation

Marsh Posté le 28-05-2004 à 07:37:18    

Salut
 
j'ai une page PHP faisant référence a une base Mysql, dans lequel plusieurs champs dont qui contient un paragraphe de texte et donc des espaces " ".  
 
un lien vers une autre page balance le contenu de cette chaine de caractere mais le truc c'est que ça foire parce qu'elle contient un ou des espaces...
 
comment est ce qu'on fait pour palier a celà ?
 
a+


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-05-2004 à 07:37:18   

Reply

Marsh Posté le 28-05-2004 à 09:06:26    

1) Normallement espace ou pas, ca doit rien changer (les epsaces sont remplacés par des '%20' dans l'url, mais c'est tout). Au pire essaie de remplacer les espaces par des ' '.
2) L'url est limitée, si ton texte est trop long ca sera coupé
3) L'idéal serait que tu ne passes par l'url que l'identifiant du texte à afficher, et que ta deuxième page aille le récupérer sur la bdd. Ou alors au lieu de faire passer ton texte par l'url, tu le fais passer par le POST (avec un formulaire donc)...


Message édité par harrysauce le 28-05-2004 à 09:08:20
Reply

Marsh Posté le 28-05-2004 à 09:17:50    

ta chaine sur ta page de destination, tu l'affiche dans une balise INPUT text? si oui, dans ton echo tape ça:
<INPUT TYPE=TEXT VALUE='$mavariable'>
avec les simple quote, et la t'auras toute ta chaine. Mais vaut mieux que tu passe ta variable par un formulaire, un cookie ou comme variable de session, c'est plus propre qu'en url longue....
Sinon, une chaine dans un textarea, y'a pas de pb, les espaces sont gérés, et en brut comme ça dans ta page web (un simple echo $mavariable) passe aussi.
Voila


---------------
Vive le tunning
Reply

Marsh Posté le 28-05-2004 à 10:36:30    

harrysauce a écrit :

1) Normallement espace ou pas, ca doit rien changer (les epsaces sont remplacés par des '%20' dans l'url, mais c'est tout). Au pire essaie de remplacer les espaces par des '&nbsp;'.
2) L'url est limitée, si ton texte est trop long ca sera coupé
3) L'idéal serait que tu ne passes par l'url que l'identifiant du texte à afficher, et que ta deuxième page aille le récupérer sur la bdd. Ou alors au lieu de faire passer ton texte par l'url, tu le fais passer par le POST (avec un formulaire donc)...

non j'ai testé avec un test sans espace, ça passe.
 
il ne remplace pas par %20, il met tout ce qu'il y avant le premier espace et apres plus rien, meme si j'ai d'autres variables à envoyer...
 
 
exemple : http://zytrahus.free.fr clique sur le premier nom : "tom holck"


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-05-2004 à 10:37:21    

neotunner a écrit :

ta chaine sur ta page de destination, tu l'affiche dans une balise INPUT text? si oui, dans ton echo tape ça:
<INPUT TYPE=TEXT VALUE='$mavariable'>
avec les simple quote, et la t'auras toute ta chaine. Mais vaut mieux que tu passe ta variable par un formulaire, un cookie ou comme variable de session, c'est plus propre qu'en url longue....
Sinon, une chaine dans un textarea, y'a pas de pb, les espaces sont gérés, et en brut comme ça dans ta page web (un simple echo $mavariable) passe aussi.
Voila

vais essayer de mettre des apostrophes


---------------
http://www.zytratech.com
Reply

Marsh Posté le 29-05-2004 à 19:51:54    

zytrahus5 a écrit :

non j'ai testé avec un test sans espace, ça passe.
 
il ne remplace pas par %20, il met tout ce qu'il y avant le premier espace et apres plus rien, meme si j'ai d'autres variables à envoyer...
 
 
exemple : http://zytrahus.free.fr clique sur le premier nom : "tom holck"


En même temps si tu codes comme un pied, faut s'attendre a ce que ca déconne :o
 
Et là c'est pas une erreur de Php mais d'HTML
 

Citation :

<td><p><a href=user.php?nick=Tom Holck>Tom Holck</p></td>


 
 
Une balise ouverte DOIT être fermée, ta balise <a> n'a pas été ermée
Ensuite, faut respecter la syntaxe, ou alors ne pas s'étonner que ca déconne : <a href="tonlien">blabla</a>
Sans les guillemets ca peut passer, certes, mais c'est pas propre, et au moindre espace, ca chie [:spamafote]

Reply

Marsh Posté le 29-05-2004 à 19:58:09    

Code :
  1. echo <INPUT TYPE=TEXT VALUE=\"$mavariable\">

Reply

Marsh Posté le 29-05-2004 à 21:23:52    

black_lord a écrit :

Code :
  1. echo <INPUT TYPE=TEXT VALUE=\"$mavariable\">




Code :
  1. echo "<input type=\"text\" name=\"lenom\" value=\"$mavariable\">";


[:aloy]
 
EDIT : ou <input type="text" name="lenom" value="<?=$mavariable?>">


Message édité par harrysauce le 29-05-2004 à 21:24:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed