Page 1 sur 1

Perte d'une partie de chaine dans une variable

Posté : 21 mai 2007, 22:15
par alaingpl
Bonjour,
A partir d'un formulaire j'envoi un <input="text" name="objet">. La $objet transite d'abord dans un fichier où d'autres posts sont traités et est transférée par le lien ci - dessous à un autre fichier(mailer2.php).
<a href=http://www.sitweb.com/si/mailer2.php?nomcarte=$nomcarte&objet=$objet>Envoyer la carte</a></p>";
Mon problème est : si ma $objet = essai variable, il y a une déperdition de la chaine est elle devient alors $objet=essai. Elle perd (en cours de route) toute la chaine de caractères après le premier mot. Cela se passe dans le lien ci - dessus car elle est testée en amont et elle est correcte.

Après plusieurs essais, je ne trouve pas de solution. Si quelqu'un a une idée je le remercie et d'avance merci à tous ceux qui pourront m'aider.

Posté : 21 mai 2007, 23:03
par Cyrano
Regarde la fonction urlencode() pour remplacer automatiquement par exemple les espaces par %20 et tu utiliseras au besoin urldecode() pour retrouver l'affichage normal.

Posté : 21 mai 2007, 23:22
par Ryle
Et surtout, utilise des guillemets (ou à défaut des apostrophes) pour délimiter les valeurs de tes attributs html, sinon le premier espace indiquera la fin de celui-ci :)

(Et sortez les variables de vos chaines ! ronthudjiu !! ;))
echo '<a href="http://www.sitweb.com/si/mailer2.php?nomcarte='.$nomcarte.'&objet='.$objet.'">Envoyer la carte</a></p>';
Le urlencode() n'est du coup plus obligatoire contre l'espace, mais sera toujours plus propre et permettra d'éviter les soucis de caractères spéciaux :)

Posté : 21 mai 2007, 23:30
par alaingpl
Merci de l'aide.
Désormais je ferai attention.

Merci encore