php probleem bij select

Status
Niet open voor verdere reacties.

zodiak

Gebruiker
Lid geworden
9 okt 2008
Berichten
241
heb net het stukje om een gallerij aan te maken afgekregen en ben nu bezig aan het stuk om foto's te uploaden naar bepaalde gallerijen.

als ik op uploaden druk dan krijg ik het volgende te zien:

De volgende fouten zijn opgetreden:

Je hebt geen omschrijving ingevuld

Klik hier om terug te keren dit is geen afbeelding!

dit is de pagina:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Modo-eetcafe: admin</title>
</head>

<body>
<?php

include("connect.php");

if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  {
    $aFouten = array();
    if($_POST['album_naam'] == '')
      {
        $aFouten[] = 'Je hebt geen Gallerij naam ingevuld';
      }
    if($_POST['album_beschrijving'] == '')
      {
        $aFouten[] = 'Je hebt geen omschrijving ingevuld';
      }
      
        if(count($aFouten) != 0)
          {
            echo 'De volgende fouten zijn opgetreden: <br /><br />';
            for($Fi = 0; $Fi < count($aFouten); $Fi++)
              {
                echo $aFouten[$Fi].'<br />';
              }
            echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
          }
        else
          {
          mysql_query("INSERT INTO albums (album_naam,album_beschrijving) VALUES ('".addslashes($_POST['album_naam'])."','".addslashes($_POST['album_beschrijving'])."')") or die (mysql_error());
         		 {
	$album = $_POST['album_naam'];
	$ndir = "fotos/".$album;
	mkdir($ndir,0777);
      }
          echo 'De Gallerij is succesvol opgeslagen';
		  echo '<meta http-equiv="Refresh" Content="30; URL=admin_gall.php">';
          }
      
  }
else
  {
?>
<form action=" <?php echo $_SERVER['PHP_SELF']?> " method="POST">
<table>
<tr>
<td colspan="2" align="center"><p><b>Maak een nieuwe gallerij:</b></p></td>
</tr>
<tr>
<td> Gallerij naam: </td>
<td><input type="text" name="album_naam" /></td>
</tr>
<tr>
<td> Gallerij omschrijving: </td>
<td><input type="text" name="album_beschrijving" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="verzenden" value="Gallerij toevoegen" /></td>
</tr>
</table>
</form>
<?php
  }
?>

<?php
if(isset($_POST['fototoev']))
{
  $naam = basename($_FILES['bestand']['name']);
  $ext = substr($naam,strlen($naam)-4);

  if( !strcasecmp($ext, '.jpg') || !strcasecmp($ext, '.gif') )
  {
    if($_FILES['bestand']['name'] == '' || $_FILES['bestand']['size'] >= '2000000')
    {
      if($_FILES['bestand']['name'] == '')
      {
        echo "U hebt geen bestand geselecteerd!";
      }
      else
      {
        echo "Het bestand is te groot!";
      }
    }
    else
    {
      if($_POST['album'] == 1)
      {
	$album = $_POST['salbum'];
      }
      else
      {
      $dir = "fotos/".$album."/";
      $dir = $dir.$naam;
      move_uploaded_file($_FILES['bestand']['tmp_name'],$dir);
      $chmod = "./fotos/".$album."/".$naam;
      chmod($chmod, 0644);
      include("connect.php");

      $bestand = mysql_escape_string($_FILES['bestand']['name']);
      $insert = "insert into foto (foto_naam,foto_album) values ('$bestand','$album_id')";
      $query = mysql_query($insert);
      echo "De foto werd met succes geupload!";
	  echo '<meta http-equiv="Refresh" Content="30; URL=admin_gall.php">';}
    }
  }
  else
  {
  echo "dit is geen afbeelding!";
  }
}
else
{
?>

<form action=" <?php echo $_SERVER['PHP_SELF']?> " method="POST">
<table>
<tr>
<td colspan="2" align="center"><p><b>Upload foto's:</b></p></td>
</tr>
<tr>
<td> Kies een bestand: </td>
<td> <input type="file" name="bestand" /></td>
</tr>
<tr>
<td> Selecteer een gallerij: </td>
<td><input type="radio" checked name="album_naam" value="1" /><select name="salbum">
<?php
include("connect.php");
			    $select = "select album_naam from albums group by album_naam";
                $query = mysql_query($select);

		while($list = mysql_fetch_object($query))
		{
		  echo "<option value=\"".$list->album_naam."\">".$list->album_naam."</option>";
                }
		?>
             </select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="fototoev" value="foto toevoegen" /></td>
</tr>
</table>
</form>
<?php
  }
