Textarea tronqué ?

Textarea tronqué ? - PHP - Programmation

Marsh Posté le 13-07-2009 à 17:15:22    

hello tout le monde,
 
j'ai un formulaire de contact sur mon site qui contient notamment un textarea :

Code :
  1. <textarea name ='text' rows='10' cols='5'>$text</textarea>


 
Lorsque l'utilisateur le valide, ce texte est automatiquement envoyé via phpmailer sur 3 adresses, rien de plus...

Code :
  1. $body="
  2. Type de demande : ".$type."<br>
  3. Fonction du contact : ".$fonction."<br>
  4. Prenom : ".$prenom."<br>
  5. Nom : ".$nom."<br>
  6. Telephone : ".$telephone."<br>
  7. Mail : ".$destinataire."<br>
  8. Demande de l'interlocuteur : ".$text."<br>
  9. ";


 
Bizarrement, j'ai l'impression que de temps en temps, le message du textarea nous arrive tronquer... MAis d'autres fois non...
J'ai eu beau faire des tests dans tous les sens, les caractères spéciaux type ' é è etc... semblent très bien passer !
 
Ai-je oublié qq chose, ou pensez-vous qu'ils s'agissent simplement d'utilisateurs ayant submité sans finir leur texte ?
 
Merci de votre aide !


Message édité par jay-jay69 le 13-07-2009 à 18:33:12
Reply

Marsh Posté le 13-07-2009 à 17:15:22   

Reply

Marsh Posté le 14-07-2009 à 10:37:02    

Salut, c'est possible en effet.
Est-ce que c'est systématiquement les messages les plus longs qui sont coupés? Au pire ce que tu peux faire c'est utiliser un système de tests unitaire pour faire des tests fonctionnels et voir si tu arrives à reproduire le soucis

 

Edit : à propos de tes quelques lignes de PHP.. C'est con d'écrire ça comme ça .. Soit tu utilises les " comme tu l'as fait, et là pas besoin de concaténation. Soit tu utilises les ' (un nanochouillat plus rapides) et tu fais les concaténations, mais pas les 2..


Message édité par esox_ch le 14-07-2009 à 10:38:17

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-07-2009 à 10:47:20    

merci de ta réponse... il semblerait que ce soit peut-être les " qui posent problèmes...
visiblement, ils ne semblent pas toujours passer... mais pas tout le temps...
 
tu me préconises quoi esoxh ?

Reply

Marsh Posté le 14-07-2009 à 11:00:38    

Deja, tiens compte de mon édit du message d'avant, et remplace les " par des '
Ensuite, il n'y a pas de "parfois ça marche, parfois pas". Si t'as l'impression que des fois ça marche, alors c'est que t'as pas mis le doight sur le bon problème. Si tu n'arrives pas à déterminer la cause exacte en faisant quelques tests "à la main", utilise un système de Unit Tests (comme je te l'ai déjà dit). Tu pourras ensuite batir un test qui envoie un grand nombre de messages, et contrôle de l'autre côté ce qui passe et ce qui passe pas. Comme ça tu pourras determiner exactement d'où vient le problème.

 

Surtout évite l'approche "je fous du addslashes() partout sans comprendre pourquoi) parce que c'est la meilleure manière de ne pas corriger l'erreur et qu'en plus toi (ou tes clients, suivant comment c'est cablé) commanciez à recevoir des messages pleins de \" , ce qui est pas trop pro :heink:

 

Edit : Et mon nom c'est esox_ch :o


Message édité par esox_ch le 14-07-2009 à 11:01:09

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-07-2009 à 11:28:53    

Alors, j'ai fait cette modif :

Code :
  1. $body='
  2. Type de demande : '.$type.'<br>
  3. Fonction du contact : '.$fonction.'<br>
  4. Prenom : '.$prenom.'<br>
  5. Nom : '.$nom.'<br>
  6. Telephone : '.$telephone.'<br>
  7. Mail : '.$destinataire.'<br>
  8. Demande interlocuteur : '.$text.'<br>
  9. ';


 
J'ai fait pas mal de tests... Le code ne marche pas dés que $text contient un ou plusieurs "...
 
Pour le coup, je sais pas trop quoi faire...
 
Edit : excuse d'avoir écorché ton nom !  :jap:


Message édité par jay-jay69 le 14-07-2009 à 11:41:15
Reply

Marsh Posté le 14-07-2009 à 11:52:23    

je viens de faire ça :

Code :
  1. Type de demande : '.$type.'<br>
  2. Fonction du contact : '.$fonction.'<br>
  3. Prenom : '.$prenom.'<br>
  4. Nom : '.$nom.'<br>
  5. Telephone : '.$telephone.'<br>
  6. Mail : '.$destinataire.'<br>
  7. Demande interlocuteur : '.htmlentities($text).'<br>
  8. ';


 
et ca semble très bien fonctionner...
 
je vais faire des tests plus poussés...

Reply

Sujets relatifs:

Leave a Replay

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