Scripts

Fotoalbum 1.0

Dit is versie 1.0 van mijn minifotoalbumpje. Ik ga misschien straks versie 2.0 nog posten, maar dat is soo nog niet af, en anders zal het voor na de vakantie zijn. De afbeeldingen vind je ... even kijken ... hier. http://users.telenet.be/coene-online/ dit is zoo easy om te gebruiken, je moet gewoon index.php draaien en het werkt indien je de sql-tables en de map images toevoegd hebt en dat laatste ge-Chomd777d hebt . als je er een menutje bij wil hebben, dan kan je dat oproepen door gewoon albumoverzicht(); of albumoverzicht("yes"); te gebruiken, als je het laatste neemt, dat heb je een limit op je menu staan en dan zie je alleen de laatste 10 albums ..., is gewoon soo easy

fotoalbum-10
[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]

Reacties

0
Nog geen reacties.