Perte d'une partie de chaine dans une variable

Eléphant du PHP | 271 Messages

21 mai 2007, 22:15

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.
Patience et obstination sont des qualités !

Mammouth du PHP | 19672 Messages

21 mai 2007, 23:03

Regarde la fonction urlencode() pour remplacer automatiquement par exemple les espaces par %20 et tu utiliseras au besoin urldecode() pour retrouver l'affichage normal.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 mai 2007, 23:22

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 271 Messages

21 mai 2007, 23:30

Merci de l'aide.
Désormais je ferai attention.

Merci encore
Patience et obstination sont des qualités !