?>
</body>
</html>
 
Begin eens met het echo'en van de variabelen nadat je het formulier hebt verstuurd. Je kunt rechtstreeks checken, maar ik zou zelf gewoon alles echo'en met print_r($_POST) en print_r($_FILES).
 
Leer eens netjes te scripte! dan kan je de error's er ook makkelijker uithalen!

Ik zal zo eens even kijken of ik het kan verbeteren!

EDIT

Pff.. je hebt er wel een rotzooi van gemaakt hoor:P dit gaat even duren..

Kan je je mysql tabel even sturen?
 
Laatst bewerkt:
Leer eens netjes te scripte! dan kan je de error's er ook makkelijker uithalen!

Ik zal zo eens even kijken of ik het kan verbeteren!

EDIT

Pff.. je hebt er wel een rotzooi van gemaakt hoor:P dit gaat even duren..

Kan je je mysql tabel even sturen?

bij deze in bijlage de database structuur.

wat het scripten betreft,
dit is de eerste keer dat ik dit doe dus natuurlijk ben ik beetje bij beetje aan het bijleren hoor maar rome is ook niet op 1 dag gebouwd he :D
 

Bijlagen

Hiersow is dit wat je wilt?


# album.php

PHP:
<?php
	# config bestanden includen + foto link disablen
	include_once('config.php'); 
	$foto = false;
	
		# even kijken of er wat gepost is
		if($_SERVER['REQUEST_METHOD'] == 'POST')
		{
			# weer even een array maken voor de fouten 
			$message = array();
			$error = false;
			
				# Controleren of er een album naam is ingevuld
				if(!empty($_POST['album_naam']))
				{
				
					# Controleren of er een naam voor omschrijving is opgegeven
					if(!empty($_POST['album_omschrijving']))
					{
					
						#controleren of er fouten zijn
						if($error == false)
						{
						
							#controleren of album al bestaat
							$Query_control = mysql_query("SELECT * FROM album WHERE album_naam = '".mysql_real_escape_string($_POST['album_naam'])."'");
							
								# Controleren of query is gelukt!
								if($Query_control)
								{
									
									# Kijken of er al een album bestaat met deze naam, wat natuurlijk niet mag
									if(!mysql_num_rows($Query_control) > 0)
									{
										# Als er geen resultaat is gevonden en er dus een album kan worden weggeschreven maken we de query en schrijven de gegevens weg
										$Query_insert = mysql_query("INSERT INTO album (album_naam, album_omschrijving) VALUES ('".mysql_real_escape_string($_POST['album_naam'])."', '".mysql_real_escape_string($_POST['album_omschrijving'])."')");
	
											# Kijken of Query gelukt is
											if($Query_insert)
											{
												# Bericht plaatsen als album succesvol is aangemaakt + de link zichtbaar maken
												$message[] = 'Uw album is succesvol aangemaakt!';	
												$foto = true;
											}
											else
											{
												# Query fout aanduiden, zo kan je makkelijk de fout straks terug.. (Als die zou komen)	
												$message[] = 'Insert query is mislukt!';
										}	
									}
									else
									{
										# een error schrijven dat het album al bestaat!
										$message[] = 'Er bestaat al een album met deze naam';	
									}
								}
								else
								{
									# Query fout aanduiden, zo kan je makkelijk de fout straks terug.. (Als die zou komen)	
									$message[] = 'Control query is mislukt!';	
								}
						}
					}
					else
					{
						# array message vullen + $error op true zetten
						$message[] = 'Je hebt geen album omschrijving opgegeven!';
						$error = true;
					}
				}
				else
				{
					
					# array message vullen + $error op true zetten
					$message[] = 'Je hebt geen gallerij naam ingevoerd!';
					$error = true;
					
				}
		}
