Maximale lengte van een methode=POST in php?

Pagina: 1
Acties:
  • 179 views sinds 30-01-2008

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
Ik heb een formulier gebouwd en nu moet ik daarmee een hele zooi tekst naar een file "posten" en dan moet dat andere filetje het opslaan in me database.
Het gaat om de textarea de code van die textarea is:
code:
1
<textarea  name="text" style="width:500px;" rows="7">

Maar als ik nu dit alles submit met een heeeeeeeeeleboel tekst krijg ik maar een deeltje te zien. Wat kan ik hieraan doen? in de database is dat veld wel groot genoeg (longtext).

Iemand een idee wat ik hieraan kan doen?

ActueleWind


Verwijderd

Ja had ik laatst ook last van, ben benieuwd waar de grens ligt....

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
maar het gekke is dat ik als ik het invoer in PHPmyAdmin dat het dan wel allemaal goed werkt. en wel hele lappen tekst in kan voeren.

ActueleWind


  • 0cool
  • Registratie: April 2001
  • Laatst online: 04-06-2024
voor zover ik weet is het server afhankelijk, en heeft het niets met HTML te maken. Maar het preciese of maximale aantal weet ik niet. Ik heb ergens gelezen dat het rond de 2500 is.

You thought your secrets were safe. You were wrong


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 07:46
Ik lees net ergens dat het een beperking heeft van enkele kilobytes. Dus je kunt wel flink wat erin zetten :)

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
kan het ook liggen aan de variabele grootte van PHP ? dacht het niet toch? Of kan je dat in php ergens toch instellen?
edit:

Want als ik echo $dbase[tekst] doe dan krijg ik ook niet de hele meut te zien die in de database zit.

ActueleWind


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 13-05 21:33

TheDane

1.618

volgens mij is 't ook browser afhankelijk.

ik geloof dat je met netscape iets van 32676 bytes kan posten. de html specs zeggen niks over een maximale grootte voor te posten waardes.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
mmh 't lijkt idd browser gevoelig bij Netscape 6.1 zegt ie dit als errors:
code:
1
2
3
The requested URL's length exceeds the capacity limit for this server.

request failed: URI too long

ActueleWind


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
weet je zeker dat je method=POST gebruikt i.p.v. method=GET ?

get heeft (had?) een maximum lengte van 255 (256?) bytes...

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 18 juni 2001 15:30 schreef Infinitive het volgende:
get heeft (had?) een maximum lengte van 255 (256?) bytes...
Die zit geloof ik nu op 2500bytes oid...

Maar POST heeft absoluut geen laag maximum, aangezien ik wel es bestanden van 20MB gepost heb, die vervolgens in de database opgeslagen werden...

Verwijderd

Je kan ook op die manier een hele file uploaden, dus het zal best groot zijn

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
anders moet je maar eens:

method="POST"
enctype="multipart/formdata"

(zie php-manual bij uploaden files)

gebruiken. Voor je script is dat gewoon een post terwijl het principe anders is. Wellicht dat 'ie het dan wel doet.

BTW: wat is de webserver, php-versie, upload-limit, php-memory-limit? [misschien van belang]

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

enctype="multipart/formdata"
maak daar maar "multipart/form-data" van

Today's subliminal thought is:


  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
Dat enctype=\"multipart/form-data\" heeft helaas ook niet geholpen.
ik draai Apache/1.3.19 (Unix) mod_gzip/1.3.19.1a PHP/4.0.4pl1 configured
op linux slack 7.1.

ActueleWind


  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
upload-limit, php-memory-limit << waar kan ik dat vinden?
Opzich zou dat goed moeten staan want in phpmyadmin werkt dit alles wel. heel vaaag vind ik het :?

ActueleWind


  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
dit is mijn code die php uitgeeft:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form methode=post action=addthread.php?edit=11 enctype="multipart/form-data">
Vul hier de naam in voor het nieuwe topic:<br>
<input type=text name=subject maxlength=200 size=50 value="Onderwerpnaam"><br>
<input type="checkbox" name="main">Tussenkopje<br>
<input type="hidden" name="plaats" value="Wageningen"><br>
<input type="hidden" name="editid" value="11">
Indien geen tussenkopje bij welk tussenkopje hoort deze:<br>
<select name=kopje>
<option value="1">Naam van topic0</option>
<option value="4">Naam van topic1</option>
<option value="6">Naam van topic2</option>
<option value="9">Naam van topic3</option>
<option value="13">Naam van topic4</option>
<option value="17">Naam van topic5</option>
<option value="19">Naam van topic6</option>
</select>
<br>
<textarea name="text" cols=70 rows="7">Vul hier de tekst in die hierbij hoort
</textarea>
<br>
<input type="submit" value="submit">
</form>

ActueleWind


Verwijderd

