--------------------- config.php-------------------------
<?php
/*
CREATE TABLE `foto_log` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`bestand` VARCHAR( 255 ) NOT NULL ,
`zien` ENUM( 'ja', 'nee' ) NOT NULL DEFAULT 'nee',
`datum` INT( 10 ) NOT NULL ,
`ip` VARCHAR( 32 ) NOT NULL 
) ENGINE = MYISAM ;
*/
//--- verbinding maken met database
$username     = 'username';
$password     = '****';
$host        = 'localhost';
$database    = 'Database';		
if(mysql_connect($host,$username,$password))
{
    if(!mysql_select_db($database))
    {
        echo 'Sorry, ik kon helaas geen verbinding maken met de databasetabel!';
    }
}else{
    echo 'Sorry, ik kon helaas geen verbinding maken met de databaseserver!';
}
?>

----------------------- upload.php ----------------------------
<?
include "config.php";
//--- zet path
$path = "upload/"; // met slash en chmod 777! (of lager ivm veiligheid)

//--- zet max. kb's
$maxkb = 2097152; // 2097152 gedeelt door 1024 is 2048kb = 2mb. DUS 1024 keer <aantal kb's> = $maxkb

//--- watermerk path
$path_watermerk = "watermerk.png"; // dit MOET een transparante .png zijn!!!

//--- bekijk of het bestand kleiner of net zo groot als 40 kb is en of de foto wel geupload is en of extentie wel .jpg of .jpeg is!
if ($_POST['submit'] && $_FILES['userfile']['size'] <= $maxkb && !file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['size'] && is_uploaded_file($_FILES['userfile']['tmp_name']) && (strtolower(substr($_FILES['userfile']['name'], -3)) == "jpg" || strtolower(substr($_FILES['userfile']['name'], -4)) == "jpeg"))
{
    //--- upload image naar $path
    move_uploaded_file($_FILES['userfile']['tmp_name'], $path . $_FILES['userfile']['name']);

$bestand = $_FILES['userfile']['name'];
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO foto_log (bestand, datum, ip) VALUES ('".$bestand."',NOW(),'".$ip."')") or die(mysql_error());

    //--- transparante watermerk
    $watermerk = imagecreatefrompng($path_watermerk);
    $watermerk_width = imagesx($watermerk);
    $watermerk_height = imagesy($watermerk);
    imagecreatetruecolor($watermerk_width, $watermerk_height);

    //--- orriginele image
    $image = imagecreatefromjpeg($path . $_FILES['userfile']['name']);
    $size = getimagesize($path . $_FILES['userfile']['name']);

    //--- defineer de coordinaten van het watermerk - dit voorbeeld is links onder
    /*
    bijv: geuploade plaatje: 180 x 130
    watermerk groote: 50 x 16

    berekening voor coordinaten 'x' as:
    180 (breedte geuploade foto) - 50 (breedte watermerk) - 5 (ruimte rechts) = 125 pixels vanaf links

    berekening voor 'y' as:
    130 (hoogte geuploade foto) - 16 (hoogte watermerk) - 5 (ruimte onder) = 109 pixels vanaf boven
    */

    //--- dit is voor rechts boven
    $xas = $size[0] - $watermerk_width - 5;
    $yas = 5;

    //--- overschrijf het 'geuploade bestand' en voeg watermerk toe
    imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);

    //--- upload image
    imagejpeg($image, $path . $_FILES['userfile']['name']); // max. kwaliteit

    imagedestroy($image);
    imagedestroy($watermerk);

    echo "De foto is geupload.<br />";
    echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=upload.php\">";
}
else
{
    //--- errors
    if ($_POST['submit'])
    {
        if (file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['name'])
            echo "<b>Error! Bestand bestaat al, hernoem de foto en probeer het opnieuw.</b><p>";
        elseif ($_FILES['userfile']['size'] > $maxkb)
            echo "<b>Error! Bestand is groter dan " . $maxkb . "bytes. Verklein de foto en probeer het opnieuw</b><p>";
        elseif (strtolower(substr($_FILES['userfile']['name'], -3)) != "jpg" && strtolower(substr($_FILES['userfile']['name'], -4)) != "jpeg")
            echo "<b>Error! De foto heeft een verkeerde bestandsnaam. Er mogen alleen foto's geupload worden met als bestandsnaam .jpg.</b><p>";
        else
            echo "<b>Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.</b><p>";
    }
    else
        echo "Selecteer een foto om te uploaden. LET OP: hij mag NIET groter zijn dan 2MB en moet in je .jpg formaat zijn.<p>";

    //--- formulier met enctype multipart/form-data ivm de file upload
    echo "<form method=\"post\" action=\"upload.php\" enctype=\"multipart/form-data\">";
    echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $maxkb . "\" />";
    echo "Bestand:<br />";
    echo "<input type=\"file\" name=\"userfile\" value=\"" . $_POST['userfile'] . "\" /><br />";
    echo "<input type=\"submit\" name=\"submit\" value=\"uploaden\" />";
    echo "</form>";
}