?>
<html>
<head>
	<title>Foto album</title>
	<link href="./css/style.css" rel="stylesheet" type="text/css" />
	<script src="./js/jquery.js" type="text/javascript" language="javascript"></script>
	<script language="javascript">
	// standaart begin lijn van jquery
		$(document).ready(function()
		{
			// als ik op een link (a) klik functie
			$('a').click(function()
			{
				// klap dan (#uitklappen) uit
				$('#uitklappen').slideToggle();
			// sluit de click functie
			});
		}); // standaart afsluit lijn
	</script>
</head>
<body>
	<form method="POST" action="">
    	<table>
        	<tr>
            	<td>Gallerij naam </td><td><input type="text" name="album_naam" /></td>
            </tr>
            <tr>
            	<td>Omschrijving </td><td><input type="text" name="album_omschrijving" /></td>
            </tr>
            <tr>
            	<td></td><td><input type="submit" name="verzenden" value="Maak aan!" /></td>
            </tr>
        </table>
    </form>
    <?php
		# kijken of $message leeg is
		if(!empty($message))
		{
		
			# Maak array message als een bericht
			foreach($message as $bericht)
			{
				
				# Plaats bedricht op het scherm
				echo $bericht;	
			}
		}
		
			# Controleren of foto link geldig is!
			if($foto == false)
			{
					
			}
			else
			{
				# een link maken waardoor ze een foto kunnen toevoegen.. (Jquery wordt gebruikt)
				echo '<br /><br /><a href="#">Foto toevoegen</a>';	
			}
	?>
	<div id="uitklappen">
		<p>U wordt doorgestuurd naar de upload pagina</p>
		<meta http-equiv="Refresh" Content="3; URL=upload.php">
	</div>
</body>
</html>

# upload.php

