Gallery tutorial?

Datei galleries-admin.php

PHP:
<?php
$changesection="main";
$insert=$_POST["insert"];
$update=$_POST["update"];
$delete=$_GET["delete"];
$edit=$_GET["edit"];
if ($insert)
	{
		$galleryname=$_POST["galleryname"];
		if ($galleryname)
			{
				$galleries=mysql_query("select * from galleries where gallery='$galleryname'",$db);
				$gallery=mysql_fetch_assoc($galleries);
				if (!$gallery)
					{
						mkdir("../../phptmp/thumbs/".$galleryname,0777);
						mkdir("../../phptmp/images/".$galleryname,0777);
						mysql_query("insert into galleries (gallery) values ('$galleryname')",$db);
						$changes[$changesection].='Gallery <b>'.$galleryname.'</b> has been inserted into database<br>';
					}
				else
					{
						$changes[$changesection].='Gallery could not be inserted into database<br>';
						$changes[$changesection].='Gallery <b>'.$galleryname.'</b> already exists<br>';
						$changes[$changesection].='<hr>';
					}
			}
		else
			{
				$changes[$changesection].='Gallery could not be inserted into database<br>';
				$changes[$changesection].='Gallery missing<br>';
				$changes[$changesection].='<hr>';
			}
	}
if ($update)
	{
		$galleryid=$_POST["galleryid"];
		$galleryname=$_POST["galleryname"];
		$galleries=mysql_query("select * from galleries where id='$galleryid'",$db);
		$gallery=mysql_fetch_assoc($galleries);
		if (($galleryname) && ($galleryname!=$gallery[gallery]))
			{
				$galleries=mysql_query("select * from galleries where gallery='$galleryname'",$db);
				$gallery=mysql_fetch_assoc($galleries);
				if (!$gallery)
					{
						$galleries=mysql_query("select * from galleries where id='$galleryid'",$db);
						$gallery=mysql_fetch_assoc($galleries);
						rename("../../phptmp/thumbs/".$gallery[gallery],"../../phptmp/thumbs/".$galleryname);
						rename("../../phptmp/images/".$gallery[gallery],"../../phptmp/images/".$galleryname);
						mysql_query("update galleries set gallery='$galleryname' where id='$galleryid'",$db);
						$changes[$changesection].='Gallery has been changed to <b>'.$galleryname.'</b><br>';
					}
				else
					{
						$changes[$changesection].='Gallery could not be updated, gallery <b>'.$galleryname.'</b> already exists<br>';
					}
			}
	}
if ($delete)
	{
		$galleries=mysql_query("select * from galleries where id='$delete'",$db);
		$gallery=mysql_fetch_assoc($galleries);
		$images=mysql_query("select * from images where gallery='$delete'",$db);
		while ($image=mysql_fetch_assoc($images))
			{
				unlink("../../phptmp/thumbs/".$gallery[gallery]."/".$image[filename]);
				unlink("../../phptmp/images/".$gallery[gallery]."/".$image[filename]);
			}
		rmdir("../../phptmp/thumbs/".$gallery[gallery]);
		rmdir("../../phptmp/images/".$gallery[gallery]);				
		mysql_query("delete from images where gallery='$delete'",$db);
		mysql_query("delete from galleries where id='$delete'",$db);
		$changes[$changesection].='Gallery <b>'.$gallery[gallery].'</b> has been deleted from database<br>';
	}
$changes[$changesection].='<form method="post" action="index.php?subsite=galleries-admin.php'.$sessionparm_link.'">';
$changes[$changesection].='<table class="vistable">';
if ($edit)
	{
		$galleries=mysql_query("select * from galleries where id='$edit'",$db);
		$gallery=mysql_fetch_assoc($galleries);
		$changes[$changesection].='<tr><td>Gallery:</td><td><input type="text" name="galleryname" value="'.$gallery[gallery].'"></td></tr>';
		$changes[$changesection].='</table>';
		$changes[$changesection].='<input type="hidden" name="galleryid" value="'.$gallery[id].'">';
		$changes[$changesection].='<input type="submit" name="update" value="Update Gallery">';
		$changes[$changesection].='<input type="submit" name="cancel" value="Cancel">';
	}
