Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

FCKeditor i.c.m. lange teksten

Pagina: 1
Acties:

  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-11 16:08
Ik ondervind wat problemen met FCKeditor. We hebben voor een klant een nieuwssite ontwikkeld, waar hij nieuwsberichten kan posten. Deze posts zijn soms gigantisch. Ik heb het veld waarin het opgeslagen wordt in de database al aangepast naar een longtext, maar daar ligt het probleem niet.

Zodra de FCKeditor meer als ... karakters als invoer heeft, geeft hij helemaal niks meer door. Als ik er een karakter afhaal, post hij alle inhoud netjes, en wordt alles netjes opgeslagen, maar zodra het dus teveel wordt, geeft hij niks door. Dit is het script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form id="page_content" name="page_content" method="post" action="nieuws.php">
<table>
<tr>
<td>Titel: </td>
<td><input type="text" id="titel" name="titel" value=""></td>
</tr>
<tr>
<td>Inhoud: </td>
<td>
<?php
    $oFCKeditor = new FCKeditor('inhoud') ;
    $oFCKeditor->BasePath = $fck_basepath;
    $oFCKeditor->MinHeight = '400';
    $oFCKeditor->MinWidth = '600';
    $oFCKeditor->Config['SkinPath'] = $fck_skinpath;
    $oFCKeditor->ToolbarSet = "Custom";
    $oFCKeditor->Create();
?>
</td>
</tr>
</table>
</form>


Als ik dit formulier dus submit, met net iets minder als het aantal tekens, krijg ik met vardump($_POST):

code:
1
array(2) { ["titel"]=>  string(4) "Test" ["inhoud"]=>  string(xxxxx) "De content" }


En als ik het formulier dus submit met een te lange tekst erin, krijg ik uit var_dump($_POST)

code:
1
array(1) { ["titel"]=>  string(4) "Test" }


Iemand een idee wat het probleem is?

[ Voor 3% gewijzigd door avdwerf op 21-07-2008 11:36 ]


  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-11 16:08
Ik kom er net achter, dat het maximum aantal tekens 65000 is wat ik in kan voeren zodat FCKeditor het nog wel submit... Zodra het 65001 tekens zijn submit hij niks meer... Wel heel toevallig dat dit precies het aantal tekens is wat in een TEXT veld in de mysql database past of niet?

  • truegrit
  • Registratie: Augustus 2004
  • Laatst online: 16-11 11:40
heb even gekeken, er zat vroeger een 65000 summary limit op fckeditor, maar die is ergens in 2007 al weggehaald.

Dit is wat ik nog wel kon vinden:
While experiencing this issue, too we found that the cause of this
problem was the suhosin patch, wich was - by default - configured to
have a max limit for the length of cookie, request, post, get and
session vars. E.g. for POST this looks like:

suhosin.post.max_array_depth 100 100
suhosin.post.max_array_index_length 64 64
suhosin.post.max_name_length 64 64
suhosin.post.max_totalname_length 256 256
suhosin.post.max_value_length 65000 65000
suhosin.post.max_vars 200 200
moet wel heel toevallig zijn als je suhosin gebruikt. Heb je al geprobeerd een normale textarea te gebruiker (dus zonder fckeditor) en daar meer dan 65000 karakters in te voeren? Het zal niet met de database te maken kunnen hebben want dat wordt denk ik pas na je vardump geregeld!

hallo


  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-11 16:08
Hmm, ik ben bang van wel, ik kan ook niet meer dan 65000 karakters in een normale textarea invoeren... En als ik phpinfo opvraag, zie ik staan achter additional .ini files parsed staan o.a. /etc/php5/apache2/conf.d/suhosin.ini

Is hier iets aan te doen?

Heb net geprobeerd met htaccess de waarden aan te passen. Normale waarden kan ik daar wel mee aanpassen (bijv. max_post_size), maar die waardes van suhosin kan ik niet aanpassen. Tenminste in de phpinfo blijven daar gewoon dezeflde waardes staan onder local value

