[php] fileupload probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb het volgende testscriptje:

PHP:
1
2
3
4
5
6
7
8
9
<?php
if(isset($_POST['upload'])){
    print_r($_FILES);
}?>

<form enctype="multipart/form-data" name="certificaat_edit" method="post" action="" onsubmit="return validateForm( this );">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="OK" name="upload">
</form>


dit werkt, in de zin, hij retourneert waarden,
als je deze code echter in een andere pagina kopieert dan werkt het niet meer,
weet iemand wat hier de redenen van kunnen zijn?
de pagina waar het om gaat is onderstaande, het formulier zit ingevoegd in een ander formulier, alleen met een andere submit knop.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

    if(isset($_POST['OK'])){

                blaat

    }
    
    if(isset($_POST['upload'])){
        print_r($_FILES);
        echo"<br>argh";
    }
    

?>
<?php
    include("bovenkant.php");
    ?>
    <form enctype="multipart/form-data" name="certificaat_edit" method="post" action="" onsubmit="return validateForm(this);">
    


            aantal formuliervelden


        
<?php
// bestand uploaden
?>  
    <?php 
    if($certificaat_naam!=NULL){ 
        ?>
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="OK" name="upload">
        
    <?php
    } ?>
<?php
// einde uploaden
?>
    </table>
    <?php button_ok_reset_nieuw($id,$_SERVER['PHP_SELF'])?>
    </form>
<?php

?>
<?php
// begin bottom pagina       
include("onderkant.php");

?>

[ Voor 112% gewijzigd door Verwijderd op 12-04-2006 10:35 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je knopje heet zeker toevallig niet "upload" deze keer? :?

Sowieso moet je niet op de submitknop checken. Als je bijvoorbeeld met Javascript je formulier submit, dan wordt die waarde helemaal niet geset in het $_POST-array. Controleer liever of $_SERVER['REQUEST_METHOD'] gelijk is aan "POST".

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
de knopnaam heb ik wel rekening mee gehouden, er wordt wel gezien dat je die knop gebruikt heb, aangezien het printen van de $_files array in een of statement staat die contreolleert op die submiknop, dat werkt dus, echter blijft die array altijd leeg terwijl hij in het testbestand wel van alles opslaat

[ Voor 10% gewijzigd door Verwijderd op 11-04-2006 12:01 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dan nog is de methode die ik noem om te checken op een submit veiliger. ;) En wat wordt er dan wel opgeslagen in dat tekstbestand?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

je checkt of $_POST['ok'] is gemaakt

maar in je form gebruik je de naam upload

dus op lijn 36 moet $_POST['ok'] $_POST['upload'] worden :)

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
rgl 68:
PHP:
1
2
3
4
if(isset($_POST['upload'])){ 
        print_r($_FILES); 
        echo"<br>argh"; 
    }

hij voert dat stuk wel uit als je op upload ramt,
alleen de array is gewoon leeg, daar waar hij bij de code uit voorbeeld 1 wel van alles print, dat is het probleem dus

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het vreemde is dat het in andere pagina's dus wel werkt, ik zal wel iets over het hoofd zien maar de vraag is wat :S

Acties:
  • 0 Henk 'm!

Verwijderd

Het enige wat ik zo direct zie van mogelijke fout is dat je je form twee keer afsluit. Onder if($certificaat_naam!=NULL){ ... zet je een </form> tag, en een beetje naar onder nogmaals. Misschien dat de browser hierdoor een "ghost" form aanmaakt en er daardoor iets misloopt met de file input.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
helaas, dit biedt ook geen soelaas,
het vreemde is wel dat het dus wel werkt opzich alleen dat hij een lege array print,
maar hij herkent wel dat je op de submit knop van het upload gedeelte hebt gedrukt

heeft iemand anders een idee?

Acties:
  • 0 Henk 'm!

  • b19a
  • Registratie: September 2002
  • Niet online
Draait je script toevallig op een andere server dan waar je eerder mee hebt getest (script 1 vs. script 2)? Zo ja dan zijn de instellingen van je tweede server gaar.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Valideer je HTML output eens; ik zie 2x een </form>

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb de 2e form weg gehaald,
het draait op dezelfde server,
als ik $_post en $_files print krijg ik de volgende resultaten:
code:
1
2
$_files: Array ( ) 
$_post: Array ( [certificaat_naam] => 1. ISO Cerftificaat 45a sectie 5b [certificaat_link] => tytytye [certificaat_file] => C:\\Documents and Settings\\Bureaublad\\certificaat.pdf [upload] => upload )

hij zet de bestandsnaam dus in de post gedeelte,
alleen daarmee kan je niks want dan upload hij hem volgens mij niet daadwerkelijk

[ Voor 4% gewijzigd door Verwijderd op 12-04-2006 09:33 ]


Acties:
  • 0 Henk 'm!

  • OverSoft
  • Registratie: December 2000
  • Laatst online: 18-09 11:09
Heb je toevallig magic_quotes aan staan of safemode?
En staan er geen ini_set's in die geinclude functies.

Daarnaast, volgens mij heb je niet het hele scriptje zelf geschreven of wel? ;)

[ Voor 58% gewijzigd door OverSoft op 12-04-2006 10:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het grootste gedeelte heb ik zelf geschreven ja :)

overigens, nee die staan niet aan, daarnaast, het werkt dus wel in dat andere voorbeeld dus waarom werkt het dan niet als ik het in deze pagina plak

en nee die staan er niet in die include functies

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Hoe ziet je uiteindelijke HTML er uit? Ik heb toch een donkerbruin vermoeden dat dat nogal rammelt qua syntax..

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
kennelijk maakt de volgorde van de velden in een formulier wel uit, want na enig knip en plak werk werkt het nu wel
bizar

maar goed, bedankt voor de moeite!

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

* crisp wijst toch nog even naar de validator ;)

Intentionally left blank

Pagina: 1