login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Plaatje uploaden.

Offline Micron - 22/07/2006 14:08 (laatste wijziging 22/07/2006 14:28)
Avatar van MicronHTML beginner Hoi,

Ik heb een klein uploadscriptje gemaakt voor me nieuwsberichten (om eerst te testen of hij niks upload als hij een fout aangeeft).

Dit is dus WEL het geval. Als hij bijvoorbeeld zegt dat alleen JPG en PNG mogen worden geupload, zet hij het alsnog in de database.

Wat kan ik hieraan doen?

Aangezien plaatscode.be het weer eens niet doet;

  1. <?php
  2.  
  3. $mapnaam = "images/nieuws/";
  4.  
  5. if($_POST['imagetoevoegen'])
  6. {
  7. mysql_query("INSERT INTO image (id) VALUES ('')");
  8.  
  9. if($HTTP_POST_FILES['plaatje']['name']){
  10. $extensie = explode(".", $HTTP_POST_FILES['plaatje']['name']);
  11. $extensie = strtolower(end($extensie));
  12.  
  13. if ($extensie != "jpeg" && $extensie != "jpg" && $extensie != "png"){
  14. echo "Het is niet toegestaan dit formaat avatar te uploaden. Je kan alleen avatars van het type JPG, GIF of PNG uploaden!";
  15. }
  16. elseif($HTTP_POST_FILES['plaatje']['size'] >= 307200){
  17. ('Het is niet toegestaan een avatar te uploaden die groter is dan 300 kb.');
  18. }
  19. else
  20. {
  21. $img_sz = getimagesize($HTTP_POST_FILES['plaatje']['tmp_name']);
  22. if($img_sz[0] > "300" || $img_sz[1] > "300")
  23. {
  24. ('Je avatar mag niet groter dan 300 x 300 pixels zijn. Probeer hem desnoods te verkleinen.');
  25. }
  26. else
  27. {
  28. copy($_FILES['plaatje']['tmp_name'], $mapnaam.$_FILES["plaatje"]["name"]);
  29. chmod ($mapnaam.$_FILES['plaatje']['name'], 0777);
  30.  
  31. mysql_query("UPDATE image SET image ='nieuws_".mysql_insert_id().".".$extensie."' WHERE id='".mysql_insert_id()."'");
  32. }
  33. }
  34. }
  35. }
  36. else {
  37. echo "<form name=\"imagetoevoegen\" method=\"post\" enctype=\"multipart/form-data\">
  38. <input value=\"\" size=\"46\" name=\"plaatje\" type=\"file\"> <br />
  39. <input value=\" Verzend bericht ! \" name=\"imagetoevoegen\" type=\"submit\">
  40. </form>";
  41. }
  42. ?>

3 antwoorden

Gesponsorde links
Offline b4nkr0bz0r - 22/07/2006 14:16
Avatar van b4nkr0bz0r PHP gevorderde Waarom deze query:
  1. mysql_query("INSERT INTO image (image) VALUES ('')");

?

$HTTP_POST_FILES dit is verouder je kan beter $_FILES gebruiken.

Integers ("307200") moeten buiten quotes: 307200

I.P.V. echo '<hier je error>'; moet je die ('<hier je error>'); gebruiken in dit geval, nu stopt het script en wordt er niks meer upgeload.

Offline Micron - 22/07/2006 14:16 (laatste wijziging 22/07/2006 14:28)
Avatar van Micron HTML beginner Ik heb nu het bovenstaande script aangepast. Dit is wat ik nu heb, maar als ik nu nog een GIF upload dan zet hij het alsnog in de database. (Hij zet wel veld image leeg neer, maar hij telt wel weer een ID erbij)
Offline b4nkr0bz0r - 22/07/2006 15:56
Avatar van b4nkr0bz0r PHP gevorderde Tuurlijk, elke keer als je op de knop drukt wordt er een nieuwe rij in de DB gemaakt, dat komt door die onnodige Query daar:
  1. mysql_query("INSERT INTO image (id) VALUES ('')");

Haal deze weg, en maak van de UPDATE-query een INSER-QUERY en dan gewoon met NULL ipv mysql_insert_id();
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.265s