[code]
<?php


// done : uploadsysteem



// Script door Bart C. 
// 19-07-2007


// De sql-tables :

/*


CREATE TABLE `album` (
  `id` int(99) NOT NULL auto_increment,
  `naam` varchar(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


CREATE TABLE `fotos` (
  `id` int(4) NOT NULL auto_increment,
  `titel` varchar(50) NOT NULL,
  `beschrijving` text NOT NULL,
  `album` int(2) NOT NULL,
  `locatie` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


*/

// De config :


// Errors :
$error1 = "Niet numeriek";                // De id is niet numeriek.
$error2 = "Bestaat niet";                 // Opgevraagt bestand bestaat niet
$error3 = "Mysql error";                  // Mysql error
$error4 = "Geen album of foto opgegeven"; // Geen album opgegeven
$error5 = "Anti-sql injection";           // Anti-sql injection

// Functies :

// Connectie met de database :
function quickconnect() {
	
	$database = "";
	$dbuser = "";
	$dbpass = "";
	$dbhost = "localhost";

	
	mysql_connect($dbhost,$dbuser,$dbpass);
	
	mysql_select_db($database);
	
}

// Extra functietje : dit toont een overzicht van alle (of de laatste 10) albums

function albumoverzicht($limit = "no") {
	quickconnect();
	if($limit == "yes") {
		$resource = mysql_query('SELECT * FROM album ORDER BY id DESC limit 0,10');
	}
	else {
		echo "Selecteer een fotoalbum";
		$resource = mysql_query('SELECT * FROM album');
	}
	echo "<dl>";
	while ($data = mysql_fetch_array($resource)) {
		echo "<di>&nbsp;-&nbsp;&nbsp;<a href=\"?actie=fotoalbum&album=" . $data['id'] . "\">" . $data['naam'];
		$query = mysql_query("SELECT * FROM fotos WHERE album = '" . $data['id'] . "'");
		echo " (" . mysql_num_rows($query) . ")";
		echo "</a><br>";
	}
	echo "</dl>";
}


?>
<!-- HTML opmaak moet je zelf maar doen, heb ik geen zin in ;)-->

<html>
<head>
<title>
Fotogallerij
</title>
</head>
<body>
<!-- We gaan een beetje php gebruiken ! joepie -->
<?php

