fout in script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas

Bas

23/09/2005 22:30:00
Quote Anchor link
Hallo,

Ik heb ergens een script gevonden dat een heel mooi fotoboek vormt. Dit werkt perfect in Internet explorer, maar zodra ik de pagina in firefox open gaat het mis. als je op een plaatje klikt gebeurt er niks.

Wat doe ik fout? heeft het iets te maken met window.open in laatzien?

hier mijn script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
//LET OP!!! Hier moet je de directory invullen waar je foto's staan
//vergeet niet de "/" op het einde
//deze directory gaat uit van het pad waar je file staat. Ook geen
//leading "/" gebruiken dus.


$dir = 'images/';
$dir2 = 'klein/';

//inhoud van de directory ophalen
$handle = opendir($dir);
while ($file = readdir($handle))
{

        if($file == '.' || $file == '..')
                continue;
        else
                $result_array[]=$file;
}

closedir($handle);
?>


<center>
Wacht tot alle fototjes geladen zijn....<br>
</center>
<script language="JavaScript">
<!--
function laatZien(fotonr, hoogte, breedte, src)
{
foto = window.open('','','menubar=no,toolbar=no');
foto.resizeTo(breedte,hoogte);
foto.document.write("<html><head><title>Foto - " + fotonr + "</title></head><body leftmargin='0' topmargin='0'>");
foto.document.write("<center><img src=" + src + fotonr + "><center><br>");
foto.document.write("<center><font face='Arial, Helvetica, sans-serif' size='2'>.::<a href='JavaScript:window.close();'> Sluit venster </a>::.</font></center>");
foto.document.write("</body></html>");
}
!-->
</script>
</head>