PHP:
<?php
	# vari's aanmaken en config pagina includen  + array maken voor fouten

	include_once('config.php');
	$fout_bericht = '';
	
	# Maximale grote van de afbeelding (2 MB)
	$max_foto_size = 2000000; 
	
	# Toegestane extensies
	$foto_MIME = array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif'); 
	
	# Upload dir, Daar worden de afbeeldingen dus opgeslagen
	$upload_dir = 'photos/';
	   
	# Thumbnail word 90 pixels
	$thumb_size = 90; 
	
		# controleren of er op submit is gedrukt
		if($_SERVER['REQUEST_METHOD'] == 'POST')
		{
	
			# We beginnen met de controles,
			# Controleren of er wel een bestand is verzonden
			if(!isset($_FILES['foto']))
			{
				
				# Error message samenstellen
				$fout_bericht .= 'Het formulier is niet goed ingevuld. <br />Probeer het <a href=\"upload.php\">nogmaals</a>';
				exit;
			
			}
			else
			{
			
				# Een array maken met alle waarden voor de foto
				$foto = $_FILES['foto'];
				
			}
			
				#controleren of er fouten zijn opgetreden bij het uploaden van de file
					switch ($foto['error'])
					{
						case UPLOAD_ERR_OK:
						
							# Het uploaden is goed gegaan, Maar misschien is de foto groter dan toegestaan, Dit gaan we controleren
							if($foto['size'] > $max_foto_size)
							{
								
								# Error bericht samenstellen
								$fout_bericht .= 'De foto is te groot. Hij mag niet groter zijn dan';
							
							}
							
								# Er is geen fout opgetreden, doe dus niks
								break;
						
						case UPLOAD_ERR_INI_SIZE:
						
							# De foto is groter dan wordt toegestaan door php.ini (Normaal is de upload limit 16 MB)
							$fout_bericht .= 'De foto is te groot! Hij mag niet groter zijn dan ' . $max_foto_size . 'bytes';
							break;
							
						case UPLOAD_ERR_PARTIAL:
						
							# De foto is maar gedeeltelijk geupload..
							$fout_bericht .= 'Er is een fout opgetreden tijdens het uploaden';
							break;
							
						case UPLOAD_ERR_NO_FILE:
						
							# Er is geen bestand opgegeven om te uploaden
							$fout_bericht .= 'U heeft geen foto opgegeven om te uploaden';
							break;
							
						default:
							
							# Er zou geen onbekende fout mogen optreden maar het is toch goed om hier een voorziening voor te treffen
							$fout_bericht .= 'Er is een onbekende fout opgetreden.';
							break;
							
					}
						
						# kijken of er geen fout is opgetreden
						if(!$fout_bericht)
						{
							
							# De extensie van de file controleren
							if(!in_array($foto['type'], $foto_MIME))
							{
								
								#error samenstellen
								$fout_bericht .= "U kunt alleen GIF-, JPG- of PNG-foto's uploaden. Het huidige type is: ". $foto['type'];
								
							}
								
								#Controleren of er al een foto met deze naam bestaat
								$foto_naam = $upload_dir . $foto['name'];
								
									if(file_exists($foto_naam))
									{
										
										# Error samenstellen
										$fout_bericht .= 'Er bestaat al een foto met deze naam!';
										
									}
						}
						
							# de afbeelding verplaatsen naar de definitieve map
							if(!$fout_bericht)
							{
								# geen fouten opgetreden doorgaan dus
								if(!move_uploaded_file($foto['tmp_name'], $foto_naam))
								{
								
									# error samenstellen
									$fout_bericht .= 'Er is een fout opgetreden bij het opslaan van de foto!';
								
								}
							}
							
								# Kijken of er geen fouten zijn opgetreden,
								if(!$fout_bericht)
								{
								
									# geen fouten opgetreden we sturen een verwijzing naar de database
									$query_new_photo = "INSERT INTO photos (name, title, date) VALUES('".mysql_real_escape_string($foto['name'])."', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['date'])."')";
										
										# kijken of de query is gelukt
										if(!mysql_query($query_new_photo)){
											
											# error samenstellen
											$fout_bericht = "Afbeelding kon niet worden opgeslagen in de database";
										}
								}
								
									# weer kijken of er geen fouten zijn opgetreden,
									if(!$fout_bericht){
									
										# we gaaan nu een thumbnail maken aan de hand van 8 stappen
										# eer achterhalen we de eigenschappen van de foto
										list ($breedte, $hoogte, $image_type) = getimagesize($foto_naam);
  
										# Stap 2: bepaal de verhouding tussen hoogte en breedte
										$image_ratio = $breedte/$hoogte;
										
											# Stap 3: bereken op basis van de ratio de nieuwe hoogte
											if($image_ratio > 1)
											{
												$tn_breedte = $thumb_size;
												$tn_hoogte = $thumb_size / $image_ratio;
											}
											else
											{
												$tn_hoogte = $thumb_size;
												$tn_breedte = $thumb_size * $image_ratio;
											}
  
											# Stap 4: maak een lege thumbnail in het geheugen van de server
											$thumb = imagecreatetruecolor($tn_breedte,$tn_hoogte);
  
											# Stap 5: afhankelijk van het type foto het juiste type thumbnail maken
											switch ($image_type)
											{
											
												case IMAGETYPE_GIF:
													$source = imagecreatefromgif($foto_naam);
													break;
  
												case IMAGETYPE_JPEG:
													$source = imagecreatefromjpeg($foto_naam);
													break;
   
												case IMAGETYPE_PNG:
													$source = imagecreatefrompng($foto_naam);
													break;
												
												default:
												
													# vangnet, dit komt als het goed is nooit voor.
													# indien toch: trachten gif-bestand te maken
													$source = imagecreatefromgif($foto_naam);
													break;
											
											}
											
												# Stap 6: De grote foto verkleinen en kopieren naar de thumbnail
												imagecopyresampled($thumb, $source, 0, 0, 0, 0, $tn_breedte, $tn_hoogte, $breedte, $hoogte);
  
												# Stap 7: naam van de thumbnail instellen
												$thumbname= $upload_dir ."thumbnails/" . "thmb_" . $_FILES['foto']['name'];
  
												# Stap 8: tot slot: de thumbnail opslaan, opnieuw afhankelijk van het type
												switch ($image_type)
												{
   
													case IMAGETYPE_GIF:
														imagegif($thumb, $thumbname);
														break;
   
													case IMAGETYPE_JPEG:
														imagejpeg($thumb, $thumbname, 100);
														break;
													
													case IMAGETYPE_PNG:
														imagepng($thumb, $thumbname);
														break;
												
												}
  
													# Het uploaden is gelukt. De thumbnail  en een bevestiging tonen op het scherm
													# In deze toepassing: De thumbnail op het scherm tonen
													echo '<img src="'.$thumbname.'" />'; 
													# Einde thumbnail maken
													
													# alle handelingen voltooid, melding op het scherm zetten
													echo "<h2>Uw foto is opgeslagen in het fotoalbum!</h2>";
													echo "<a href=\"upload.php\">Nogmaals</a>";
													exit;
									}
									else
									{
									
									# normaal gesproken: netjes doorsturen naar een error-pagina.
									# nu even Quick and Dirty naar het scherm schrijven (geen correcte HTML!)
									echo '<h2>Er is een fout opgetreden</h2>';
									echo $fout_bericht;
									echo  "<br />Probeer het <a href=\"upload.php\">nogmaals</a>";
									exit;
									}
		}