// We gaan onze acties switchen, das makkelijk en we kunnen alles in een script proppen, das leuker 8)
switch ($_GET['actie']) {
	
	case "upload":
		echo '<a href="?">terug naar het overzicht</a><br>';
		if(isset($_GET['xa'])){
			$action ="?actie=upload&xa=addalbum&xaw=verwerk";
		}
		else {
			$action = "?verwerk=upload";
		}
		?>
	
		 <form method="post" action="<?php echo $action; ?>" enctype="multipart/form-data" name="form1">
		 <?php
		 quickconnect();
		 
		 unset($query);
		 unset($data);
		 ?>
		 <table border="0">	
	 	<tr>
	 	<td width="150">Album : (<a href="?actie=upload&xa=addalbum">voeg toe</a>)</td>
	 	<td width="250">
	 	<select name="album">
	 	
	 	<?php
	 	echo '<option value="0" selected disabled>-- Selecteer een album --</option>';
	 	
	 	$query = mysql_query("SELECT * FROM album");
	 	
	 	while ($data = mysql_fetch_array($query)){
			 echo '<option value="'.$data['id'].'">'.$data['naam'].'</option>';
		 }
		 
		 ?>
		 </select></td></tr>
		 <?php
		 
		 if(isset($_GET['xa'])){
			 
			 echo '<tr><td colspan="2" bgcolor="red" height="70" style="border: solid 1px black;" valign="top">';
			 
			 if(isset($_GET['xaw']) && $_GET['xaw'] == "verwerk"){
				 mysql_query("INSERT INTO album SET naam='" . $_POST['albumnaam'] . "'");
				 if(mysql_errno() == "0"){
					 echo '<div align="right"><a href="?actie=upload"><img src="sluit.bmp" border="0" align="right"></a></div>';
					 echo "<font color=\"black\">Het album is succesvol toegevoegt. Gelieve eerst dit scherm te sluiten voor je het uploadformulier invult.</font>"; 
				 }
				 else {
					 echo $error3;
					 echo "<br>" . mysql_error();
				 }
			 }
			 else {
				 echo '<div align="right"><a href="?actie=upload"><img src="sluit.bmp" border="0"></a></div>';
				 echo '<table border="0">';
				 echo '<tr><td width="135"><font color="black">Albumnaam :</font></td><td width="200"><input type="text" name="albumnaam"></td></tr>';
				 echo '<tr><td colspan="2" align="center"><input type="submit" value="voeg album toe" name="verzend" class="submit"></td></tr>';
				 echo '</table>';
						 	}
			 echo "</td></tr>";
			 
		 }
		 else {}
		 
		 ?>
		 <tr><td>Titel :</td><td><input type="text" name="titel"></td></tr>
		 <tr><td>Beschrijving : </td><td><textarea cols="26" rows="1" name="beschrijving"></textarea></td></tr>
	     <tr><td>Bestand :</td><td><input type="file" name="afbeelding" class="file"></td></tr>
	     <tr><td colspan="2" align="center"><input type="submit" name="submit" value="uploaden"> </td></tr>
	     </form></table>
		
		<?php
	
	break;
	
	case "albums" :
		echo '<a href="?">terug naar het overzicht</a><br>';
		quickconnect();

		echo "Selecteer een fotoalbum";
		$resource = mysql_query('SELECT * FROM album');
		echo "<dl>";
		while ($data = mysql_fetch_array($resource)) {
			echo "<di>&nbsp;-&nbsp;&nbsp;<a href=\"?actie=fotoalbum&album=" . $data['id'] . "\">" . $data['naam'];
			$query = mysql_query("SELECT * FROM fotos WHERE album = '" . $data['id'] . "'");
			echo " (" . mysql_num_rows($query) . ")";
			echo "</a><br>";
		}
		echo "</dl>";
	
	break;
	
	case "fotoalbum" :
	echo '<a href="?">terug naar het overzicht</a>';
		if(isset($_GET['album'])) {
			$albumid = $_GET['album'];
			quickconnect();
	if(is_numeric($albumid)) {
		$query = mysql_query("SELECT * FROM fotos WHERE album = '" . $albumid . "'");
		echo "<center><table border=\"1\" width=\"80%\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
		if(mysql_num_rows($query) == "1") {
			echo "<tr><td colspan=\"2\"><center><font size=\"4\">" . mysql_result(mysql_query("SELECT * FROM album WHERE id='" . $albumid . "'"),0,"naam") . "<br><br></font></center></td><tr>";
			echo '<td width="150">';
			echo '<a href="?actie=slideshow&album=' . $albumid . '&foto=' . mysql_result($query,0,"id") . '"><img src="'.mysql_result($query,0,"locatie").'" height="100" border="0"></a>';
			echo '</td>';
			echo '<td valign="top">' . mysql_result($query,0,"titel") . '</td>';
		}
		elseif(mysql_num_rows($query) == "0") {
			echo "<tr><td colspan=\"5\"><center><font size=\"4\">" . mysql_result(mysql_query("SELECT * FROM album WHERE id='" . $albumid . "'"),0,"naam") . "<br><br></font></center></td><tr>";
			echo "<tr><td colspan=\"5\">";
			echo $error2;
			echo "</td></tr>";
		}
		else {
			echo "<tr><td colspan=\"5\" ><center><font size=\"4\">" . mysql_result(mysql_query("SELECT * FROM album WHERE id='" . $albumid . "'"),0,"naam") . "<br><br></font></center></td><tr>";
			$teller = "0";
			while ($data = mysql_fetch_array($query)){
				echo '<td width="150"><a href="?actie=slideshow&album=' . $albumid . '&foto=' . $data['id'] . '"><img src="'.$data['locatie'].'" height="100" border="0"></a></td><td valign="top">' . $data['titel'] . '</td>';
				if($teller&1) {
					echo "</tr><tr>";
				}
				$teller ++;
			}
		}
		echo "</table></center>";
	}
	else {
		echo $error1;
	}
		}
		else {
			echo $error4;
		}
	
	break;
	
	case "slideshow" :
	echo '<a href="?">terug naar het overzicht</a><br>';
		if(isset($_GET['album']) && isset($_GET['foto'])){
			$album = $_GET['album'];
			$foto = $_GET['foto'];
	quickconnect();
	if(is_numeric($album) && is_numeric($foto)) {
		
		
		$query = mysql_query("SELECT * FROM fotos WHERE id='" . $foto . "'");
		echo '<center><table width="95%">';
		echo "<tr><td colspan=\"3\">";
		echo '<div align="right"><a href="?actie=fotoalbum&album=' . $album . '">Ga terug naar het fotoalbum</a></div>';
		echo "</td></tr>";
		echo '<tr><td colspan="3"><center><font size="5">' . mysql_result($query,0,"titel") . '</font></center></td></tr>';
		
		$teller = "0";
		$query2 = mysql_query("SELECT * FROM fotos WHERE album='" . $album . "'ORDER BY id");
		if(mysql_num_rows($query2) != 0 || mysql_num_rows($query2) != 1) {
			while($data = mysql_fetch_array($query2)){
				
				if($teller == 1) {
					$nextid = $data['id'];
					$teller=2;
					break;
				}
				else {
				}
				
				if($data['id'] == $foto) {
					$teller++;
				}
				else {
					
				}
				
			}
			
			if($teller == 2) {
				$knopnext = "pijl_rechts";
			}
			else {
				$knopnext = "pijl_rechts_disabled";
				$disablednext = "true";
			}
			
			$teller2 = "0";
			$query3=mysql_query("SELECT * FROM fotos WHERE album='" . $album . "'ORDER BY id DESC");
			while($data2 = mysql_fetch_array($query3)) {
				
				if($teller2 == 1) {
					$backid = $data2['id'];
					$teller2=2;
					break;
				}
				else {
				}
				
				if($data2['id'] == $foto) {
					$teller2++;
				}
				else {
					
				}
				
			}
			
			if($teller2==2) {
				$knopnext = "pijl_links";
			}
			else {
				$knopback = "pijl_links_disabled";
				$disabledback = "true";
			}
		}
		
		echo '<tr><td align="left" valign="bottom" height="450">';
		
		if($disabledback == "true" || mysql_num_rows($query2) == 0 || mysql_num_rows($query2) == 1) {
			echo '<img border="0" src="pijl_links_disabled.gif" title="Dit is de eerste foto" alt="Dit is de eerste foto">';
		}
		else {
			echo '<a href="?actie=slideshow&album=' . $album . '&foto=' . $backid . '"><img border="0" src="pijl_links.gif" title="vorige foto" alt="vorige foto"></a>';
		}
		
		echo '</td><td colspan="1" align="center" valign="top"><img src="' . mysql_result($query,0,"locatie") . '" height="450"></td><td align="right" valign="bottom">';
		
		if($disablednext == "true" || mysql_num_rows($query2) == 0 || mysql_num_rows($query2) == 1) {
			echo '<img border="0" src="pijl_rechts_disabled.gif" title="Dit is de laatste foto" alt="Dit is de laatste foto">';
		}
		else {
			echo '<a href="?actie=slideshow&album=' . $album . '&foto=' . $nextid . '"><img border="0" src="pijl_rechts.gif" title="vorige foto" alt="vorige foto"></a>';
		}
		
		
		echo '</td></tr>';
		echo '<tr><td align="center" colspan="3">' . mysql_result($query,0,"beschrijving") . '</td></tr>';
		echo '</table></center>';
	}
	else {
		echo $error5;
	}
		}
		else {
			echo $error4;
		}
	
	break;
	
	// geen actie, dan geven we een menu'tje
	default:
		if(isset($_GET['verwerk'])){
			// doe niets
		}
		else {
			// toon menu
		?>
		<a href="?actie=upload">Uploaden</a><br>
		<a href="?actie=albums">Overzicht albums</a><br>
		<?php 
		}
	break;
	
}