<style>
body
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
background-color: #FFFFFF
}
span
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #CC6633
}
a:link { color: #000000; font-size: 12px }
a:visited { color: #31928C; font-size: 12px }
a:active { color: #CCFFCC; font-size: 12px }
a:hover { color: #CC3333; font-size: 12px }
</style>

<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?php
//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan :-)
//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar :-P

$rows = 4;
$cols = 5;
//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{

        $page = $_GET['page'];
}

else
{
        $page = 0;
}

//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);
//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;

//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{

        array_push($slices, $push);
        $push = $push + $cells;
}


//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen

for($k=0;$k<$pages;$k++)
{

        if($page == key($slices))
        {

                $output = array_slice($result_array, current($slices), $cells);
        }

        next($slices);
}

reset($output);

//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\n";
for($i=0;$i<$rows;$i++)
{

        print "\t<tr>\n";
        for($j=0;$j<$cols;$j++)
        {

                if(current($output) != false)
                {

                        $pic = current($output);
                        $size = getimagesize($dir.$pic);
                        $height_button = $size[1] + 70;
                        $value = current($output);
                        print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' border='0' src='$dir2$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
                        next($output);
                }

                else
                {
                        print "\t\t<td width='100' height='100' align='center'>&nbsp;</td>\n";
                }
        }

        print "\t</tr>\n";
}


//hier worden de prev en next knopjes gemaakt.
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
        if($num_pages == '0')
        {

                print "<span>[ </span>";
                print "vorige";
                print "<span> ] </span>";
                print "<span> [ </span>";
                print "volgende";
                print "<span> ]</span>";
        }

        elseif(($page == '0')||($page == ''))
        {

                // geen previous knopje, begin pagina index.php?page=0
                $next = $page + 1;
                print "<span>[ </span>";
                print "vorige";
                print "<span> ] </span>";
                $page_link = 1;
                for($k=0;$k<$pages;$k++)
                {

                        if($k == $page)
                        {

                                print "$page_link&nbsp;";
                        }

                        else
                        {
                                print "<a href='$ref?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }

                print "<span> [ </span>";
                print "<a href='$ref?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }

        elseif($page == $num_pages)
        {

                // geen next knopje, $pages = maximum
                $prev = $page - 1;
                print "<span>[ </span>";
                print "<a href='$ref?page=$prev'>vorige</a>";
                print "<span> ] </span>";
                $page_link = 1;
                for($k=0;$k<$pages;$k++)
                {

                        if($k == $page)
                        {

                                print "$page_link&nbsp;";
                        }

                        else
                        {
                                print "<a href='$ref?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }

                print "<span> [ </span>";
                print "volgende";
                print "<span> ]</span>";
        }

        else
        {

                // de rest, pagina's in het midden, 2 knopjes
                $next = $page + 1;
                $prev = $page - 1;
                print "<span>[ </span>";
                print "<a href='$ref?page=$prev'>vorige</a>";
                print "<span> ] </span>";
                $page_link = 1;
                for($k=0;$k<$pages;$k++)
                {

                        if($k == $page)
                        {

                                print "$page_link&nbsp;";
                        }

                        else
                        {
                                print "<a href='$ref?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }

                print "<span> [ </span>";
                print "<a href='$ref?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }

//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>

</center>
</body>
</html>
Gewijzigd op 24/09/2005 10:53:00 door Bas
 
PHP hulp

PHP hulp

24/04/2024 23:28:45
 
Willem Jan Z

Willem Jan Z

23/09/2005 22:38:00
Quote Anchor link
Iets minder witruimtes had ook wel gemogen

Edit: Ach ja, Post hem 2x
Gewijzigd op 23/09/2005 22:42:00 door Willem Jan Z
 
Bas

Bas

23/09/2005 22:58:00
Quote Anchor link
sorry, maar zo staat het in het script, maar heb je een oplossing of een alternatief voor window.open?
 
Thijs X

Thijs X

23/09/2005 23:00:00
Quote Anchor link
omg lkkr irritant lezen al die enters
 
Bas

Bas

23/09/2005 23:07:00
Quote Anchor link
ik probeer het altijd zo overzichtelijk mogelijk te houden, maar hier lijkt het idd of het script uit elkaar getrokken wordt
 
- SanThe -

- SanThe -

23/09/2005 23:40:00
Quote Anchor link
Klik even op het linker icoontje boven je bericht (met dat pennetje) en je kan zelf al die loze regels verwijderen. De kans dat het dan gelezen gaat worden vergroot je daar aanzienlijk mee.
 
Bas

Bas

24/09/2005 10:54:00
Quote Anchor link
bij deze bijgewerkt
 
Bas

Bas

24/09/2005 11:12:00
Quote Anchor link
mischien help het als je een voorbeeld hebt hoe het eruit komt te zien:

http://www.wyger.nl/usr/wegfeest/middag/index.php

in ie werkt het perfect, maar in firefox heb ik geen effect
 
Bas

Bas

24/09/2005 12:02:00
Quote Anchor link
ik heb het al opgelost...
 
Willem Jan Z

Willem Jan Z

24/09/2005 16:30:00
Quote Anchor link
Deel je de oplossing nog met ons?
 

24/10/2005 16:03:00
Quote Anchor link
ja ik deel het mee:

in het script stond ergens een verloren: <--! -->

die verwijdert en het werkt als een trein!!!

groet Bas
 
Jan Koehoorn

Jan Koehoorn

24/10/2005 16:14:00
Quote Anchor link
Hoi Bas,

ik zou nog een check inbouwen om te zien of er al een popup geopend is. Als je het popupwindow niet sluit voordat je op een nieuwe thumbnail klikt, dan heb je twee popups, en drie, en vier, enz ...

Ook laden je foto's nogal traag. Heb je ze wel voorbewerkt voor internet? Dus geen 300 DPI en zo, beetje gunstige JPEG compressieverhouding, dat soort dingen?
 
Willem vp

Willem vp

24/10/2005 16:18:00
Quote Anchor link
In principe is het wel verstandig om die commentaar-tags te laten staan, maar ik vermoed dat het probleem lag in de afsluitende tag. Die was !--> in plaats van --> en aangezien dat niet conform de standaard is, zal Firefox zich anders hebben gedragen dan was bedoeld.
 
Bas

Bas

24/10/2005 16:24:00
Quote Anchor link
afsluitende tag is ook --> en als je daar een ! voor zet dan wordt die ook uitgeschakeld, maar goed.

het werkt nu.

jan, ik heb de foto's wel gedownsized, maar die server is niet bar snel.

gaat om het idee,.........

groet bas
 
Jan Koehoorn

Jan Koehoorn

24/10/2005 16:36:00
Quote Anchor link
Bas:
jan, ik heb de foto's wel gedownsized, maar die server is niet bar snel.

gaat om het idee
groet bas


Okee, veel succes verder!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.