?>
	<form method="POST" action="" enctype="multipart/form-data">
		<table>
			<tr>
				<td>Foto </td><td><input name="foto" type="file"  size="30 "id="foto" /></td>
			</tr>
			<tr>
				<td>Titel </td><td><input type="text" name="title" size="30"></td>
			</tr>
			<tr>
				<td><input type="submit" name="Submit" value="Verzenden" /> <input type="reset" name="Reset" value="Leegmaken" /></td>
			</tr>
			<tr>
				<input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:s"); ?>">
			</tr>
		</table>
	</form>
 
Hiersow is dit wat je wilt?


# album.php

PHP:
<?php
	# config bestanden includen + foto link disablen
	include_once('config.php'); 
	$foto = false;
	
		# even kijken of er wat gepost is
		if($_SERVER['REQUEST_METHOD'] == 'POST')
		{
			# weer even een array maken voor de fouten 
			$message = array();
			$error = false;
			
				# Controleren of er een album naam is ingevuld
				if(!empty($_POST['album_naam']))
				{
				
					# Controleren of er een naam voor omschrijving is opgegeven
					if(!empty($_POST['album_omschrijving']))
					{
					
						#controleren of er fouten zijn
						if($error == false)
						{
						
							#controleren of album al bestaat
							$Query_control = mysql_query("SELECT * FROM album WHERE album_naam = '".mysql_real_escape_string($_POST['album_naam'])."'");
							
								# Controleren of query is gelukt!
								if($Query_control)
								{
									
									# Kijken of er al een album bestaat met deze naam, wat natuurlijk niet mag
									if(!mysql_num_rows($Query_control) > 0)
									{
										# Als er geen resultaat is gevonden en er dus een album kan worden weggeschreven maken we de query en schrijven de gegevens weg
										$Query_insert = mysql_query("INSERT INTO album (album_naam, album_omschrijving) VALUES ('".mysql_real_escape_string($_POST['album_naam'])."', '".mysql_real_escape_string($_POST['album_omschrijving'])."')");
	
											# Kijken of Query gelukt is
											if($Query_insert)
											{
												# Bericht plaatsen als album succesvol is aangemaakt + de link zichtbaar maken
												$message[] = 'Uw album is succesvol aangemaakt!';	
												$foto = true;
											}
											else
											{
												# Query fout aanduiden, zo kan je makkelijk de fout straks terug.. (Als die zou komen)	
												$message[] = 'Insert query is mislukt!';
										}	
									}
									else
									{
										# een error schrijven dat het album al bestaat!
										$message[] = 'Er bestaat al een album met deze naam';	
									}
								}
								else
								{
									# Query fout aanduiden, zo kan je makkelijk de fout straks terug.. (Als die zou komen)	
									$message[] = 'Control query is mislukt!';	
								}
						}
					}
					else
					{
						# array message vullen + $error op true zetten
						$message[] = 'Je hebt geen album omschrijving opgegeven!';
						$error = true;
					}
				}
				else
				{
					
					# array message vullen + $error op true zetten
					$message[] = 'Je hebt geen gallerij naam ingevoerd!';
					$error = true;
					
				}
		}
