$_POST geblokkeerd na uploaden groot bestand
ik heb iets vreemds op mijn site.
Ik heb op de avond van zondag op maandag proberen een groot bestand te uploaden via een php formulier.
Dit is mis gegaan en sinds dien werkt er HELEMAAL niets meer met _POST
de _GET methode pakt de site nog wel, in alle directories, inclusief sub en nieuwe directories werkt de _POST NIET MEER.
alles wat via formulieren via POST is verstuurd komt niet aan.
als ik de array REQUEST print zie ik helemaal niets van de POST methode, verander ik het formulier in GET dan komen de variabelen gewoon tevoorschijn.
voorbeeld dat niet (meer) werkt:
<hr><form action="" method="POST">
<input type="text" name="input" value="blaat"/><input type="submit" value="verzend"/></form>
voorbeeld dat nog wel werkt:
<hr><form action="" method="GET">
<input type="text" name="input" value="blaat"/><input type="submit" value="verzend"/></form>
zoals je ziet heb ik dus alleen de methode veranderd..
de array REQUEST is compleet leeg als ik iets met POST verzend (evenals de array POST)
misschien ter verduidelijking, in het formulier dat het bestand verzond had ik de php.ini gemodificeerd met set_ini en de waarde van memory_limit verhoogd, kan dit het probleem hebben veroorzaakt?
zo ja hoe kan ik dit probleem dan verhelpen.
note: ik huur de ruimte en heb zelf geen toegang tot php.ini (vandaar de ini_set())
edit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
echo $_SERVER['REQUEST_METHOD']."<hr>";
print_r($_REQUEST);
echo "<table>";
function field($type,$name,$value)
{
echo "<tr><td>".$name."</td><td><input type='".$type."' name='".$name."' value='".$value."'></td></tr>";
}
echo "<tr><td colspan=2><strong>POST</td></tr><form method='POST' action='".$_SERVER["PHP_SELF"]."' name='post' id='post'>";
field('hidden','action','post');
field('text','naam','');
field('password','password','');
field('email','email','');
field('reset','wissen','wissen');
field('submit','submit','verstuur');
echo "</form>";
echo "<tr><td colspan=2><strong>GET</td></tr><form method='GET' action='".$_SERVER["PHP_SELF"]."' name='get' id='get'>";
field('hidden','action1','post');
field('text','naam1','');
field('password','password1','');
field('text','email1','');
field('reset','wissen','wissen');
field('submit','submit','verstuur');
echo "</form></table>
<script language=\"JavaScript\">
function submiter(){
post.submit();
get.submit();
}</script>
<input type=\"button\" onclick=\"submiter();\" value=\"verstuur beiden\"/>";?>
echo $_SERVER['REQUEST_METHOD']."<hr>";
print_r($_REQUEST);
echo "<table>";
function field($type,$name,$value)
{
echo "<tr><td>".$name."</td><td><input type='".$type."' name='".$name."' value='".$value."'></td></tr>";
}
echo "<tr><td colspan=2><strong>POST</td></tr><form method='POST' action='".$_SERVER["PHP_SELF"]."' name='post' id='post'>";
field('hidden','action','post');
field('text','naam','');
field('password','password','');
field('email','email','');
field('reset','wissen','wissen');
field('submit','submit','verstuur');
echo "</form>";
echo "<tr><td colspan=2><strong>GET</td></tr><form method='GET' action='".$_SERVER["PHP_SELF"]."' name='get' id='get'>";
field('hidden','action1','post');
field('text','naam1','');
field('password','password1','');
field('text','email1','');
field('reset','wissen','wissen');
field('submit','submit','verstuur');
echo "</form></table>
<script language=\"JavaScript\">
function submiter(){
post.submit();
get.submit();
}</script>
<input type=\"button\" onclick=\"submiter();\" value=\"verstuur beiden\"/>";?>
resultaten:
GET form:
Code (php)
1
2
3
4
5
2
3
4
5
<?
GET
--------------------------------------------------------------------------------
Array ( [action1] => post [naam1] => [password1] => [email1] => [submit] => verstuur [locale] => en-US )
?>
GET
--------------------------------------------------------------------------------
Array ( [action1] => post [naam1] => [password1] => [email1] => [submit] => verstuur [locale] => en-US )
?>
POST form:
Code (php)
1
2
3
4
5
2
3
4
5
<?
POST
--------------------------------------------------------------------------------
Array ( [locale] => en-US )
?>
POST
--------------------------------------------------------------------------------
Array ( [locale] => en-US )
?>
---
ik heb ini_restore al geprobeerd, alle instellen zijn back to basic maar _POST werkt nog steeds niet :S
----
die restore settings bedoel je ?
maar wat moet ik nu doen, is er iets wat ik kan doen ?
btw gekeken naar REQUEST_METHOD en deze geeft wel POST aan :S
Door
----
zouden die ini settings het probleem gegenereerd kunnen hebben?
ik heb drie sites op die zelfde server staan, de andere sites werken nog wel gewoon, (natuurlijk staan hier die ini settings anders..)
maar alles werkte nog na die ini settings....
alleen na uploaden liep het in de soep
dus wat jij zegt is restoren, en morgen nog maals proberen ?
Gewijzigd op 01/01/1970 01:00:00 door Earithramir
Op je eigen topic 'reageren' wordt bumpen genoemd. Doe je dit binnen 24 uur dan is het op PHPhulp 'strafbaar'. Dit is je eerste en je laatste waarschuwing volgende bump wordt het topic gesloten!
wel zo vriendelijk dacht ik..
maarre...
ik heb nu dus alle settings in php.ini gerestored, dat werkte niet.
als je php.ini wijzigd via ini_set dan werken deze variabelen toch meteen, of moet hier een tijd aan voorraf gaan ofzo?
iemand ideeen ?
tot nu toe geprobeerd,
-ini_restore met alle instellingen die ooit gewijzigd waren.
ik heb geen flauw idee wat ik nu verder kan doen en het werkt nog steeds niet :(
iemand ervaring hier mee, komt dit door de upload van een groot bestand (500+mb) via een form in php, of is dit toeval ?
zijn er manieren om de cache van php te flushen,
heb google geraadpleegd , dit hielp niet...
even ter duidelijkheid
scripts werken dus alleen op het account van die site niet, op de zelfde server met andere account wel.
Jason de Ridder schreef op 12.04.2007 00:42:
Op je eigen topic 'reageren' wordt bumpen genoemd. Doe je dit binnen 24 uur dan is het op PHPhulp 'strafbaar'. Dit is je eerste en je laatste waarschuwing volgende bump wordt het topic gesloten!
Zo je zit er al lekker in...
Gewoon een mod die zijn werk doet, niets bijzonders.
ik weet dat ik slecht ben in uitlegge... :S
Quote:
Dit is mis gegaan en sinds dien werkt er HELEMAAL niets meer met _POST
Dit heb ik in ieder geval nog nooit meegemaakt. Wat ik me kan voorstellen is dat er een update is geweest aan de serverkant waardoor bepaalde scripts die niet netjes geprogrammeerd zijn niet meer werken. Denk aan superglobals en dergelijke.
php versie is 4.3.10-16 en volgens mij en de hosting service zijn er geen updates gedaan (was trouwens ook tweede paasdag)
dus lijkt mij eigenlijk ook niet dat er iets op de server gewijzigd is , of zie ik dat verkeerd?
en het volgende zal toch altijd moeten werken?
Code (php)
in ieder geval bedankd alvast voor de hulp.. als het probleem niet krijg opgelost laat ik het wel naar een andere server verhuizen...
Earithramir schreef op 13.04.2007 00:40:
oke, maar dan zal het zelfde script op een ander account (op zelfde server) het ook niet mogen doen.
php versie is 4.3.10-16 en volgens mij en de hosting service zijn er geen updates gedaan (was trouwens ook tweede paasdag)
dus lijkt mij eigenlijk ook niet dat er iets op de server gewijzigd is , of zie ik dat verkeerd?
en het volgende zal toch altijd moeten werken?
in ieder geval bedankd alvast voor de hulp.. als het probleem niet krijg opgelost laat ik het wel naar een andere server verhuizen...
php versie is 4.3.10-16 en volgens mij en de hosting service zijn er geen updates gedaan (was trouwens ook tweede paasdag)
dus lijkt mij eigenlijk ook niet dat er iets op de server gewijzigd is , of zie ik dat verkeerd?
en het volgende zal toch altijd moeten werken?
Code (php)
in ieder geval bedankd alvast voor de hulp.. als het probleem niet krijg opgelost laat ik het wel naar een andere server verhuizen...
edit:
na restore_ini op memory komt er al iets in me POST array maar nog geen input velden
Array ( [locale] => en-US [PHPSESSID] => a37cf10fee7901b777db3aff7b442109 )
gisteren was deze array nog helemaal leeg :S
Ja, en wat moeten wij hiermee?
Ik heb een tijd terug ook zitten kutten omdat er een <input name="cmd">
stond in een script ergens, bleek dat de apache mod_security module was ingesteld om bepaalde namen in POST en GET te blokkeren.
En je hebt wel op submit gedrukt he ? :P
mebus schreef op 12.04.2007 23:14:
Zo je zit er al lekker in...
Jason de Ridder schreef op 12.04.2007 00:42:
Op je eigen topic 'reageren' wordt bumpen genoemd. Doe je dit binnen 24 uur dan is het op PHPhulp 'strafbaar'. Dit is je eerste en je laatste waarschuwing volgende bump wordt het topic gesloten!
Zo je zit er al lekker in...
Nou nou, Jason loopt ook al een beetje snel van stapel...
Edit:
Typo
Gewijzigd op 01/01/1970 01:00:00 door Arjan Schuurman
Het is terecht dat Jason het even verteld/ meld, want er is niet voor niets een edit knop. Verder lijkt het me ook beter om nu weer ontopic verder te gaan, dit heeft verder niets met het topic te maken. :)
waarom 2 is-gelijk-aan tekens (=) ???
Dit moet beter zijn denk ik :)
Dizzy schreef op 13.04.2007 10:40:
Echt niet.
'
Dizzy schreef op 13.04.2007 10:40:
Ik heb het hier in mijn boek staan zonder echo :) maar jah ... kan ook werken nog nooit getest met echo :D
Robert_Deiman schreef op 13.04.2007 08:59:
Het is terecht dat Jason het even verteld/ meld, ....
vertelt / meldt.
DANK!
Ontopic:
Soms interpreteert je server het verkeerd, omdat XML ook gebruik maakt van
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?... Gebruik dus geen shorttags.
(Ik hoop dat ik het correct heb omschreven )
<?= $var ?> is <?php echo $var; ?>
Pz.
(Ik hoop dat ik het correct heb omschreven )
<?= $var ?> is <?php echo $var; ?>
Pz.
dat formuliertje was gewoon terduidelijkheid ik maak in mijn test paginas geen gebruik van ?= maar heb express alles ?php geprobeerd, omdat ik dat probleem met ? ipv ?php ook in mijn iis config problemen gaf..
maar bedankd voor het meedenken.
hehe makkelijk zon 'human spellchecker' :P
@dizzy
twee '=' tekens omdat < ?$_var niet werkt en < ?=$var wel dat eerste '=' teken is van html
@jurgen
inderdaad zo heb ik het ook geprobeerd..
@baar
ik zal eens kijken naar de namen van mijn echte script, maar geloof dat deze naam, email en password ofzo zijn type=text, gewoon om testen was dat script
heb het eerste bericht aangepast met het script dat ik gebruik (gewoon een simpel test script)
Gewijzigd op 01/01/1970 01:00:00 door Earithramir