[PHP] textarea maximaal 65535 tekens

Pagina: 1
Acties:
  • 243 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HuMon
  • Registratie: Augustus 2004
  • Laatst online: 20-09 21:16
Ik heb al een tijdje een documenten database gemaakt in PHP, en de documenten wijzig ik met textarea.

Het werkt prima, maar als ik probeer documenten in te voeren die groter zijn dan 65535 tekens, dan worden die afgekapt (zowel in Explorer als Firefox).
Ondertussen ben ik er achter dat dat komt door POST.

Dit is grofweg mijn code:
PHP:
1
2
3
4
print "<form method='post' action='".$_SERVER['PHP_SELF']."'>";
print "<textarea cols=120 rows=45 name=\"memo\">$htmlmemo</textarea><br>";
print "<input type=\"submit\" name=\"testmemo\" value=\"Memo wijzigen\">";
print "</form>";


- De toevoeging bij POST: enctype='multipart/form-data' werkt niet.
- De toevoeging bij TEXTAREA van wrap=\"virtual\" lukt ook niet.
- O.a. PhpMyAdmin en PHPBB2 hebben wel een textarea waarin enorme teksten in gezet kunnen worden. Ik kan alleen niet vinden waarom het daarin wel lukt :?

[ Voor 29% gewijzigd door HuMon op 14-05-2006 02:00 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Weet je zeker dat het komt door de POST, en niet toevallig omdat je de boel opslaat in een databaseveld dat maximaal 65535 tekens mag bevatten?

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • HuMon
  • Registratie: Augustus 2004
  • Laatst online: 20-09 21:16
Nee, het wordt opgeslagen in een text veld, lang zat dus!

Uit de SQL dump:
`memo` text NOT NULL,

[ Voor 29% gewijzigd door HuMon op 14-05-2006 02:03 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Euh, ik gok dat dit niks met PHP of het HTTP-protocol te maken heeft. De maximumlengte van een TEXT-veld in MySQL is gewoon simpelweg 216 = 65536 (exclusief aftrek van één of twee bytes die MySQL nodig heeft). Probeer eens een MEDIUMTEXT ervan te maken.

Uiteraard ervanuitgaande dat je het zaakje opslaat in een MySQL-database. :P
edit:
Ja dus. :P

[ Voor 6% gewijzigd door NMe op 14-05-2006 02:03 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • HuMon
  • Registratie: Augustus 2004
  • Laatst online: 20-09 21:16
Als je eens wist hoe lang ik hier al naar zoek... (weken)...

Het werkt! Bedankt!!!

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Dit staat overigens ook beschreven op mysql.com

Als je een probleem hebt, kijk dan alles wat je gebruikt, in dit eval een textarea, via post, en dan de mysql db. Dus je gaat kijken heeft textarea een char-limit? Kan POST een gelimiteerd aantal tekens verzenden? Of ligt het aan mysql? Gebruik ik de juiste velden, heb ik een LIMIT ingesteld voor het aantal chars, of is het veldtype dat ik gebruik niet capabel genoeg om dit soort data te verwerken.

Als je steeds met alles zo gaat beredeneren kom je 99% van de gevallen tot een oplossing :)

Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Handigheidje voor MySQL waar ook de maximale lengtes voor de verschillende kolommen opstaan:
Afbeeldingslocatie: http://tweakers.net/ext/f/64553/full.png

Sole survivor of the Chicxulub asteroid impact.

Pagina: 1