?>
<html>
<head>
	<title>Foto album</title>
	<link href="./css/style.css" rel="stylesheet" type="text/css" />
	<script src="./js/jquery.js" type="text/javascript" language="javascript"></script>
	<script language="javascript">
	// standaart begin lijn van jquery
		$(document).ready(function()
		{
			// als ik op een link (a) klik functie
			$('a').click(function()
			{
				// klap dan (#uitklappen) uit
				$('#uitklappen').slideToggle();
			// sluit de click functie
			});
		}); // standaart afsluit lijn
	</script>
</head>
<body>
	<form method="POST" action="">
    	<table>
        	<tr>
            	<td>Gallerij naam </td><td><input type="text" name="album_naam" /></td>
            </tr>
            <tr>
            	<td>Omschrijving </td><td><input type="text" name="album_omschrijving" /></td>
            </tr>
            <tr>
            	<td></td><td><input type="submit" name="verzenden" value="Maak aan!" /></td>
            </tr>
        </table>
    </form>
    <?php
		# kijken of $message leeg is
		if(!empty($message))
		{
		
			# Maak array message als een bericht
			foreach($message as $bericht)
			{
				
				# Plaats bedricht op het scherm
				echo $bericht;	
			}
		}
		
			# Controleren of foto link geldig is!
			if($foto == false)
			{
					
			}
			else
			{
				# een link maken waardoor ze een foto kunnen toevoegen.. (Jquery wordt gebruikt)
				echo '<br /><br /><a href="#">Foto toevoegen</a>';	
			}
	?>
	<div id="uitklappen">
		<p>U wordt doorgestuurd naar de upload pagina</p>
		<meta http-equiv="Refresh" Content="3; URL=upload.php">
	</div>
</body>
</html>

# upload.php