else
	{
		$changes[$changesection].='<tr><td>Gallery:</td><td><input type="text" name="galleryname"></td></tr>';
		$changes[$changesection].='</table>';
		$changes[$changesection].='<input type="submit" name="insert" value="Add Gallery">';
		$changes[$changesection].='</form>';
		$changes[$changesection].='<table class="vistable" border="1">';
		$changes[$changesection].='<tr><th>Gallery</th><th>Images</th><th colspan="3">Action</th></tr>';
		$galleries=mysql_query("select * from galleries order by gallery",$db);
		while ($gallery=mysql_fetch_assoc($galleries))
			{
				$images=mysql_query("select * from images where gallery='$gallery[id]'",$db);
				$num_images=mysql_num_rows($images);
				$changes[$changesection].='<tr><td>'.$gallery[gallery].'</td><td>'.$num_images.'</td>';
				$changes[$changesection].='<td><a href="index.php?subsite=galleries-admin.php&amp;edit='.$gallery[id].'">Edit</a></td>';
				$changes[$changesection].='<td><a href="index.php?subsite=galleries-admin.php&amp;delete='.$gallery[id].'">Delete</a></td>';
				$changes[$changesection].='<td><a href="index.php?subsite=images-admin.php&amp;gallery='.$gallery[id].'">Edit Images</a></td>';
				$changes[$changesection].='</tr>';
			}
		$changes[$changesection].='</table>';
	}
?>

Datei images-admin.php

PHP:
<?php
$changesection="main";
$galleryid=$_GET["gallery"];
if (!$galleryid)
	{
		header("Location:index.php?subsite=galleries-admin.php");
	}
$changes[$changesection].='<a href="index.php?subsite=galleries-admin.php">Image Galleries Administration</a>';
$changes[$changesection].='&nbsp;->&nbsp;';
$galleries=mysql_query("select * from galleries where id='$galleryid'",$db);
$gallery=mysql_fetch_assoc($galleries);
$changes[$changesection].='<b>'.$gallery[gallery].'</b><br><hr>';
$insert=$_POST["insert"];
$delete=$_GET["delete"];
if ($insert)
	{
		$tmpname=$_FILES["uploadfile"]["tmp_name"];
		$filename=$_FILES["uploadfile"]["name"];
		$filesize=$_FILES["uploadfile"]["size"];
		$mimetype=$_FILES["uploadfile"]["type"];
		if (($filesize>0) && ($mimetype=="image/jpeg") && (!file_exists("../../phptmp/images/".$gallery[gallery]."/".$filename)))
			{
				move_uploaded_file($tmpname,"../../phptmp/images/".$gallery[gallery]."/".$filename);
				list($width,$height)=getimagesize("../../phptmp/images/".$gallery[gallery]."/".$filename);
				$sourceimage=imagecreatefromjpeg("../../phptmp/images/".$gallery[gallery]."/".$filename);
				$thumbwidth=90;
				$thumbheight=round($thumbwidth*($height/$width));
				$thumbimage=imagecreatetruecolor($thumbwidth,$thumbheight);
				imagecopyresampled($thumbimage,$sourceimage,0,0,0,0,$thumbwidth,$thumbheight,$width,$height);
				imagejpeg($thumbimage,"../../phptmp/thumbs/".$gallery[gallery]."/".$filename);
				mysql_query("insert into images (filename,gallery) values ('$filename','$galleryid')",$db);
				$changes[$changesection].='Image <b>'.$filename.'</b> has been uploaded<br>';
			}
		else
			{
				$changes[$changesection].='Image could not be uploaded<br>';
				if ($mimetype!="image/jpeg")
					{
						$changes[$changesection].='File <b>'.$filename.'</b> is not a JPEG image<br>';
					}
				if (file_exists("../../phptmp/images/".$gallery[gallery]."/".$filename))
					{
						$changes[$changesection].='Image <b>'.$filename.'</b> already exists<br>';
					}
				$changes[$changesection].='<hr>';
			}
	}
