Probleem met Array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

M o

m o

20/06/2011 10:05:02
Quote Anchor link
Ik wil graag in het geval er iets ingevuld word bij de foto er een 1 weergegeven word (in onderstaand voorbeeld iig) en als er niets ingevuld is niets gebeurt
Echter word er altijd een 1 weergegeven wanneer je op verzenden drukt, ook als er niets ingevuld ook als je geen bestand upload...
Als ik niets invul krijgt $_FILES['foto'] de waarde 'array'
Iemand enig idee hoe ik dit op kan lossen of kent iemand een andere manier om hetzelfde te berijken?

Alvast bedankt

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (isset($_POST['verzonden'])){

    if (isset($_FILES['foto'])){
    echo '1';
    }

}
else {

?>

<form method="post" enctype="multipart/form-data" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']?>
">
<pre>
Kies een foto: <input name="foto" type="file" size="30" id="foto" value="" />

<input type="hidden" name="verzonden" value="1" />
<input type="submit" name="Submit" value="Verzenden" />
<input type="reset" name="Reset" value="Leegmaken" />

</form>
Gewijzigd op 20/06/2011 11:21:10 door M o
 
PHP hulp

PHP hulp

28/03/2024 17:36:39
 
Roel H

Roel H

20/06/2011 10:08:21
Quote Anchor link
Ik denk dat je de code even tussen code moet gooien, leest beter.
Bij action dat ff weghalen, alleen action="" neerzetten.
Daarnaast echo 1; zonder ''.
 
M o

m o

20/06/2011 10:20:17
Quote Anchor link
dat is het probleem niet
 
Gerhard l

gerhard l

20/06/2011 10:22:56
Quote Anchor link
het is ook geen $_files het staat gewoon in je $_post
 
Roel H

Roel H

20/06/2011 10:23:32
Quote Anchor link
if (isset($_FILES['foto'])){
Hier de isset weghalen dan?

<input type="hidden" name="verzonden" value="1" />
<input type="submit" name="Submit" value="Verzenden" />

Waarom dit zo? Snap ik even niet... verzonden en submit komen niet met elkaar overeen bij $_POST bovenin
 
Johan van der Molen

Johan van der Molen

20/06/2011 10:26:19
Quote Anchor link
Gerhard l op 20/06/2011 10:22:56:
het is ook geen $_files het staat gewoon in je $_post


Die image staat wel in $_FILES hoor.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if (isset($_FILES['foto']) && $_FILES['foto']['error'] == 0){


Zou een oplossing kunnen zijn.
Gewijzigd op 20/06/2011 10:35:15 door Johan van der Molen
 
M o

m o

20/06/2011 11:08:53
Quote Anchor link
ik heb post geprobeerd en wat johan zei, geen van beiden hielp
 
Gerhard l

gerhard l

20/06/2011 11:11:18
Quote Anchor link
<input type="hidden" name="verzonden" value="1" />

waar slaat dat op?

om te kijken of er iets gepost is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
   //gepost
   if (isset($_FILES['foto'])){
      echo '1';
   }
}

?>
Gewijzigd op 20/06/2011 11:11:37 door gerhard l
 
M o

m o

20/06/2011 11:16:48
Quote Anchor link
zo heb ik dat altijd geleerd, maar in principe werkt het toch hetzelfde, of niet?
 
Gerhard l

gerhard l

20/06/2011 11:18:05
Quote Anchor link
nee want jij zegt, if isset 'verzonden' en een paar regels verder zeg je dat 'verzonden' altijd '1' is ook al verstuur je niks?
 
M o

m o

20/06/2011 11:20:07
Quote Anchor link
die 1 word alleen ingevuld wanneer je op verzenden drukt

Ik heb de op iets aangepast, miss dat het niet duidelijk genoeg was..
Gewijzigd op 20/06/2011 11:22:23 door m o
 
Gerhard l

gerhard l

20/06/2011 11:21:17
Quote Anchor link
Als jij denkt dat dat beter is doe je dat toch?
 
M o

m o

20/06/2011 11:23:25
Quote Anchor link
ik zeg niet dat het beter is, ik zeg alleen dat het werkt.
Ik heb jou methode net geprobeerd, maar geeft nog altijd hetzelfde resultaat
 
Gerhard l

gerhard l

20/06/2011 11:34:38
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //echo $_FILES['foto']['name'];
    if($_FILES['foto']['error'] == '0'){
        echo $_FILES['foto']['name'].' gepost';
    }

    else{
        echo 'geen afbeelding of error';
    }    
}

?>
    
<form method="POST" enctype="multipart/form-data" action=""/>
Kies een foto:    <input name="foto" type="file" size="30" id="foto" value="" />
<input type="submit" name="Submit" value="Verzenden" />
<input type="reset" name="Reset" value="Leegmaken" />

</form>


Werkt
 
Mebus  Hackintosh

Mebus Hackintosh

20/06/2011 11:35:57
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SERVER['REQUEST_METHOD'] == 'POST'


Is er voor om te kijken wat voor request er gemaakt word naar je server.. Meestal maak je op je website een GET request.. Dus waar nu POST staat kan je ook GET neerzetten. GET=verkrijgen, POST=versturen (invoer velden, uploads etc).

Dus zodra er een POST submit word gemaakt stuurt er iemand naar je website een POST request. Nu je php script weet dat er een POST request is kan je kijken of de invoervelden waarvan jij wilt dat ze ingevuld zijn of mee zijn verstuurt er ook daadwerkelijk zijn.

Met isset kijk je of het POST-veld is meegestuurd. Meer niet. Het kan dan dus nog steeds zo zijn dat er niks is ingevuld. Dit kan je controleren door dit stukje code te gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(strlen(trim($_POST['veld'])) > 0))
 
Johan van der Molen

Johan van der Molen

20/06/2011 11:48:21
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (isset($_POST['submit'])) :

    if (isset($_FILES['foto']) && $_FILES['foto']['error'] == 0){
        echo $_FILES['foto']['name'];
    }
else {
        echo 'Geen image.';
    }

else :
?>

<form method="post" enctype="multipart/form-data" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']?>
">
Kies een foto: <input name="foto" type="file" size="30" id="foto" value="" />

<input type="submit" name="submit" value="Verzenden" />
<input type="reset" name="Reset" value="Leegmaken" />

</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
endif;
?>
Gewijzigd op 20/06/2011 11:52:34 door Johan van der Molen
 
M o

m o

20/06/2011 12:26:10
Quote Anchor link
Bedankt voor de hulp gerhard, het probleem is opgelost :>

en de rest ook bedankt natuurlijk!
Gewijzigd op 20/06/2011 12:27:35 door m o
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.