Bild als PopUp

JoeBloggs

Mitglied
Hallo,

ich habe mich schon durch die Suche gesucht, aber leider nichts brauchbares gefunden und befürchte einen Haufen Arbeit vor mir zu haben.

Ich stelle gerade meine Seite auf php um und habe die thumbs in html Seiten eingebunden, wenn man diese anklickt wird folgende Seite aufgerufen.

Code:
 <?php
 
 	$view = ""; 
 
 	if(isset($HTTP_GET_VARS['view'])){
 		$view = $HTTP_GET_VARS['view'];
 		}
 	
 	$mview = explode("_",$view);
 
 	IF ($mview[0] == nor){
 			   echo"<img src='reisen/norwegen/Bilder/norway_".$mview[1].".jpg'>";// break; 
 			   }
 	IF ($mview[0] == lit){
 			   echo"<img src='reisen/Litauen/Bilder/litauen_".$mview[1].".jpg'>";// break; 
 			   }
 
 ?>

Die Bilder werden hier sehr "unschön" im Browser angezeigt. Ist es möglich über dieses php script die Bilder nun als PopUp anzuzeigen, oder muß ich das mit JavaScript in meine *.htm Seiten einbinden.
Letzters befürchte ich im moment, doch bevor ich die Arbeit starte wollte ich nochmal nachfragen.

Gruß und Dank
Markus
 
Sobald ich PopUp höre denk ich sofort an JavaScript ;-] :D

HTML:
<a href="window.open('thumb.php?id=12345', 'Titel vom PoPuP Fenster', 'HEIGHT=225,resizable=yes,WIDTH=400');">kLiCk MiCh</a>
 
das ist ja klar, wenn iche s über ein PopUp realisiere muß es aber auf jeder *.htm Seite einbauen. Genau das wollte ich ja eventuell vermeiden, indem ich das vorhandene php script entsprechend modifiziere.

Gibt also keine andere Möglichkeit?

Gruß
 
ja du rufst eine php-Datei per Javascript window.open auf, in dem Javascript Befehl übergibts du an die PHP-Datei noch das Bild per GET. Die PHP-Datei öffnet das von dir übergebene Bild!
 
JoeBloggs hat gesagt.:
das ist ja klar, wenn iche s über ein PopUp realisiere muß es aber auf jeder *.htm Seite einbauen.

Verstehe ich das richtig, dass du für jedes Bild oder jeden Menupunkt eine eigene *.html hast und in JEDER html Datei dein komplettes Framework(html basis) ist? Wenn ja, ist das ein schlechter Aufbau wenn du mal eine Kleinigkeit ändern willst. Du solltest dir in PHP ein Framework basteln das du bei jedem Seitenaufruf startest wie z.B. eine index.php in der du Design, deine Javascript Funktionen, etc reinschreibst und dann entsprechende Datein includest
 
Ja und nein,

natürlich habe ich mir eine index.php gebastelt, doch das habe ich irgendwie so nach frei Schnautze gemacht, soll heißen, das FrameWork wird mit PHP geregelt und die inhalte der einzelnen seiten stehen in *.htm die werden dann per case in die "Haupttabelle" geladen.

Code:
<?php 
 
 	$action = ""; 
 
 	if(isset($HTTP_GET_VARS['action'])){$action = $HTTP_GET_VARS['action'];}
 
 	switch($action){ 
 
 		case "home": include("home.htm"); break; 
 
 		case "Reisen": include("Reisen.htm"); break; 
 
 		case "Ausruestung": include("Ausruestung.htm"); break; 
 
 ...
 
Achso, dann ist es ja eigentlich ok so.
Nun kannst du doch in die index.php den Javacode reinschreiben und wenn du auf diesen zugreifst(aus deiner includierten *.html) sollte alles wunderbar funktionieren
 
Hi,

da ich erst jetzt mal wieder etwas Zeit gefunden habe ... Leider habe ich das problem noch nicht ganz lösen können.

Also in meiner index.php habe ich folgendes eingefügt

Code:
  <script>
  <!--
  
  function ansicht(GrafikURL, Breite, Hoehe)
  {
  	Fensteroptionen="toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0";
  
  	Grafikfenster=window.open("", "", Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe);
  	Grafikfenster.focus();
  	Grafikfenster.document.open();
  	with(Grafikfenster)
  	{
  		document.write("<html><head>");
  		document.write("<title>Grafikanzeige</title>");
  		document.write("</head>");
 		document.write("<body leftmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\">");
 		document.write("<img border=\"0\" onclick=\"window.close();\" src=\""+ GrafikURL +"\" title=\"Zum Schließen auf das Foto klicken\">");
  		document.write("</body></html>");
  	}
  }
  
  //-->
  
 </script>					 <!-- Script-Bereich beenden -->

In der .htm Datei, die die einzelnen Texte und Thumbs enthält wollte ich das ganze folgendermaßen aufrufen. D.h. das Thumb ist direkt im html Code eingesetzt und nur der Bildaufruf der ein popup erzeugen soll wird per php code ermittelt.

Code:
 <div align="center"><a href="pic_view.php?view=lit_13"><img src="reisen/litauen/Thumbs/litauen_13.jpg" width="100" height="69" border="0"></a></div>

die entsprechende php Datei sieht bei mir so aus

Code:
  	IF ($mview[0] == lit){
  		   $img="reisen/litauen/Bilder/litauen_".$mview[1].".jpg";
  		$file_properties = getimagesize($img);
  		$width = $file_properties[0];
  		$height = $file_properties[1];	   
  
  		 echo"javascript:ansicht('reisen/litauen/bilder/litauen_".$mview[1].".jpg', '".$width."', '".$height."')";
  		   }

füge ich die Zeile, die per echo im php Script zurückgegeben wird direkt in die htm Datei ein, funktioniert es wunderbar. Rufe ich es jedoch per php Script auf, so bekomme ich nur folgendes angezeigt. Stimmt ja grundsätzlich, aber ich würde hier gerne das popup erzeugen, anstatt mit den code ausgeben zu lassen.
Code:
javascript:ansicht('reisen/litauen/bilder/litauen_16.jpg', '640', '440')

tut mir ja leid, aber ich glaube ich habe da mittlerweile einenTunnelblick und finde den Fehler einfach nicht. :-(

Noch ein weitere Frage, wäre es eventuell nicht sogar sinnvoll auch das einbinden des Thumbnails dem php script zu überlassen? Würde das Erstellen der Seite ja ziemlich vereinfachen, aber halt auch das php script bei jeden neuen Seitenaufbau bemühen.

Besten Dank
Markus
 
Ruf doch einfach das Bild wie es _voodoo vorgeschlagen hat auf. Nur statt:

thumb.php?id=12345

hängst du noch dein "view" rein

thumb.php?id=12345&view=<?php echo $mview[0]; ?>

Deinen Kode, den du zuerst gepostet hast, schreibst du in ne extra Datei - die du logischerweise thumb.php nennst. Denk aber drann, dass du view=nor usw. hast, das mit dem explode kannst kannst/musst du wahrscheinlich weglassen

Gruss
 
Zurück