if ($delete)
	{
		$images=mysql_query("select * from images where id='$delete'",$db);
		$image=mysql_fetch_assoc($images);
		mysql_query("delete from images where id='$delete'",$db);
		unlink("../../phptmp/thumbs/".$gallery[gallery]."/".$image[filename]);
		unlink("../../phptmp/images/".$gallery[gallery]."/".$image[filename]);
		$changes[$changesection].='Image <b>'.$image[filename].'</b> has been deleted<br>';
	}
$changes[$changesection].='<form method="post" action="index.php?subsite=images-admin.php&amp;gallery='.$galleryid.$sessionparm_link.'" enctype="multipart/form-data">';
$changes[$changesection].='<input type="file" name="uploadfile">';
$changes[$changesection].='<input type="submit" name="insert" value="Upload Image">';
$changes[$changesection].='</form>';
$changes[$changesection].='<table class="vistable" border="1">';
$changes[$changesection].='<tr><th>Filename</th><th>Action</th></tr>';
$images=mysql_query("select * from images where gallery='$galleryid' order by filename",$db);
while ($image=mysql_fetch_assoc($images))
	{
		$changes[$changesection].='<tr><td>'.$image[filename].'</td>';
		$changes[$changesection].='<td><a href="index.php?subsite=images-admin.php&amp;gallery='.$galleryid.'&amp;delete='.$image[id].$sessionparm_link.'">Delete</a></td>';
		$changes[$changesection].='</tr>';
	}
$changes[$changesection].='</table>';
?>


So nun hast du mal den ganzen Code. Ich werde heute Abend oder heute Nacht mal eine erklärung noch schreiben. Aber wie gessagt das kann sehr spät werden.

Gruß BlackLove2005
 
Dankeschön...
Ich markier das dann hier erstmal als erledigt, aber wenn du Lust hast,dann kannst du mir das gerne noch ein bisschen kommentieren ;)
 
Hallo,

klar mache ich das dann noch. Aber so kannst du dich schon mal damit beschäftigen. Und die anderne haben unter umständen auch was davon, denn das Thema ist hier auch schon oft gekommen.

Gruß BlackLove2005
 
Hallo,

ok du kein Problem. Wenn ich dann dazu komme, dann schreibe ich das auch hier rein.

Gruß BlackLove2005
 
Hallo!

Ob die Mods es gerne sehen?
Als Anhang währe es sicherlich sinnvoller gewesen.

Mir scheint es, dass hier was durcheinander geraten ist.
Was z.b. macht PHP in einer CSS Datei (ordner.css)?
Was hat die fehlende functions.js für eine Funktion, bzw. ist das Script davon abhängig?

Noch ein Hinweis für alle Anderen, das Script braucht MySQL.

Gruss Dr Dau
 
Hallo,

ja es sollte Ordner.php heißen. Aber das sollte ja auch jeder selber merken oder? Wie gesagt ich habe das nur rein kopeirt, dass er weiter machen kann und da kommt sowas dann schon vor.

Hmm ja das ganze braucht eine MySQL DB aber das sollte man ja merken, wenn man das sich anschaut oder?

Gruß BlackLove2005
 
Hallo,

so nun kommt hier mal ein paar Erklärungen was in welcher Datei passiert und was jede Datei zu sagen hat. Ich werde hier immer mal wieder dann was Online stellen. Einfach ein paar mal hier noch vorbei schauen:


connectdb.php

Wie der Namen ja schon sagt wird in dieser Datei die Verbindung zur Datenbank aufgestellt.

