Page 1 sur 1

coupure du contenu d'un champ

Posté : 29 juil. 2005, 19:53
par nanard
pour afficher dans un tableau le titre ($t) récupérer par SQL, j'ai rédigé le code suivant :
<td width="538" colspan="2" style="border-width:1; border-top-color:rgb(238,238,238); border-right-color:rgb(238,238,238); border-bottom-color:rgb(238,0,0); border-left-color:rgb(238,0,0); border-style:inset;" bgcolor="#AAAAAA" align="center" valign="middle">&nbsp;<? echo "<input type='text' name='title' value='" .htmlspecialchars($t) ."' size='80'>"; ?></td>
    </tr>
or, il est affiché :
E.T. L au lieu de E.T. L ' EXTRATERRESTRE

y a-t-il una astuce, SVP Merci

Posté : 30 juil. 2005, 10:15
par Cyrano
As-tu vérifié directement dans ta base si la valeur attentdue est complète ou également tronquée après l'apostrophe ? Il y a fort à parier que cette dernière possibilité soit vérifiée parce que lors de l'enregistrement, si tu n'as pas ajouté un "addslashes", l'apostrophe a été interprétée par MySQL comme la fin de la chaîne s'il y en avait également une au début, ce qui voudrait dire que tu as envoyé :

Code : Tout sélectionner

INSERT INTO .... VALUES('E.T. L'EXTRATERRESTRE')
Si tu observes bien, il y a une erreur dans cette requête qui aurait dû être:

Code : Tout sélectionner

INSERT INTO .... VALUES('E.T. L\'EXTRATERRESTRE')
Pour l'afficher, il faudrait après récupération la traiter avec "stripslashes".

Posté : 30 juil. 2005, 13:40
par ouckileou
et si l'apostrophe y est, comme tu entoures les valeurs de tes attributs par des simples quotes, l'apostrophe de "L'extra-terrestre" correspondan à la fin de la l'attribut

voici le html qui doit être généré :
<input type='text' name='title' value='ET L'EXTRA-TERRESTRE' size='80'>
solution pour ce cas, remplacer les quotes par des guillemets :
<input type="text" name="title" value="ET L'EXTRA-TERRESTRE" size="80">

Posté : 30 juil. 2005, 13:51
par m8sql
et comme on dit chez moi ...
ça marche mais avant l/'apostrophe c/'est la catastrophe... 
[/code]