PHP:
<?php
	# vari's aanmaken en config pagina includen  + array maken voor fouten

	include_once('config.php');
	$fout_bericht = '';
	
	# Maximale grote van de afbeelding (2 MB)
	$max_foto_size = 2000000; 
	
	# Toegestane extensies
	$foto_MIME = array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif'); 
	
	# Upload dir, Daar worden de afbeeldingen dus opgeslagen
	$upload_dir = 'photos/';
	   
	# Thumbnail word 90 pixels
	$thumb_size = 90; 
	
		# controleren of er op submit is gedrukt
		if($_SERVER['REQUEST_METHOD'] == 'POST')
		{
	
			# We beginnen met de controles,
			# Controleren of er wel een bestand is verzonden
			if(!isset($_FILES['foto']))
			{
				
				# Error message samenstellen
				$fout_bericht .= 'Het formulier is niet goed ingevuld. <br />Probeer het <a href=\"upload.php\">nogmaals</a>';
				exit;
			
			}
			else
			{
			
				# Een array maken met alle waarden voor de foto
				$foto = $_FILES['foto'];
				
			}
			
				#controleren of er fouten zijn opgetreden bij het uploaden van de file
					switch ($foto['error'])
					{
						case UPLOAD_ERR_OK:
						
							# Het uploaden is goed gegaan, Maar misschien is de foto groter dan toegestaan, Dit gaan we controleren
							if($foto['size'] > $max_foto_size)
							{
								
								# Error bericht samenstellen
								$fout_bericht .= 'De foto is te groot. Hij mag niet groter zijn dan';
							
							}
							
								# Er is geen fout opgetreden, doe dus niks
								break;
						
						case UPLOAD_ERR_INI_SIZE:
						
							# De foto is groter dan wordt toegestaan door php.ini (Normaal is de upload limit 16 MB)
							$fout_bericht .= 'De foto is te groot! Hij mag niet groter zijn dan ' . $max_foto_size . 'bytes';
							break;
							
						case UPLOAD_ERR_PARTIAL:
						
							# De foto is maar gedeeltelijk geupload..
							$fout_bericht .= 'Er is een fout opgetreden tijdens het uploaden';
							break;
							
						case UPLOAD_ERR_NO_FILE:
						
							# Er is geen bestand opgegeven om te uploaden
							$fout_bericht .= 'U heeft geen foto opgegeven om te uploaden';
							break;
							
						default:
							
							# Er zou geen onbekende fout mogen optreden maar het is toch goed om hier een voorziening voor te treffen
							$fout_bericht .= 'Er is een onbekende fout opgetreden.';
							break;
							
					}
						
						# kijken of er geen fout is opgetreden
						if(!$fout_bericht)
						{
							
							# De extensie van de file controleren
							if(!in_array($foto['type'], $foto_MIME))
							{
								
								#error samenstellen
								$fout_bericht .= "U kunt alleen GIF-, JPG- of PNG-foto's uploaden. Het huidige type is: ". $foto['type'];
								
							}
								
								#Controleren of er al een foto met deze naam bestaat
								$foto_naam = $upload_dir . $foto['name'];
								
									if(file_exists($foto_naam))
									{
										
										# Error samenstellen
										$fout_bericht .= 'Er bestaat al een foto met deze naam!';
										
									}
						}
						
							# de afbeelding verplaatsen naar de definitieve map
							if(!$fout_bericht)
							{
								# geen fouten opgetreden doorgaan dus
								if(!move_uploaded_file($foto['tmp_name'], $foto_naam))
								{
								
									# error samenstellen
									$fout_bericht .= 'Er is een fout opgetreden bij het opslaan van de foto!';
								
								}
							}
							
								# Kijken of er geen fouten zijn opgetreden,
								if(!$fout_bericht)
								{
								
									# geen fouten opgetreden we sturen een verwijzing naar de database
									$query_new_photo = "INSERT INTO photos (name, title, date) VALUES('".mysql_real_escape_string($foto['name'])."', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['date'])."')";
										
										# kijken of de query is gelukt
										if(!mysql_query($query_new_photo)){
											
											# error samenstellen
											$fout_bericht = "Afbeelding kon niet worden opgeslagen in de database";
										}
								}
								
									# weer kijken of er geen fouten zijn opgetreden,
									if(!$fout_bericht){
									
										# we gaaan nu een thumbnail maken aan de hand van 8 stappen
										# eer achterhalen we de eigenschappen van de foto
										list ($breedte, $hoogte, $image_type) = getimagesize($foto_naam);
  
										# Stap 2: bepaal de verhouding tussen hoogte en breedte
										$image_ratio = $breedte/$hoogte;
										
											# Stap 3: bereken op basis van de ratio de nieuwe hoogte
											if($image_ratio > 1)
											{
												$tn_breedte = $thumb_size;
												$tn_hoogte = $thumb_size / $image_ratio;
											}
											else
											{
												$tn_hoogte = $thumb_size;
												$tn_breedte = $thumb_size * $image_ratio;
											}
  
											# Stap 4: maak een lege thumbnail in het geheugen van de server
											$thumb = imagecreatetruecolor($tn_breedte,$tn_hoogte);
  
											# Stap 5: afhankelijk van het type foto het juiste type thumbnail maken
											switch ($image_type)
											{
											
												case IMAGETYPE_GIF:
													$source = imagecreatefromgif($foto_naam);
													break;
  
												case IMAGETYPE_JPEG:
													$source = imagecreatefromjpeg($foto_naam);
													break;
   
												case IMAGETYPE_PNG:
													$source = imagecreatefrompng($foto_naam);
													break;
												
												default:
												
													# vangnet, dit komt als het goed is nooit voor.
													# indien toch: trachten gif-bestand te maken
													$source = imagecreatefromgif($foto_naam);
													break;
											
											}
											
												# Stap 6: De grote foto verkleinen en kopieren naar de thumbnail
												imagecopyresampled($thumb, $source, 0, 0, 0, 0, $tn_breedte, $tn_hoogte, $breedte, $hoogte);
  
												# Stap 7: naam van de thumbnail instellen
												$thumbname= $upload_dir ."thumbnails/" . "thmb_" . $_FILES['foto']['name'];
  
												# Stap 8: tot slot: de thumbnail opslaan, opnieuw afhankelijk van het type
												switch ($image_type)
												{
   
													case IMAGETYPE_GIF:
														imagegif($thumb, $thumbname);
														break;
   
													case IMAGETYPE_JPEG:
														imagejpeg($thumb, $thumbname, 100);
														break;
													
													case IMAGETYPE_PNG:
														imagepng($thumb, $thumbname);
														break;
												
												}
  
													# Het uploaden is gelukt. De thumbnail  en een bevestiging tonen op het scherm
													# In deze toepassing: De thumbnail op het scherm tonen
													echo '<img src="'.$thumbname.'" />'; 
													# Einde thumbnail maken
													
													# alle handelingen voltooid, melding op het scherm zetten
													echo "<h2>Uw foto is opgeslagen in het fotoalbum!</h2>";
													echo "<a href=\"upload.php\">Nogmaals</a>";
													exit;
									}
									else
									{
									
									# normaal gesproken: netjes doorsturen naar een error-pagina.
									# nu even Quick and Dirty naar het scherm schrijven (geen correcte HTML!)
									echo '<h2>Er is een fout opgetreden</h2>';
									echo $fout_bericht;
									echo  "<br />Probeer het <a href=\"upload.php\">nogmaals</a>";
									exit;
									}
		}
