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:
<?php print_r($_REQUEST);?>
<hr><form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
<input type="text" name="input" value="blaat"/><input type="submit" value="verzend"/></form>
voorbeeld dat nog wel werkt:
<?php print_r($_REQUEST);?>
<hr><form action="<?=$_SERVER['PHP_SELF'];?>" 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())
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:
<?
GET
--------------------------------------------------------------------------------
Array ( [action1] => post [naam1] => [password1] => [email1] => [submit] => verstuur [locale] => en-US )
?>
POST form:
<?
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 ?
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!
ik reageerde gewoon met dingen die ik nog gedaan had en als reactie op de post ....
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.
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!
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.
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?
<?php
print_r($_REQUEST);
echo "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"POST\">\n";
echo "<input type=\"text\" name=\"input\" value=\"\"/>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"send\"/>\n";
echo "</form>";
?>
in ieder geval bedankd alvast voor de hulp.. als het probleem niet krijg opgelost laat ik het wel naar een andere server verhuizen...
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?
<?php
print_r($_REQUEST);
echo "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"POST\">\n";
echo "<input type=\"text\" name=\"input\" value=\"\"/>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"send\"/>\n";
echo "</form>";
?>
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
Verder de naam van dat input veld eens, het is nu <input name="input">
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.