Op maandag 18 juni 2001 19:16 schreef Lurge het volgende:
upload-limit, php-memory-limit << waar kan ik dat vinden?
Opzich zou dat goed moeten staan want in phpmyadmin werkt dit alles wel. heel vaaag vind ik het :?
PHP:
1
2
3
<?
phpinfo();
?>

Als je bedoeld met file uploaden met een form dan moet je kijken wat je max_upload size is, standaard is dat geloof ik 2mb. Dan heb je inderdaad een probleem met grotere bestanden :)

Maar begreep niet goed uit je vraag of het nu ging om een file te uploaden of een zooi tekt in een textvak te zetten ofzo. In het eerste geval moet je dus even je max upload dinges bekijken.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
het gaat erom dat ik een hele lap tekst kan submitten en dat dat dan door die 2e file in de database word gezet.
En dat word dan weer op een site geplant.
dus niet een file uploaden nee.

ActueleWind


Verwijderd

Zo lang je het niet bij f2s doet zou het eigenlijk wel moeten kunnen volgens mij.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
Ik ben erachter wat het is.
Het is de browser. In IE5 kan ik niet zoveel posten en in NS6.1 kan het nu wel. hij werkt nu half:)
Als ie nu weer iets te lang word dan doet ie gelijk weer 414 zeggen.
Iemand een idee waar je dit in Apache in kan stellen ?

ps. Waarom werkt deze smilie niet :-) als alias op :)

ActueleWind


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

<form methode=post ...> en <form method=post ...>

zoek de verschillen >:)
kan je meteen "enctype" weglaten.

Today's subliminal thought is:


  • Onno
  • Registratie: Juni 1999
  • Niet online
:D

Verwijderd

Ik heb in een PHP boek gelezen dat GET geperkingen heeft, en POST unlimited is.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 18 juni 2001 23:03 schreef D-Smoove het volgende:
Ik heb in een PHP boek gelezen dat GET beperkingen heeft, en POST unlimited is.
POST heeft ook beperkingen hoor, maar word niet, zo als GET, achter de url geplakt.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
woep das nogal een domme |:( fout idd
thx Annie :)
het werkt nu idd wel :)
bedankt voor hetmeedenkenk allemaal

ActueleWind


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
de maximale lengte van een POST is afhankelijk van een limiet van de webserver (maximale geheugenbuffer, of een bepaalde setting in de config-file). Mmm, maar bij een CGI applicatie hoef je geen limiet te hebben, want wat van de socket gelezen wordt kan dan direct naar de stdin van het CGI applicatie verzonden worden. Maar dan bepaald die applicatie het limiet (of PHP wat je ook als CGI applicatie kan zien).

Je kan in een RFC van HTTP vinden hoe zo'n GET/POST request verzonden wordt (eerste regels is de http-query, referer, etc, dan een witte regel gevolgd door mogelijk post-data).

BTW: hoeveel bytes leest een webserver per keer in? 4 ofzo (een witte regel bestaat tenslotte uit 4 chars). Bij een grote POST lijkt me dat niet erg efficient. Maar hoe moet je anders voorkomen dat je nog aan het lezen bent terwijl de client klaar is met verzenden?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Dit topic van bijna 3 jaar oud omschrijft precies mijn probleem en daarom zet ik het een eindje naar boven.

Ik probeer namelijk de inhoud van een formulier in de database in te voeren, dit gaat allemaal super. Maar wanneer ik een bepaald aantal tekens bereik +/- 1200 in een textarea gaar het mis. Vanaf dit moment wordt het form niet meer verwerkt ...

Ik heb gewoon een form gemaakt met een hidden variabele 'commited' en wanneer het form wordt verzonden verwerk ik dat zo:

if($_GET['commited'] == 'yes')
{
code
code

insert into ....
}

Misschien is er in de afgelopen jaren iets nieuws waarmee ik deze limiet kan omzeilen.

Systeem dat ik gebruik draait op:
- Win2k Server (met IIS)
- MS SQL Server
- PHP 4.3.2

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Als je het 3 jaar oude topic even doorgelezen had was je waarschijnlijk tot de zelfde conclusie gekomen:

Je moet POST gebruiken ipv GET.......

[ Voor 4% gewijzigd door Bosmonster op 05-05-2004 10:10 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:37

gorgi_19

Kruimeltjes zijn weer op :9

3 jaar is idd wel een lange tijd om een kick te doen. En een x-aantal posts eerder wordt al aangegeven dat er een maximum lengte zit aan GET. ACM geeft ook aan dat hij geen problemen had gehad met POST met veel data.

Dit topic gaat iig dicht. Mocht je er niet uitkomen, dan mag je een nieuw topic openen met een referentie naar dit topic waarin je aangeeft wat je al hebt gevonden en waarom je geen POST wilt gebruiken of welke problemen dit oplevert. Veel data versturen via GET kan niet.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.