$dbhostname="localhost"; ( da kommt zu 99% immer localhorst rein )
$dbusername=""; ( da musst du dann den UserNamen eingeben )
$dbpassword=""; ( was da rein kommt das sollte ja klar sein oder?


In der Datei createdb.php wir eine Tabelle angelegt wo später dann auch die ganzen Daten gespeichert werden. Mehr denke ich muss da nicht erklärt werden oder? Das einigste was man noch erwähnen sollte ist folgende Zeile:

if (mysql_query("CREATE DATABASE `usr_web430_1`",$db)) wo ich gerne noch usr_web430_1 stehe habe da musst du dann den Namen eintragen der zu deiner Datenbank passt.

Dann solltest du auch noch in dem Script folgendes suchen: `galleries` da wird nur festgelegt wie die die Tabelle dann später mal in der Datenbank heißen soll. Bitte bedenke, wenn du das änderst dann musst du das auch in den anderen Scripten ändern. Ich gehe nun einfach mal davon aus, dass du das auch so lässt.


Die Datei Ordner.php ist nur dazu da, um die Ordner anzulegen in die dann später die ganze Galleryn kommen sprich die Rubriken. Achtung die Ordner kannst du auch von Hand anlegen. Solltest du aber das Script dennoch verwenden, musst du einfach die Pfade anpassen.


In der Datei layout.css wird wie der Namen schon sagt das Design angepasst. Willst du also noch mehr haben so musst du das in der Datei anpassen bzw. die dann einfach erweitern.


So nun kommen wir zu der Datei galleries.php da wird lediglich eine Tabelle erzeugt, dann wird eine Abfrage zur Datenbank gestartet und es werden die vorhanden Rubriken dargestellt. Sollte soweit eingendlich alles klar sein.

…. Weiter in kurze

Gruß BlackLove2005
 
Dass es eine PHP-Datei sein soll habe ich mir schon gedacht. ;)
Es hätte aber ja sein können dass auch der Dateiname verkehrt ist.... dazu hätte ich mir den Code genauer angucken müssen, irgendwo muss der Name ja stehen.
Klar kann man sehen dass das Script MySQl braucht, wollte es nur nochmal extra erwähnen.
Gibt ja auch Scripte die ohne MySQL auskommen.

[edit] Aber was ist mit der functions.js? [/edit]
 
Die functions.js hat mit der Gallerie nichts zu tun, ich hab wohl nur vergessen diese aus dem HTML-File zu schmeissen.
Darin hab ich die Funktion fuer die Buttons zum Formatieren im Forum und den News.

:offtopic:
Hong Kong und China sind schon interessant. Hier in China ist jedoch der Strassenverkehr die Hoelle. Hier faehrt jeder wie er will. Terror total! Naja, ist wohl das einzige wirksame Mittel gegen die Ueberbevoelkerung. ;)
Die Leute sind echt nett, auch wenn ich mit den meisten nicht sprechen kann da in China die wenigsten Englisch sprechen. Und mit meinem paar Brocken Kantonesisch komm ich auch nicht sehr weit. Ich kenn die Zahlen, sodass ich weiss was ich bezahlen muss und kann Fischbaellchen und Reis bestellen. 'Hallo' und 'Guten Morgen' krieg ich auch noch hin, aber das war's dann im Grossen und Ganzen auch schon.
In Hong Kong hab ich hingegen kaum Probleme mit der Verstaendigung, da die meisten Englisch sprechen. Ausser wenn ich mal zum Markt geh, da wird's dann auch was abenteuerlich.
Die Gegend ist wirklich schoen. Hier in Zhongshan sind die Berge nicht sehr weit weg und Bilden einen schoenen Hintergrund. In Hong Kong hab ich die Berge mehr oder weniger gleich vor der Haustuer. Wenn ich aus dem Fenster schaue sehe ich einen dicken Brocken, der so ca. 5KM weit weg ist. Dazu gibt's ja dann auf Hong Kong Island noch die ganzen atemberaubenden Wolkenkratzer, wie z.B. den Bank of China Tower, die beiden IFC-Towers (wobei nur IFC 2 wirklich beeindruckend ist) und das Lippo Center (in meinem Avatar zu sehen). Fotos gibt's bei mir auf der Website, wo auch die hier gepostete Gallerie in Aktion gesehen werden kann.

Uebrigens, die Tabellen in den Scripts haben die Klasse "vistable" (falls Blacklove das nicht geaendert hat). Der Grund dafuer liegt darin, dass ich auf meiner Homepage eine Werbung eingeblendet bekomme welche sich in einer Tabelle befindet. Daher hab ich in meinem CSS-File alle Tabellen unsichtbar gemacht, und nutze die Klasse "vistable" um sichtbare Tabellen zu erstellen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück