Probleem met Array
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
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:
<form method="post" enctype="multipart/form-data" action="">
<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>
Code (php)
<form method="post" enctype="multipart/form-data" action="">
<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
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 ''.
Bij action dat ff weghalen, alleen action="" neerzetten.
Daarnaast echo 1; zonder ''.
dat is het probleem niet
het is ook geen $_files het staat gewoon in je $_post
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
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
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.
Zou een oplossing kunnen zijn.
Gewijzigd op 20/06/2011 10:35:15 door Johan van der Molen
ik heb post geprobeerd en wat johan zei, geen van beiden hielp
<input type="hidden" name="verzonden" value="1" />
waar slaat dat op?
om te kijken of er iets gepost is:
waar slaat dat op?
om te kijken of er iets gepost is:
Code (php)
Gewijzigd op 20/06/2011 11:11:37 door gerhard l
zo heb ik dat altijd geleerd, maar in principe werkt het toch hetzelfde, of niet?
nee want jij zegt, if isset 'verzonden' en een paar regels verder zeg je dat 'verzonden' altijd '1' is ook al verstuur je niks?
die 1 word alleen ingevuld wanneer je op verzenden drukt
Ik heb de op iets aangepast, miss dat het niet duidelijk genoeg was..
Ik heb de op iets aangepast, miss dat het niet duidelijk genoeg was..
Gewijzigd op 20/06/2011 11:22:23 door m o
Als jij denkt dat dat beter is doe je dat toch?
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
Ik heb jou methode net geprobeerd, maar geeft nog altijd hetzelfde resultaat
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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>
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
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)
<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>
Gewijzigd op 20/06/2011 11:52:34 door Johan van der Molen
Bedankt voor de hulp gerhard, het probleem is opgelost :>
en de rest ook bedankt natuurlijk!
en de rest ook bedankt natuurlijk!
Gewijzigd op 20/06/2011 12:27:35 door m o