[ Voor 34% gewijzigd door avdwerf op 21-07-2008 12:57 ]


  • truegrit
  • Registratie: Augustus 2004
  • Laatst online: 16-11 11:40
Ik heb zelf geen ervaring met suhosin, maar ik zou dan aan de host vragen of ze dit kunnen aanpassen omdat je zelf blijkbaar geen toegang hebt tot de php.ini. Met een beetje geluk weten ze zelf ook hoe het allemaal werkt en kunnen ze de juiste aanpassing maken (hogere waarde of gewoon de limiet verwijderen).

hallo


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

truegrit schreef op maandag 21 juli 2008 @ 13:05:
Ik heb zelf geen ervaring met suhosin, maar ik zou dan aan de host vragen of ze dit kunnen aanpassen omdat je zelf blijkbaar geen toegang hebt tot de php.ini. Met een beetje geluk weten ze zelf ook hoe het allemaal werkt en kunnen ze de juiste aanpassing maken (hogere waarde of gewoon de limiet verwijderen).
Als het een aanpassing is in php.ini, is toch gewoon ini_set() voldoende? :)

  • GlowMouse
  • Registratie: November 2002
  • Niet online
GJ-tje schreef op maandag 21 juli 2008 @ 13:31:
[...]
Als het een aanpassing is in php.ini, is toch gewoon ini_set() voldoende? :)
Zoals hier onder de kolom changeable staat, is lang niet alles aanpasbaar. Bij het probleem van TS zal dat ook het geval zijn, aangezien je met een ini_set niet plotseling extra dingen in je $_POST krijgt.

Dit lijkt inderdaad door Suhosin te komen, is een standaardwaarde trouwens:
suhosin.post.max_value_length
* Type: Integer
* Default: 65000
Defines the maximum length of a variable that is registered through a POST request.

[ Voor 26% gewijzigd door GlowMouse op 21-07-2008 13:40 ]


  • Pendaco
  • Registratie: Augustus 2003
  • Laatst online: 16-11 21:19

Pendaco

Vogon Poetry FTW!

Offtopic: why on earth hebben ze 65000 karakters nodig voor een nieuwsbericht? Dat is meer dan 20 a4'tjes vol :X Is het dan niet wenselijker om met bijv. pdf's te werken?

  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-11 16:08
@pendaco

Die karakters zijn niet alleen maar letters en cijfers, dat is html code, dus daar zitten ook allerlei html tags tussen...

  • H004
  • Registratie: Maart 2006
  • Laatst online: 28-05 19:55
Symptoombestrijding: check met javascript of de waarde in je tekstveld meer dan 65000 karakters lang is. Zo ja, splits het in kleinere delen op, post die, en vang met php de delen weer op en plaats ze aan elkaar.

(Of werkt dat niet omdat suhosin.post.max_value_length de lengte van alle postgegevens bij elkaar is?)

  • Cartman!
  • Registratie: April 2000
  • Niet online
Contact opnemen met je host en vragen of de suhosin instellingen minder strak mogen. Heb laatst hetzelfde probleem gehad min of meer (ging om de hoeveelheid postvars in MyReact).

  • BlackIce
  • Registratie: Oktober 2003
  • Laatst online: 15-11 10:36
H004 schreef op maandag 21 juli 2008 @ 14:42:
Symptoombestrijding: check met javascript of de waarde in je tekstveld meer dan 65000 karakters lang is. Zo ja, splits het in kleinere delen op, post die, en vang met php de delen weer op en plaats ze aan elkaar.

(Of werkt dat niet omdat suhosin.post.max_value_length de lengte van alle postgegevens bij elkaar is?)
Dit is juist geen symptoombestrijding, dit is een workaround. Een symptoombeschrijving zou het uitschakelen van die beveiliging zijn. Bij sommige hosters kan dat in de .htaccess:
code:
1
php_flag je_ini_setting off

bijvoorbeeld

  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-11 16:08
ja klopt, had het al geprobeerd met htaccess, maar dat lukte niet... maar eventjes contact opnemen dan, iig bedankt voor de reacties!
Pagina: 1