// en we gaan onze verwerkpagina's switchen
switch ($_GET['verwerk']) {
	
	case "upload" :
	echo '<a href="?">terug naar het overzicht</a><br>';
		$map = "images"; // de map waar je het in gaat uploaden
		$maxbytes = "10485760"; // het maximale aantal bytes, dit is 10 mb (10*1024*1024)
		quickconnect();

   		if($_POST['titel'] != "" && $_POST['album'] != "0" && isset($_POST['album'])){
		
   		$locatie = $map . "/"; //of een andere map, vergeet niet de w-rechten 
   		if(is_uploaded_file($_FILES['afbeelding']['tmp_name'])) 
   		{ 
        	//controleer grootte 
        	if($_FILES['afbeelding']['size']>$maxbytes) 
        	           { //bepaal zelf de max. grootte in bytes 
        	           echo "Het bestand is te groot"; 
        	           exit; 
        	           } 
        	           
	
	        //controleer extensie, voeg maar andere toe 
	        if(!eregi("((.gif|.jpg|.bmp)$)", $_FILES['afbeelding']['name'])) 
	                   { 
	                   echo "het bestand is niet van het juiste type"; 
	                   exit; 
	                   } 
   		                $daaata = explode(".",$_FILES['afbeelding']['name']);
                   
    	               $teller = count($daaata) - 1;
    	                                  
    	               $extensie = $daaata[$teller];
	
	                   $query = mysql_query("SELECT id FROM fotos ORDER BY id DESC LIMIT 0,1");
	                   
	                   if(mysql_num_rows($query) == "0") {
		                   $naam = 1 . "." . $extensie;
	                   } 
	                   else {
		                   $naam = mysql_result($query,0,"id") + 1 . "." . $extensie;
	                   }
			
			
	        if(!move_uploaded_file($_FILES['afbeelding']['tmp_name'], 
	                               $locatie.$naam))
	
	                  { 
	                  echo "het bestand kan niet worden verplaatst"; 
   	               exit; 
   	               } 
   	               
					  mysql_query("INSERT INTO fotos SET titel='".$_POST['titel']."', beschrijving='".$_POST['beschrijving']."', album='".$_POST['album']."', locatie='".$locatie.$naam."'");  
					  if(mysql_errno == 0){
						  echo "Uw bestand " . $_FILES['afbeelding']['name'] . " is geupload onder de naam " . $naam . " en in de map " . $map . "<br>";
					  }
					  else {
						  echo "Er is een fout opgelopen, waardoor het bestand niet kon worden geupload.";
						  unlink($locatie.$naam);
					  }
					  
   		}
   	  
   			else 
   		{ 
   		echo "Het uploaden is mislukt"; 
   		} 
   		  
		}	
		else {
		  	echo "Je hebt de titel niet ingevult of geen album geselecteerd";
		}
	break;
		// Dit mag geen default hebben
}


?>
<!-- Hier weer het laatste beetje html-->
</body>
</html>
<!-- Einde script-->
[/code]