• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22
  • TK: Kraai.eu

    frio 25 oktober 2026 om 11:39

Kan foto niet uploaden.

  • Sarjur
  • 2 juli 2010 om 18:06
  • Sarjur
    Leerling
    Berichten
    53
    • 2 juli 2010 om 18:06
    • #1

    hey
    ik van iemand een marktplaats script gekregen maar als ik een zoekertje wil plaatsen kan ik geen foto's uploaden. ik krijg steeds de foutmelding foto is geen JPG/JPEG bestand terwijl dit welzo is.

    Kan iemand mij helpen?

    Script van toevoegen

    PHP
    <?php
    if(!isset($_SESSION['username']) && !isset($_SESSION['email']))
    {
    	echo '<h2>Geen toegang</h2> U bent niet ingelogt op de website.';
    }
    else
    {
    
    
    echo '<h2>Produckt informatie</h2>';
    
    
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {
    	$sTrans['name']        = 'naam';	
    	$sTrans['cats']        = 'categarie';
    	$sTrans['price']       = 'prijs';
    	$sTrans['information'] = 'informatie';
    	$sTrans['picture1']    = 'Afbeelding 1';
    	$sTrans['picture2']    = 'Afbeelding 2';
    	
    	$sRandomCode = substr(md5(rand(0,9999999999)), 0, 5);
    
    
    	// Validatie!
    	if(empty($_POST['name']))
    	{
    		$aError[] = 'Product naam is leeg.';
    	}
    	elseif(ctype_alnum($_POST['name']))
    	{
    		$aError[] = 'De product naam is niet geldig!';
    	}
    	elseif(strlen($_POST['name']) < 3)
    	{
    		$aError[] = 'De product naam is te kort! ( > 3 )';
    	}
    	elseif(strlen($_POST['name']) > 150)
    	{
    		$aError[] = 'De product naam is te lang! ( < 150 )';
    	}
    	
    	if(is_float($_POST['cats']))
    	{
    		$aError[] = 'Product catogaries is niet een nummer.';
    	}
    
    
    	if(is_float($_POST['price']))
    	{
    		$aError[] = 'Product prijs is geen bedrag!';
    	}
    	
    	if(empty($_POST['information']))
    	{
    		$aError[] = 'Product information is leeg.';
    	}
    	elseif(ctype_alnum($_POST['information']))
    	{
    		$aError[] = 'De product information is niet geldig!';
    	}
    	elseif(strlen($_POST['information']) < 10)
    	{
    		$aError[] = 'De product information is te kort! ( > 10 )';
    	}
    	elseif(strlen($_POST['information']) > 500)
    	{
    		$aError[] = 'De product information is te lang! ( < 500 )';
    	}
    
    
    	if(isset($aError) && count($aError) > 0)
    	{
    		echo '<ul><span class="red">Er zijn fouten opgetreden:</span>';
    
    
    		foreach($aError as $sError)
    		{
    			echo '<li>' . $sError . '</li>';
    		}
    		
    		echo '</ul><br />';
    	}
    	else
    	{
    		// Start afbeelding 1
    		if($_FILES['picture1']['type'] == 'image/jpeg')
    		{
    			if($_FILES['picture1']['size'] < 1048576)
    			{
    				if($_FILES['picture1']['size'] > 50)
    				{
    					if($sPicture1 = file_get_contents($_FILES['picture1']['tmp_name']))
    					{
    						if(file_put_contents('./images/thumbs/' . strtolower($_SESSION['username']) .  '-1-' . $sRandomCode . '-' . strtolower($_FILES['picture1']['name']), $sPicture1))
    						{
    							$sSize = getimagesize($_FILES['picture1']['tmp_name']);
    							
    							if($sSize[0] > 800 && $sSize[1] > 600)
    							{
    								$aError2[] = 'Afbeelding 1 is groter dan 800x600.';
    							}
    							elseif($sSize[0] < 200 && $sSize[1] < 200)
    							{
    								$aError2[] = 'Afbeelding 1 is kleiner dan 200x200.';
    							}
    						}
    						else
    						{
    							$aError2[] = 'Kon Afbeelding 1 niet uploaden.';
    						}
    					}
    					else
    					{
    						$aError2[] = 'Kon Afbeelding 1 niet uploaden.';
    					}
    				}
    				else
    				{
    					$aError2[] = 'Afbeelding 1 is kleiner dan 50 bytes!';
    				}
    			}
    			else
    			{
    				$aError2[] = 'Afbeelding 1 is groter dan 5000 bytes!';
    			}
    		}
    		else
    		{
    			$aError2[] = 'Afbeelding 1 is niet JPG/JPEG.';
    		}
    		// Sluit afbeelding 1
    		
    		// Start afbeelding 2
    		if($_FILES['picture2']['type'] == 'image/jpeg')
    		{
    			if($_FILES['picture2']['size'] < 1048576)
    			{
    				if($_FILES['picture2']['size'] > 50)
    				{
    					if($sPicture2 = file_get_contents($_FILES['picture2']['tmp_name']))
    					{
    						if(file_put_contents('./images/thumbs/' . strtolower($_SESSION['username']) .  '-2-' . $sRandomCode . '-' . strtolower($_FILES['picture2']['name']), $sPicture2))
    						{
    							$sSize = getimagesize($_FILES['picture2']['tmp_name']);
    							
    							if($sSize[0] > 800 && $sSize[1] > 600)
    							{
    								$aError2[] = 'Afbeelding 2 is groter dan 800x600.';
    							}
    							elseif($sSize[0] < 200 && $sSize[1] < 200)
    							{
    								$aError2[] = 'Afbeelding 2 is kleiner dan 200x200.';
    							}
    						}
    						else
    						{
    							$aError2[] = 'Kon Afbeelding 2 niet uploaden.';
    						}
    					}
    					else
    					{
    						$aError2[] = 'Kon Afbeelding 2 niet uploaden.';
    					}
    				}
    				else
    				{
    					$aError2[] = 'Afbeelding 2 is kleiner dan 50 bytes!';
    				}
    			}
    			else
    			{
    				$aError2[] = 'Afbeelding 2 is groter dan 5000 bytes!';
    			}
    		}
    		else
    		{
    			$aError2[] = 'Afbeelding 2 is niet JPG/JPEG.';
    		}
    		// Sluit afbeelding 2
    		
    		if(isset($aError2) && count($aError2) > 0)
    		{
    			echo '<ul><span class="red">Er zijn fouten opgetreden:</span>';
    
    
    			foreach($aError2 as $sError2)
    			{
    				echo '<li>' . $sError2 . '</li>';
    			}
    			
    			echo '</ul><br />';
    		}
    		else
    		{
    			/*
    				 CREATE TABLE `webshop`.`products` (
    				`id` INT( 5 ) NOT NULL AUTO_INCREMENT ,
    				`sid` INT( 5 ) NOT NULL ,
    				`name` VARCHAR( 150 ) NOT NULL ,
    				`cats` INT( 5 ) NOT NULL ,
    				`price` VARCHAR( 50 ) NOT NULL ,
    				`information` TEXT NOT NULL ,
    				`picture1` VARCHAR( 200 ) NOT NULL ,
    				`picture2` VARCHAR( 200 ) NOT NULL ,
    				`date` DATETIME NOT NULL ,
    				`remote` VARCHAR( 200 ) NOT NULL ,
    				PRIMARY KEY ( `id` )
    				) ENGINE = InnoDB 		
    			*/
    
    
    			$sQuery = mysql_query("
    			INSERT INTO
    			products
    			(
    				pro_sid,
    				pro_name,
    				pro_cats,
    				pro_price,
    				pro_information,
    				pro_picture1,
    				pro_picture2,
    				pro_remote,
    				pro_date
    			)
    			VALUES
    			(
    				'" . mysql_real_escape_string($rowUser['use_id']) . "',
    				'" . mysql_real_escape_string($_POST['name']) . "',
    				'" . mysql_real_escape_string($_POST['cats']) . "',
    				'" . mysql_real_escape_string($_POST['price']) . "',
    				'" . mysql_real_escape_string($_POST['information']) . "',
    				'" . mysql_real_escape_string(strtolower($_SESSION['username']) .  "-1-" . $sRandomCode  . "-" . strtolower($_FILES['picture1']['name'])) . "',
    				'" . mysql_real_escape_string(strtolower($_SESSION['username']) .  "-2-" . $sRandomCode . "-" . strtolower($_FILES['picture2']['name'])) . "',
    				'" . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . "',
    				NOW()
    			)
    			");
    			
    			if(mysql_error())
    			{
    				echo mysql_error();
    			}
    			else
    			{
    				echo 'De volgende produckt is toegevoegt genaamt ' . $_POST['name'] . ' de prijs is ' . $_POST['price'] . ' en zit in catogarie ' . $aProducts[$_POST['cats']] . '.<br /><br />';
    			}
    		}
    	}
    }
    ?>
    
    
    <form name="form-submit" method="post" enctype="multipart/form-data" action="/account/submit/">
    
    
    <fieldset>
    	<legend>Produckt naam:</legend>
    	<input name="name" type="text" size="50" maxlength="150" value="<?php echo isset($_POST['name']) ? $_POST['name'] : ''; ?>" />
    </fieldset>
    
    
    <fieldset>
    	<legend>Catogarie:</legend>
    	<select size="1" name="cats" id="cats">
    		<option value="0" <?php if(!isset($_POST['cats'])) { echo 'selected="selected"'; } ?>>Keuze:</option>
    		<?php
    		foreach($aProducts as $sNumber => $sProduct )
    		{
    			echo '<option value="' . $sNumber . '" title="' . $sProduct . '" ' . (isset($_POST['cats']) && $_POST['cats'] == $sNumber ? 'selected="selected"' : '') . '>' . $sProduct . '</option>' . PHP_EOL;
    		}
    		?>
    	</select>
    </fieldset>
    
    
    <fieldset>
    	<legend>Prijs:</legend>
    	<input name="price" type="text" size="50" maxlength="150" value="<?php echo isset($_POST['price']) ? $_POST['price'] : ''; ?>" /> Max. 9999.99
    </fieldset>
    
    
    <fieldset>
    	<legend>Informatie:</legend>
    	<textarea rows="9" name="information" class="textarea" cols="37"><?php echo isset($_POST['information']) ? $_POST['information'] : ''; ?></textarea>
    </fieldset>
    
    
    <h2>Afbeeldingen toevoegen</h2> 
    
    
    Mocht u geen 2 plaatjes hebben doe dan gelijke plaatjes in de inputs.<br /><br />
    
    
    <fieldset>
    	<legend>Afbeelding 1:</legend>
    	<input name="picture1" type="file" size="59" maxlength="250" /> JPG/JPEG
    </fieldset>
    <fieldset>
    	<legend>Afbeelding 2:</legend>
    	<input name="picture2" type="file" size="59" maxlength="250" /> JPG/JPEG
    </fieldset>
    
    
    <fieldset>
    	<legend>&nbsp;</legend>
    	<input type="submit" class="submit2" value=" Toevoegen " />
    </fieldset>
    <?php
    }
    ?>
    Meer tonen
  • Gast, wil je besparen op je domeinnamen? (ad)
  • stark021
    Gevorderd
    Berichten
    204
    • 2 juli 2010 om 18:54
    • #2

    In de script staan wel de extensie namen maar er staat geen punt voor de extensies, misschien is dat de probleem?

  • Jannick
    nyan nyan nyan nyan
    Berichten
    1.972
    • 2 juli 2010 om 19:24
    • #3

    stark021 Voordat je een reactie geeft, leer dan eerst wat er in type zit met file uploaden... Het zijn MIME-types, waardoor een programma weet welke headers (in dit geval dus jpeg headers) zijn gebruikt.

    Ik zou, als ik jou was, teruggaan naar de maker van dit script. Er worden totaal verkeerde controles uitgevoerd (groter dan 50 bytes, wat het bijna altijd is, terwijl het niet kleiner dan 50 mag zijn, etc.), en de taal is echt belabberd.

    Met hoeveel bestanden heb je het geprobeerd?

  • Stefan.J
    Meester
    Berichten
    2.358
    • 2 juli 2010 om 21:59
    • #4

    En het is nog niet eens veilig ook niet! Je kunt beter checken op de extensie en op het werkelijk mime type. Want nu neemt het script het mimetype wat de browser mee stuurt. Kan ook zeggen dat een PHP script een jpeg mimetype heeft...

  • Sarjur
    Leerling
    Berichten
    53
    • 2 juli 2010 om 22:11
    • #5

    kun je even iets meer uitleg geven hierover. hoe ik het beter kan beveiligen en zeker kan laten uploaden naar de normen van vandaag.

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 3 juli 2010 om 00:11
    • #6

    http://www.php.net/manual/en/function.finfo-file.php
    http://en.wikipedia.org/wiki/Internet_media_type

    miauw!

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design