Ga naar inhoud

Javascript pop-up openen in PHP


anoniem

Aanbevolen berichten

Hallo, Voordat ik begin wil ik even zeggen dat in een complete PHP-noob ben en dit schript ergens van internet vandaan heb. De bedoeling van dit script is dat hij automatisch thumbnails maakt en deze weergeeft op een pagina. Als er op een thumbnail geklikt wordt moet deze een nieuw popup scherm tonen met daarin de foto. Het op de thumbnail klikken en het openen van een popup scherm gaat okee. Alleen heb ik geen flauw idee welke variabelen ik in het javascript moet meegeven. Mijn phpcode: [code:1:956b173f15] $thumb = "thumbs"; //thumbs directory name $thumbwidth = 100; $imagequality = 100; $cols = 4; //number of columns $vi = "Ver Imagen"; //text for "See image" $sname = "amnegal.php"; //name of this file $msgback = "Terug"; //text for "Return to Gallery" if (isset($_GET['iid'])) { $_GET['iid']; } elseif (isset($_POST['iid'])) { $_POST['iid']; } $files = array(); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (eregi("\.jpe?g$", $file) || eregi("\.gif$", $file) || eregi("\.png$", $file)) { $files[] = $file; } } } closedir($handle); } sort($files); if (!is_dir($thumb)) { mkdir($thumb, 0755); } $i = 0; $th = array(); $iw = array(); $ih = array(); $ifs = array(); foreach ($files as $image) { $thumbimage = $thumb."/".$image; $thumb_exists = file_exists($thumbimage); $size = GetImageSize($image); $width = $size[0]; $height = $size[1]; $type = $size[2]; if (!$thumb_exists) { set_time_limit(30); switch ($type) { case 1 : $im = ImageCreateFromGIF($image); break; case 2 : $im = ImageCreateFromJPEG($image); break; case 3 : $im = ImageCreateFromPNG($image); break; } $newwidth = $thumbwidth; $newheight = ($newwidth / $width) * $height; $im2 = ImageCreateTrueColor($newwidth,$newheight); ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height); switch ($type) { case 1: ImageGIF($im2, $thumbimage); break; case 2: ImageJpeg($im2, $thumbimage, $imagequality); break; case 3: ImagePNG($im2, $thumbimage); break; imagedestroy($im); imagedestroy($im2); } } $th[$i] = $thumbimage; $iw[$i] = $width; $ih[$i] = $height; $ifs[$i] = round((@filesize($image)/1024), 1); $i++; } echo "<br> <br>"; echo "<table border=\"1\" align=\"center\" bordercolor=\"#CCCCCC\" cellspacing=\"3\" cellpadding=\"3\">"; if (!isset($iid)) { $rows = round(count($th)/$cols); if (($rows * $cols) < (count($th))) { $rows++; } for ($i = 1; $i <= $rows; $i++) { echo "<tr>"; for ($j = 1; $j <= $cols; $j++) { $td = (($i - 1) * $cols) + $j; $iu = ($td - 1); if (isset($th[$iu])) { $op = ""; $op .= "<td>\n<div align=\"center\">\n<br>\n"; $op .= "<a title=\"$vi\" href=\"javascript:openpopup()\">\n"; $op .= "<img src=\"$th[$iu]\" border=\"0\">\n"; $op .= "<br>$ifs[$iu] Kb.</a>\n"; $op .= "<br>\n</div>\n</td>\n"; echo $op; } else { echo "<td>\n<br></td>\n"; } } echo "</tr>\n"; } } else { $iid2 = $iid+1; $tot = count($th); $op .= "<td>\n<div align=\"center\">\n<br>\n"; $op .= "<img src=\"$files[$iid]\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"; $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname\"> $msgback </a></div></td></tr>"; echo $op; } echo "</table>"; [/code:1:956b173f15] Het javascript: <script> function openpopup( fotoid ){ var popurl="http://10.0.0.9/foto2003.php?iid=" +fotoid winpops=window.open(popurl,"","width=480,height=640,") } </script> Heeft iemand enig idee wat erbij fotoid en +fotoid moet komen te staan?
Link naar reactie
[quote:d320a6d024="BasHamar"]Foto-ID is een variabele, dus die moet je zo laten staan. De code wordt aangeroepen door JavaScript elders in de pagina. Werkt de code niet of dacht je gewoon dat je er iets moest veranderen? - Bas[/quote:d320a6d024] Fotoid is niet de echte id die in het php script aan foto's wordt meegegeven. Ik kom fotoid nergens tegen in het php script. Wat het wel moet zijn weet ik niet, dat vraag ik juist :) Als je nu op een thumbnail klikt krijg je: Internal Server Error De url is: http://10.0.0.9/foto2003.php?iid=undefined Hij kent de hele variabelen fotoid dus niet.
Link naar reactie
Ik vergeet gewoon nog een heel deel code :oops: [code:1:589c41dadf]<? $files = array(); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (eregi("\.jpe?g$", $file) || eregi("\.gif$", $file) || eregi("\.png$", $file)) { $files[] = $file; } } } closedir($handle); } sort($files); mt_srand((double) microtime() * 1000000); $rnd=@mt_rand(0,count($files)-1); header("Cache-Control: no-cache, must-revalidate"); if (eregi("\.jpe?g$", $files[$rnd])) header("Content-type: image/jpeg"); elseif(eregi("\.gif$", $files[$rnd])) header("Content-type: image/gif"); elseif(eregi("\.png$", $files[$rnd])) header("Content-type: image/png"); @readfile($files[$rnd]); ?>[/code:1:589c41dadf] Dit is de code die zeg maar de dir uitleest.
Link naar reactie
[quote:f5a3607598="BasHamar"]10.0.0.9 is geen publiek IP-adres. Geef even het goede adres door svp. - Bas[/quote:f5a3607598] Wat maakt dat uit? Ik draai het intern op mijn eigen webserver. Maar dankzij die opmerking kwam ik wel tot de conlusie dat ik het verkeerde adres in mijn javascript had staan :) Alleen neemt hij nog steeds de variabelen niet over :(
Link naar reactie
Het probleem is dat je bij het klikken op de thumbnail geen id meegeeft aan je javascript functie. De waarde van fotoid is dus [i:f5896ac245]'undefined'[/i:f5896ac245]. In onderstaande regel zal je dus ook een (dynamische) id moeten meegeven in de link. [code:1:f5896ac245] $op .= "<a title=\"$vi\" href=\"javascript:openpopup()\">\n"; [/code:1:f5896ac245] En als ik dan een snelle gok mag wagen dan is dat de variabele [i:f5896ac245]$iu[/i:f5896ac245]. En voor het uitlezen van deze waarde in je script verwijs ik naar het antwoord van BasHamar. Mag ik overigens vragen waar onderstaande goed voor is? [code:1:f5896ac245] if (isset($_GET['iid'])) { $_GET['iid']; } elseif (isset($_POST['iid'])) { $_POST['iid']; } [/code:1:f5896ac245]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...