Xidius
04-01-2006, 21:41
Salve ragazzi, sto realizzando un sistema che permette di reperire informazioni attraverso form, uploadare immagini e gestire al meglio quest'ultime.. tutto cio lo sto realizzando con php/mysql/apache e con l'ausilio del javascript per creare popup..
Mi sono imbattuto in un problema alquanto insolito
<HTML><HEAD><TITLE>Informazioni</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY vLink=#800000 link=#008080 bgColor=#ffffff>
<script src="resize.js"></script>
<font size="2"></font>
<center>
<p><font size="2"><BR>
<em>
<font face="Arial, Helvetica, sans-serif">
    
<strong><font face="Courier New, Courier, mono">Il titolo dell'opera è</font></strong> <? print($_GET['titolo']);
$path = "./" . $_GET['path'];
?>
</font></em></font></p>
<p><font size="2"><font face="Arial, Helvetica, sans-serif"><BR>
    
<strong><font face="Courier New, Courier, mono">l'autore è</font></strong> <? print($_GET['autore']);
?>
</font></font> </p>
<font size="2"><table width="70%" border="1" cellpadding="0" cellspacing="0" bgcolor="#00CCFF">
<tr>
<td width="32%" height="25%">
<table width="100%" border="1" bgcolor="#3366CC" cellpadding="0" cellspacing="0">
<?
if ($handle = opendir(urldecode($path))){
while (false !== ($file = readdir($handle))){
if ($file != "." && $file != ".." && is_file($path . $file)){
echo "<tr><td><div align=\"center\"><b><a href=java script:popImage(" . $_GET['path'] . $file . ")>
<img src=" . $_GET['path'] . $file . " border=\"0\" height=\"115\"></a></b></div></td></tr>";
}
}
}
?>
</table>
<p align="center"> </p></td>
<td width="68%">
<font size="2">
<iframe width="640" height="480" border="4" hid="boxImm" src="" name="boxI" style="overflow:visible"></iframe>
</font></td>
</tr>
</table>
</font>
</center>
</BODY>
</HTML>
questo, attraverso un form dovrebbe visualizzarmi una lista di immagini sulla sinistra e sulla destra ( col javascript ), farmi uscire, una volta cliccato su una di queste immagini, un popup con l'immagine ingrandita
infatti ecco la funzione che richiama il java script:
echo "<tr><td><div align=\"center\"><b><a href=java script:popImage(" . $_GET['path'] . $file . ")>
ed ecco lo script javascript richiamato sotto il tag body:
// Qui impostare il punto dalla parte sinistra del monitor
// nel quale deve posizionarsi il popup. La distanza va espressa in pixels.
PositionX = 20;
// Qui impostare il punto dalla parte superiore del monitor
// nel quale deve posizionarsi il popup. La distanza va espressa in pixels.
PositionY = 20;
// Qui impostare un valore che sia circa 20 pixels maggiore della larghezza
// dell'immagine più larga (necessario per chi usa Netscape)
defaultWidth = 100;
// Qui impostare un valore che sia circa 20 pixels maggiore dell'altezza
// dell'immagine più lunga (necessario per chi usa Netscape)
defaultHeight = 100;
// Per far sì che il popup si chiuda automaticamente quando si cliccha in un punto
// qualunque del monitor inserire il valore true, altrimenti inserire il valore false.
var AutoClose = true;
// DA QUI NN FARE NESSUNA MODIFICA
// ===================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidt
h+',height='+defaultHeight+',left='+Posi
tionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=10
0,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about :blank','',optNN);}
if (isIE){imgWin=window.open('about :blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();
}}
bene veniamo al dunque: il codice php è scritto bene, nn da errori e infatti la lista delle immagini me le visualizza, solo che se clicco su una di loro, nn mi apre il popup... ora nn intendedomi proprio di javascript, nn posso dire con certezza se dipenda da quest'ultimo o da qualcos'altro.. però ho provato a fare a parte una piccola pagina html con lo stesso script javascript e funziona... mi verrebbe da pensare che gli dia fastidio l'argomento della funzione cioè
popImage(" . $_GET['path'] . $file . ") però ho provato a levare la funzione lasciando solo il contenuto e il codice funziona...
grazie dell'aiuto
come ripeto nn so trovare soluzione
Mi sono imbattuto in un problema alquanto insolito
<HTML><HEAD><TITLE>Informazioni</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY vLink=#800000 link=#008080 bgColor=#ffffff>
<script src="resize.js"></script>
<font size="2"></font>
<center>
<p><font size="2"><BR>
<em>
<font face="Arial, Helvetica, sans-serif">
<strong><font face="Courier New, Courier, mono">Il titolo dell'opera è</font></strong> <? print($_GET['titolo']);
$path = "./" . $_GET['path'];
?>
</font></em></font></p>
<p><font size="2"><font face="Arial, Helvetica, sans-serif"><BR>
<strong><font face="Courier New, Courier, mono">l'autore è</font></strong> <? print($_GET['autore']);
?>
</font></font> </p>
<font size="2"><table width="70%" border="1" cellpadding="0" cellspacing="0" bgcolor="#00CCFF">
<tr>
<td width="32%" height="25%">
<table width="100%" border="1" bgcolor="#3366CC" cellpadding="0" cellspacing="0">
<?
if ($handle = opendir(urldecode($path))){
while (false !== ($file = readdir($handle))){
if ($file != "." && $file != ".." && is_file($path . $file)){
echo "<tr><td><div align=\"center\"><b><a href=java script:popImage(" . $_GET['path'] . $file . ")>
<img src=" . $_GET['path'] . $file . " border=\"0\" height=\"115\"></a></b></div></td></tr>";
}
}
}
?>
</table>
<p align="center"> </p></td>
<td width="68%">
<font size="2">
<iframe width="640" height="480" border="4" hid="boxImm" src="" name="boxI" style="overflow:visible"></iframe>
</font></td>
</tr>
</table>
</font>
</center>
</BODY>
</HTML>
questo, attraverso un form dovrebbe visualizzarmi una lista di immagini sulla sinistra e sulla destra ( col javascript ), farmi uscire, una volta cliccato su una di queste immagini, un popup con l'immagine ingrandita
infatti ecco la funzione che richiama il java script:
echo "<tr><td><div align=\"center\"><b><a href=java script:popImage(" . $_GET['path'] . $file . ")>
ed ecco lo script javascript richiamato sotto il tag body:
// Qui impostare il punto dalla parte sinistra del monitor
// nel quale deve posizionarsi il popup. La distanza va espressa in pixels.
PositionX = 20;
// Qui impostare il punto dalla parte superiore del monitor
// nel quale deve posizionarsi il popup. La distanza va espressa in pixels.
PositionY = 20;
// Qui impostare un valore che sia circa 20 pixels maggiore della larghezza
// dell'immagine più larga (necessario per chi usa Netscape)
defaultWidth = 100;
// Qui impostare un valore che sia circa 20 pixels maggiore dell'altezza
// dell'immagine più lunga (necessario per chi usa Netscape)
defaultHeight = 100;
// Per far sì che il popup si chiuda automaticamente quando si cliccha in un punto
// qualunque del monitor inserire il valore true, altrimenti inserire il valore false.
var AutoClose = true;
// DA QUI NN FARE NESSUNA MODIFICA
// ===================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidt
h+',height='+defaultHeight+',left='+Posi
tionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=10
0,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about :blank','',optNN);}
if (isIE){imgWin=window.open('about :blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();
}}
bene veniamo al dunque: il codice php è scritto bene, nn da errori e infatti la lista delle immagini me le visualizza, solo che se clicco su una di loro, nn mi apre il popup... ora nn intendedomi proprio di javascript, nn posso dire con certezza se dipenda da quest'ultimo o da qualcos'altro.. però ho provato a fare a parte una piccola pagina html con lo stesso script javascript e funziona... mi verrebbe da pensare che gli dia fastidio l'argomento della funzione cioè
popImage(" . $_GET['path'] . $file . ") però ho provato a levare la funzione lasciando solo il contenuto e il codice funziona...
grazie dell'aiuto
come ripeto nn so trovare soluzione