Toon posts:

[php] niet meegeven vars bij form-data

Pagina: 1
Acties:

Verwijderd

Topicstarter
Korte probleemomschrijving:
Er worden geen variabelen meegeven met een form, wordt enctype="multipart/form-data" weggelaten dan wel.

Het script:
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
33
34
35
36
37
<?

//ter test:

foreach($_POST as $key => $val)
{
    echo" t: $key -> $val<br>";
}

if( isset($_POST[fupload]))
{
    print(" JA !!  ");
}
else
{

     print("
     <form enctype=\"multipart/form-data\" action=\"$PHP_SELF\" METHOD=\"POST\">
     <input type=\"HIDDEN\" name=\"MAX_FILE_SIZE\" value=\"20000\">
     <input type=\"HIDDEN\" name=\"set\" value=\"set\">
     <table>
     <tr>
      <td colspan=\"2\">Add image</td>
     </tr>
     <tr>
      <td>Beschrijving</td>
<td><input type=\"text\" name=\"beschrijving\" value=\"\" class=\"textfield\" size=\"60\"></td>
     </tr>
     <tr>
     <td>File:</td>
      <td><input type=\"file\" name=\"fupload\" class=\"textfield\">
      <input type=\"submit\" value=\"Upload!\" class=\"textfield\" name=\"submit\"></td>
     </tr>
     </table>
     </form>
     ");
}


Het punt is dat als ik de 'enctype=\"multipart/form-data\" 'weglaat dat dan de (hidden) variabelen wel mee worden gegeven. Terwijl als deze regel er staat het script gewoon weer het form laat zien.

dus zonder enctype=\"multipart/form-data\" krijg ik de volgende output:
code:
1
2
3
4
5
 t: MAX_FILE_SIZE -> 20000
t: set -> set
t: beschrijving -> asdasdasd
t: fupload -> desktop1.jpg
t: submit -> Upload!



ik gebruik:
php 4.1.2

en:
register_globals = On
safe_mode = Off

Na 2 dagen weet ik echt niet meer waar dit aan ligt, kunnen jullie me helpen?

Verwijderd

phpinfo();
echo "<pre>".print_r($_POST)."</pre>";
echo "<pre>".print_r($HTTP_POST_VARS)."</pre>";

Staat hier ook niets in?

Verwijderd

Topicstarter
zonder enctype=\"multipart/form-data\":
code:
1
Array ( )


en met enctype=\"multipart/form-data\":
code:
1
Array ( [MAX_FILE_SIZE] => 20000 [set] => set [beschrijving] => asdasdasd [fupload] => desktop1.jpg [submit] => Upload! )


Erug vreemd dus...

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Stom idee misschien maar zet: enctype=\"multipart/form-data\ eens achteraan in de form tag.

Systeem | Strava


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Da's idd een stom idee. En dat geeft niks, maar je moet even weten dat dat geen bal uitmaakt voor degene die de html parsed :) zou verrot lastig worden als ik rekening moest gaan houden met de volgorde van de attributen... ;)

't is niet zo gek dat hetgeen wat je binnenkrijgt niet bekend is bij PHP, want PHP weet gewoon niet wat hij met de ruwe headers/content van de request aanmoet als niet de juiste enctype wordt meegegeven. Je zal zien, dat als je de <input type="file"> uit je form haalt, 't dan wel goed gaat zonder enctype="multipart/formdata" :)

edit:

Overigens bevindt de informatie over geupte bestanden in php > 4.1.2 in $_FILES

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

drm schreef op 06 november 2002 @ 01:29:
Da's idd een stom idee. En dat geeft niks, maar je moet even weten dat dat geen bal uitmaakt voor degene die de html parsed :) zou verrot lastig worden als ik rekening moest gaan houden met de volgorde van de attributen... ;)
Ach als ik alleen maar goede ideeen had zou het ook zo saai worden, dus af en toe ff een keer een misser tussendoor ;)

Systeem | Strava


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Ik heb het script even geprobeerd.. maar bij mij doet ie het prima onder PHP 4.2.3 (op het feit na dat je upload in $_FILES staat en niet in $_POST. Hij print bij mij dus nooit het woordje JA! totdat ik dat verander ;)

Lijkt me een configuratie probleempje ergens?

Verwijderd

Topicstarter
Sorry voor de late reactie, moest ook werken ed.

Waar zou het met de configuratie fout kunnen zitten?
Ik had begrepen dat hier hier fout zou kunnen zitten: register_globals = Off, maar die staat op On.

Dat $_POST was om te kijken of er wel vars worden meegegeven.

Ik weet het echt niet meer.
Pagina: 1