login  Naam:   Wachtwoord: 
Registreer je!
 Forum

upload script

Offline kenzo - 21/06/2006 14:48
Avatar van kenzoPHP beginner Hallo...

ik heb een upload script wat ook waardes in de database toevoegt.

Alles doet het goed, alleen als ik niets wil uploaden krijg ik fouten dat de extensie niet klopt of de foto te groot is.

Kan ik iets doen dat als de <input...> leeg is, hij gewoon geen foto upload?

Code:
  1. if(!$_FILES['bestand']['type'] == "image/jpeg" && !$_FILES['bestand']['type'] == "image/jpg" && !$_FILES['bestand']['type'] == "image/gif" && !$_FILES['bestand']['type'] == "image/png"&& !$_FILES['bestand']['type'] == "image/bmp")
  2. {
  3. echo top("Er is een fout opgetreden");
  4. echo "<table cellpadding='1' cellspacing='1' width='100%'><td width='100%'>De afbeelding heeft een ongeldige extensie. (.jpg/.png/.gif..)<BR><BR>Klik <a href='javascript:history.go(-1)'><b>hier</b></a> om terug te gaan.</td></table>";
  5. echo bottom();
  6. }
  7. ElseIf($grote[0] > 950 || $grote[1] > 700 || $grote[0] < 350 || $grote[1] < 350)
  8. {
  9. echo top("Er is een fout opgetreden");
  10. echo "<table cellpadding='1' cellspacing='1' width='100%'><td width='100%'>De afbeelding is groter dan 950/700 pixels of hij is kleiner dan 350/350/ pixels.<BR><BR>Klik <a href='javascript:history.go(-1)'><b>hier</b></a> om terug te gaan.</td></table>";
  11. echo bottom();
  12. }
  13. Else
  14. {
  15. @mysql_query("INSERT INTO markt (id,kop,beschrijving,prijs,user,plaats,email,telefoon,cat_id,provincie,omschrijving,afbeelding,datum) VALUES ('','".$_POST['kop']."','".$_POST['beschrijving']."','".$_POST['prijs']."','".$gebruiker['gebruikersnaam']."','".$_POST['plaats']."','".$gebruiker['email']."','".$_POST['telefoon']."','".$_POST['cat_id']."','".$_POST['provincie']."','".$_POST['omschrijving']."','".date("d_m_Y-H_i_s")."','".date("d-m-Y")."')")or die(mysql_error());
  16.  
  17. move_uploaded_file($_FILES['bestand']['tmp_name'], "modules/markt/image/".date("d_m_Y-H_i_s").".gif")or die("error");
  18. echo top ("Advertentie Toegevoegd!");
  19. echo table("De advertentie is succesvol toegevoegd aan onze database. (u wordt doorgestuurd naar de markt homepage!)");
  20. echo bottom();
  21. header('Refresh: 2; Url=index.php?sg=markt/index.php');
  22.  
  23. }
  24. }
  25. Else
  26. {
  27. echo top("Advertentie Toevoegen");
  28. echo "<table width='100%' cellpadding='1' cellspacing='1'>
  29. <td width='1%'>Titel: </td><td width='99%'><input name='kop' type='text' id='kop' size='50'></td><TR>
  30. <td width='1%' valign='top'>Beschrijving: </td><td width='99%'><textarea name='beschrijving' cols='60' rows='8' id='beschrijving'></textarea></td><TR>
  31. <td width='1%'>Categorie: </td><td width='99%'><select name='cat_id'>";
  32.  
  33. $sl = @mysql_query("SELECT id,titel from markt_cats ORDER BY id ASC")or die(mysql_error());
  34. while($c = mysql_fetch_assoc($sl))
  35. {
  36. If($_GET['cat'] == $c['id'])
  37. echo "<option value='".$c['id']."' selected>".ucfirst($c['titel'])."</option>";
  38. Else
  39. echo "<option value='".$c['id']."'>".ucfirst($c['titel'])."</option>";
  40. }
  41.  
  42. echo"</select></td><TR>
  43. <td width='1%'>Provincie: </td><td width='99%'><select name='provincie'><option value='' style='COLOR: #bbbbbb'>Kies een provincie..</option>";
  44.  
  45. $sl2 = @mysql_query("SELECT id,titel from provincie ORDER BY id ASC")or die(mysql_error());
  46. while($prov = mysql_fetch_assoc($sl2))
  47. {
  48. echo "<option value='".$prov['titel']."'>".ucfirst($prov['titel'])."</option>";
  49. }
  50.  
  51. echo"</select> </td><TR>
  52. <td width='1%'>Woonplaats: </td><td width='99%'><input name='plaats' type='text' id='plaats' size='50'></td><TR>
  53. <td width='1%'>Prijs: </td><td width='99%'><input name='prijs2' type='text' disabled id='prijs2' style='border-right: 0px solid' value='&euro;' size='1'><input name='prijs' style='border-left: 0px solid' type='text' id='prijs' size='47'></td><TR>
  54. <td width='1%'>Telefoon: </td><td width='99%'><input name='telefoon' type='text' id='telefoon' size='50'></td><TR>
  55. <td width='1%'>Omschrijving Foto: </td><td width='99%'><input name='omschrijving' type='text' id='omschrijving' size='50'></td><TR>
  56. <td width='1%'>Selecteer&nbsp;een&nbsp;Afbeelding: </td><td width='99%'><input type='file' name='bestand' size='37'></td><TR>
  57. <td width='1%'> </td><td width='99%'><input type='submit' name='submit' value='Voeg toe!'></td><TR>
  58. </table>";

12 antwoorden

Gesponsorde links
Offline Dark_Paul - 21/06/2006 14:55 (laatste wijziging 21/06/2006 15:03)
Avatar van Dark_Paul PHP ver gevorderde controleer of 't veld leeg is. zoja, zet niets in de db, zonee, zet de invoer in de db.
  1. if ($_FILES['bestand']['tmp_name'] != "")
  2. {
  3. move_uploaded_file($_FILES['bestand']['tmp_name'], "modules/markt/image/".date("d_m_Y-H_i_s").".gif")or die("error");
  4. echo top ("Advertentie Toegevoegd!");
  5. echo table("De advertentie is succesvol toegevoegd aan onze database. (u wordt doorgestuurd naar de markt homepage!)");
  6. echo bottom();
  7. header('Refresh: 2; Url=index.php?sg=markt/index.php');
  8. }

zoiets misschien? dit stukje in je else-statement waar 't al upgeload werd..
Offline svm - 21/06/2006 14:58
Avatar van svm PHP ver gevorderde Misschien iets met if en else?
Offline kenzo - 21/06/2006 15:00 (laatste wijziging 21/06/2006 15:04)
Avatar van kenzo PHP beginner ik ha dit:

  1. if (!empty($_POST['bestand']))


maar die staat voor de else, dus hij voegt ook niets in, maar geeft geen foutmelding.

ik zou iets moeten hebben als:

  1. if (!empty($_POST['bestand'])) go to @mysql_query


hier klopt niets van, maar iets in die richting...

@mysql_query is de insurt query



@Dark_Paul

Hij geeft nog steeds een fout van dat de verkeerde ext is.

maar met die if zou hij de goede melding moeten geven, maar ook in de database zetten?
Offline Thomas - 21/06/2006 15:04
Avatar van Thomas Moderator Staat in je form-tag het attribuut enctype="multipart/form-data"?
Offline kenzo - 21/06/2006 15:05 (laatste wijziging 21/06/2006 15:05)
Avatar van kenzo PHP beginner nee...

dit heb ik:

  1. If($_SERVER['REQUEST_METHOD'] == "POST")
Offline xSc - 21/06/2006 15:06
Avatar van xSc Onbekend Kenzo, FangorN bedoelt je HTML-tag <form> als je daar niet de juiste enctype aan meegeeft, wordt er ook geen bestand geupload.
Offline kenzo - 21/06/2006 15:08
Avatar van kenzo PHP beginner sorry... ik heb die in een andere pagina staan...

maar hij upload wel...

alleen als ik het balkje voor te uploaden leeg laat (als ik niets hoef te uploaden), geeft hij ook een fout
Offline Dark_Paul - 21/06/2006 19:19 (laatste wijziging 21/06/2006 19:23)
Avatar van Dark_Paul PHP ver gevorderde je kan je hele ding in een if-statement zetten..
  1. <?php
  2. if (isset(jepost) && (jepost) != "")
  3. {
  4. if(!$_FILES['bestand']['type'] == "image/jpeg" && !$_FILES['bestand']['type'] == "image/jpg" && !$_FILES['bestand']['type'] == "image/gif" && !$_FILES['bestand']['type'] == "image/png"&& !$_FILES['bestand']['type'] == "image/bmp")
  5. {
  6. echo top("Er is een fout opgetreden");
  7. echo "<table cellpadding='1' cellspacing='1' width='100%'><td width='100%'>De afbeelding heeft een ongeldige extensie. (.jpg/.png/.gif..)<BR><BR>Klik <a href='javascript:history.go(-1)'><b>hier</b></a> om terug te gaan.</td></table>";
  8. echo bottom();
  9. }
  10. ElseIf($grote[0] > 950 || $grote[1] > 700 || $grote[0] < 350 || $grote[1] < 350)
  11. {
  12. echo top("Er is een fout opgetreden");
  13. echo "<table cellpadding='1' cellspacing='1' width='100%'><td width='100%'>De afbeelding is groter dan 950/700 pixels of hij is kleiner dan 350/350/ pixels.<BR><BR>Klik <a href='javascript:history.go(-1)'><b>hier</b></a> om terug te gaan.</td></table>";
  14. echo bottom();
  15. }
  16. Else
  17. {
  18. @mysql_query("INSERT INTO markt
  19. (id,
  20. kop,
  21. beschrijving,
  22. prijs,
  23. user,
  24. plaats,
  25. email,
  26. telefoon,
  27. cat_id,
  28. provincie,
  29. omschrijving,
  30. afbeelding,
  31. datum)
  32. VALUES ('',
  33. '".$_POST['kop']."',
  34. '".$_POST['beschrijving']."',
  35. '".$_POST['prijs']."',
  36. '".$gebruiker['gebruikersnaam']."',
  37. '".$_POST['plaats']."',
  38. '".$gebruiker['email']."',
  39. '".$_POST['telefoon']."',
  40. '".$_POST['cat_id']."',
  41. '".$_POST['provincie']."',
  42. '".$_POST['omschrijving']."',
  43. '".date("d_m_Y-H_i_s")."',
  44. '".date("d-m-Y")."')")or die(mysql_error());
  45.  
  46. move_uploaded_file($_FILES['bestand']['tmp_name'], "modules/markt/image/".date("d_m_Y-H_i_s").".gif")or die("error");
  47. echo top ("Advertentie Toegevoegd!");
  48. echo table("De advertentie is succesvol toegevoegd aan onze database. (u wordt doorgestuurd naar de markt homepage!)");
  49. echo bottom();
  50. header('Refresh: 2; Url=index.php?sg=markt/index.php');
  51. }
  52. } ?>
uiteraard 'jepost' nog ff goedzetten..
Offline kenzo - 21/06/2006 19:36 (laatste wijziging 21/06/2006 19:37)
Avatar van kenzo PHP beginner Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in
c: \appserv\www\deknagertjes.nl\modules\markt\toev2.php on line 2


deze fout krijg ik
Offline Rens - 21/06/2006 19:42 (laatste wijziging 21/06/2006 19:42)
Avatar van Rens Gouden medaille

Crew algemeen
Heb je op lijn 2 die "jepost" veranderd?
Zo ja, post lijn 2 eens.
Zo nee, veranderen dan.

En leer debuggen, want als je voor elke fout die je gaat krijgen hier een nieuw topic opent worden er hier opeens veel topics geopend denk ik...
Offline GTW - 21/06/2006 20:05
Avatar van GTW Gouden medaille

PHP gevorderde
er moet niet jepost maar $jepost staan 
Offline kenzo - 22/06/2006 08:53 (laatste wijziging 22/06/2006 11:26)
Avatar van kenzo PHP beginner ik heb het nu. Bedankt

Nog een vraag.
Als het veld leeg is moet hij of niets invoeren, of een andere waarde.
Ik heb dit geprobeerd, maar in bijde gevallen voegt hij in de database toe: //geen//foto (dit heb ik opgegeven in de qeury bij : if (!empty($_FILES['bestand'])) {

dus...
Als ik geen foto wil uploaden upload hij ook niets, en voegt //geen//foto in de database toe (goed
als ik wel een foto wil uploaden upload hij ook een foto, maar voegt ook //geen//foto toe in de database (dat is dus fout).

Dit is de code:

Code:

Hele script: http://www.plaatscode.be/825/

  1. {
  2.  
  3. if (!empty($_FILES['bestand'])) {
  4. mysql_query("INSERT INTO markt (id,kop,beschrijving,prijs,user,plaats,email,telefoon,cat_id,provincie,omschrijving,afbeelding,datum) VALUES ('','".$_POST['kop']."','".$_POST['beschrijving']."','".$_POST['prijs']."','".$gebruiker['gebruikersnaam']."','".$_POST['plaats']."','".$gebruiker['email']."','".$_POST['telefoon']."','".$_POST['cat_id']."','".$_POST['provincie']."','".$_POST['omschrijving']."','//geen//foto','".date("d-m-Y H:i:s")."')")or die(mysql_error());
  5. }
  6. Else
  7. {
  8.  
  9. mysql_query("INSERT INTO markt (id,kop,beschrijving,prijs,user,plaats,email,telefoon,cat_id,provincie,omschrijving,afbeelding,datum) VALUES ('','".$_POST['kop']."','".$_POST['beschrijving']."','".$_POST['prijs']."','".$gebruiker['gebruikersnaam']."','".$_POST['plaats']."','".$gebruiker['email']."','".$_POST['telefoon']."','".$_POST['cat_id']."','".$_POST['provincie']."','".$_POST['omschrijving']."','".date("d_m_Y-H_i_s")."','".date("d-m-Y H:i:s")."')")or die(mysql_error());
  10. }
  11. if(!empty($_FILES['bestand']['tmp_name']))
  12. {
  13. move_uploaded_file($_FILES['bestand']['tmp_name'], "modules/markt/image/".date("d_m_Y-H_i_s").".gif")or die("error");
  14. }
  15. echo top ("Advertentie Toegevoegd!");
  16. echo table("De advertentie is succesvol toegevoegd aan onze database. (u wordt doorgestuurd naar de markt homepage!)");
  17. echo bottom();
  18. header('Refresh: 2; Url=index.php?deknagertjes=markt/index.php');

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.254s