Om je op weg te helpen om je probleem op te lossen: Kijk eennn naar: $extensie. Wat bevat deze voor waarde?
Verder zie ik zie toch een hoop onveiligheiden in je script. Ook controleer je niet op mime-types.
De beste beveiliging is door te kijken naar getimagesize(). Deze kan aangeven of iets wel of geen afbeelding is. Als dit geen afbeelding is, dan kan je een foutmelding tonen. Verder is het zinloos om te controleren op drie letters. Er zijn ook extenties met vier tekens, zoals jpeg.
Zie ook eens deze tutorial: https://www.pfz.nl/wiki/uploaden/
Verder nog wat opmerkingen:
* Waarom gebruik je nog tabellen. Dat is zo 'zwaar' onhandig en inefficiënt. Verdiep je in de werekd van CSS en HTML 5. Je site kan je daarmee stukken beter finetunen.
* Gebruik geen mysql-functies meer, maar gebruik liever PDO of mysqli, en bij voorkeur de OO-versie. Met de laatste kan je met in ieder geval een extended classe van mysqli de query-methode uitbreiden met foutafhandeling.
* Zorg ook voor foutafhandeling als je move_uploaded_file() mislukt. In $_FILES['bestand']['error'] staat zoveel bruikbare informatie.
* En wat vind jij het nut van lege string te verbinden op lijn 41? Zet jij lege flessen zelf ook weer terug in de koelkast?