?> 

---------------------------- admin.php -------------------------------
[code]
<script language="javascript">
function confirmSubmit(question)
{
if (confirm(question))
	return true ;
else
	return false ;
}
</script>

<?php
include "config.php";
	
// Edit functie
if($_GET["id"]) {
if(!$upload = mysql_fetch_object(mysql_query("SELECT * FROM foto_log WHERE ID = {$_GET["id"]}"))){
echo("De foto is niet gevonden!");
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=admin.php\">";
}
elseif($upload->zien == 'ja'){
mysql_query("UPDATE foto_log SET zien = 'nee' WHERE ID = {$_GET["id"]}");
echo "Bewerkt in niet zien.";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
}else{
mysql_query("UPDATE foto_log SET zien = 'ja' WHERE ID = {$_GET["id"]}");
echo "Bewerkt in zien";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
}
// Delete functie
}
elseif(isset($_GET['delete'])) {
 if(file_exists("upload/".$_GET['delete'])){
  unlink("upload/".$_GET['delete']);
  mysql_query("DELETE FROM foto_log WHERE bestand = '{$_GET["delete"]}'");
  echo "Het bestand <b>".$_GET['delete']."</b> is succesvol verwijderd.<br />\n";
  echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
 }else{
  mysql_query("DELETE FROM foto_log WHERE bestand = '{$_GET["delete"]}'");
  echo "Het bestand <b>".$_GET['delete']."</b> bestaat niet.<br />\n";
  echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
 }
 }
 
$fotolog = mysql_query("SELECT * FROM foto_log ORDER BY datum") or die(mysql_error());

echo("<table cellpadding=\"3\" cellspacing=\"3\"><tr><td><b>Afbeelding:</b></td><td><b>Zien:</b></td><td>&nbsp;</td><td>&nbsp;</td></tr>\n"); 
while($upload = mysql_fetch_object($fotolog)) {
echo("<tr><td><a href=\"upload/" .$upload->bestand. "\" target=\"_new\"><img src=\"upload/" .$upload->bestand. "\" width=\"70\" height=\"60\" alt=\"" .$upload->bestand. "\" border=\"1\"></a></td>
<td>" .$upload->zien. "</td>
<td><a href=\"?id=" .$upload->id. "\">Edit</a></td>
<td><a onClick=\"return confirmSubmit('Delete file \'" .$upload->bestand. "\' ?')\" href=\"admin.php?delete=" .$upload->bestand. "\">Delete</a>
</td><td>\n");
}
echo "</table>\n";
?>[/code]

------------------------- zien.php -------------------------
<?php
include "config.php";

$fotolog = mysql_query("SELECT * FROM foto_log WHERE zien = 'ja' ORDER BY datum") or die(mysql_error());

while($upload = mysql_fetch_object($fotolog)) {
echo("<img src=\"upload/" .$upload->bestand. "\"><br />\n");
}

?>