?>
	<form method="POST" action="" enctype="multipart/form-data">
		<table>
			<tr>
				<td>Foto </td><td><input name="foto" type="file"  size="30 "id="foto" /></td>
			</tr>
			<tr>
				<td>Titel </td><td><input type="text" name="title" size="30"></td>
			</tr>
			<tr>
				<td><input type="submit" name="Submit" value="Verzenden" /> <input type="reset" name="Reset" value="Leegmaken" /></td>
			</tr>
			<tr>
				<input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:s"); ?>">
			</tr>
		</table>
	</form>

bedankt, ik ga het zo vlug mogelijk bekijken, heb nat met volk gezeten daarmee dat het zo lang geduurt heeft voor ik reageerde.
 
Dit is inderdaad voor een groot stuk wat ik zogt maar op de upload pagina zou ik ook een map(gallerij) moeten kunnen kiezen naar waar de foto moet geupload worden en die koppeling moet dan bij in de tabel opgeslaan worden in het veld foto_album.

hoe kan ik dat er bij plaatsen.

ik zal ook de insert gegevens moeten aanpassen aan mijn tabel waarschijnlijk ?

toch al bedankt voor het mooie werk , ziet er echt goed uit
 
:) Das niet moeilijk hoor.. gewoon een selectje erbij maken

Eerst haal je alle gegevens uit de database.. Maak een while loop, en zet in die while loop je select box
 
ik ga dat dan ook eens bekijken.

bij de album pagina krijg ik steeds "Control query is mislukt! "

hoe kan ik dit oplossen en word er ook een map met die naam in de map fotos gemaakt ?
 
Open de code:) En lees de commentaar.. die query control is voor foutenafhandeling:) Je query klopt dus niet.. waarschijnlijk gewoon omdat je database anders is.. En die mappen moet je wel eerst zelf aanmaken.. ik heb er ook een thumb van laten maken als je dat soms handig vond:P
 
ok, je bent al zeer hartelijk bedankt. ik ga dit verder uitpluizen.
 
:) Das niet moeilijk hoor.. gewoon een selectje erbij maken

Eerst haal je alle gegevens uit de database.. Maak een while loop, en zet in die while loop je select box

moet ik dit doen in de code of in het formulier?
 
Geen probleem:)

Umm.,.

ik ga je nu geen code geven.. probeer het eens zelf met de volgende tips

- Maak een query die alle albums selecteer.
- Maak een while (VB: while($row = mysql_fetch_assoc()){)
- Zet om je while de tag select en in je while een option waarin je de $row gebruikt om de naam in te zetten.

Nu moet het toch wel lukken?

Oja in je query moet je natuurlijk ook wat aanpassen.
 
Geen probleem:)

Umm.,.

ik ga je nu geen code geven.. probeer het eens zelf met de volgende tips

- Maak een query die alle albums selecteer.
- Maak een while (VB: while($row = mysql_fetch_assoc()){)
- Zet om je while de tag select en in je while een option waarin je de $row gebruikt om de naam in te zetten.

Nu moet het toch wel lukken?

Oja in je query moet je natuurlijk ook wat aanpassen.

ok, ik ga dit eens op mijn gemak bekijken en zal u binnen kort iets laten weten want moet nu spijtig genoeg de baan op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan