Taille maxi du texte avec $_post

Petit nouveau ! | 9 Messages

18 janv. 2008, 11:46

Bonjour,

Je rencontre un problème avec une mesagerie; j'utilise un éditeur (fckeditor) qui fonctionne bien en temps normal. Mais j'ai remarqué que si je poste des messages trop longs, ils arrivent tronqués au dela d'une certaine taille. Je viens de "mesurer" le texte en question et il fait l'équivalent de 8 pages word et un poids de 140 ko toujours en fichier word.

mes données pasent de la façon suivante:
$texte = addslashes($_POST['texte']);
reqmysql("INSERT INTO `messages` (`de` , `a` , `titre` , `contenu` , `date`, `time` ) VALUES ('".$user->pseudo."', '".$d->pseudo."', \"".$sujet."\", \"".$texte."\",\"".$dte."\",\"".$tme."\")");
Rien dans mon code n'indique de taille maxi ou de nombre de caractères maxi.

Ma question est donc la suivante: y a t il une taille maxi pour le passage de variales par $_POST?

Merci de vos réponses
Cordialement

.

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

18 janv. 2008, 12:26

C'est surtout le nombre de caractères qui importe, plus que le poids d'un fichier word contenant le texte ou de son nombre de page.

Ensuite la question est, à quel moment tes données sont-elles tronquées ? au moment où tu les reçois avec php (lorsque tu affiches la valeur de ta variable, tu constates qu'elle est tronquée ?) ou bien c'est une fois en base (car selon le type de champ utilisé, tu es également limité en taille)

Côté php, vérifies la valeur de "post_max_size" dans ton fichier php.ini, il y a peut être une limite aux données reçues en post sur ton serveur...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 9 Messages

18 janv. 2008, 12:35

Ryle, je crois que la piste de la base de données peut être la bonne car mon champ contenu est de type text et je crois me souvenir que ça limite, mais je ne sais plus à combien. Je n'y avais pas pensé;

Je vais faire quelques test du côté de de "post_max_size" aussi.

Merci pour les indications.

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

18 janv. 2008, 13:12

Effectivement, un champ MySQL de type "text" est limité à 65535 caractères (2^16 - 1), le plus grand étant "longtext" qui doit faire quelques 4 millions de caractères (2^32 - 1) et entre les deux tu as le "mediumtext" :)

Plus d'infos : http://dev.mysql.com/doc/refman/5.0/fr/ ... ments.html
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 9 Messages

18 janv. 2008, 15:04

Merci Ryle,

Je vais donc de ce pas modifier ma DB...
et merci pour le lien qui va me permettre de mieux cibler mon travail.

Et dire que certains pensent que "faire un site c'est super simple, la stagiaire m'a fait le mien...", moi j'ai l'impression qu'on n'arrête jamais de découvrir des choses qui en plus sont super importantes à chaque fois...

Allez, trève de propos philosophique et retournons au travail.

Et merci encore.

ViPHP
ViPHP | 4039 Messages

18 janv. 2008, 15:14

(...)4 millions de caractères (2^32 - 1)(...)
4 milliards, non ? J'ai retenu 4Go pour ma part...
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

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

18 janv. 2008, 15:48

Euh, voui, en effet, j'm'est loupé... j'avais pas assez de doigts pour compter dessus ;)

Ca fera même 4.294.967.295 pour être précis :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...