Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/05/2005, 13:47
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Qué tal,

no se puede integrar ese código php básicamente porque lo único a lo que se está llamando al servidor es una imagen pero ningún documento. Si lo integraras al script no se ejecutaría ese php.

La solución podría ser la siguiente:

Crea un documento php de nombre afoto.php (por ejemplo) que contenga ese php que necesitas y tras terminar que muestre un documento vacío.

La única modificación que necesitaría el script sería en esta línea

ventana=window.open('','ventana','resizable=no,sc rollbars=no')

pasando afoto.php en el primer parámetro

ventana=window.open('afoto.php','ventana','resizable=no,sc rollbars=no')

Ahora bien, tengo mis dudas de que funcione correctamente, pues el script en cuanto abre la ventana nueva yá pretende escribir en el documento y a poco que se demore podría dar error. Hablo de todo sin hacer pruebas.

Tal vez otra forma más segura y que no enlentecería el tema sería crear un iframe oculto dentro de la popup que se abre y que llame al php para realizar la suma en la bd mientras se carga la imagen.

Veo que estás pasando un id por la url al llamar al script. Se podría modificar el script de forma que recoja un tercer parámetro con ese id

Código:
<script language="javascript"> 

//script por Tunait 
var ventana 
var cont=0 
var titulopordefecto = "Perico de los palotes" //texto por defecto a mostrar en la barra de título en caso de omitir el argumento titulo 

function afoto(cual,titulo,id) 
{ 
if(cont==1){ventana.close();ventana=null} 
if(titulo==null){titulo=titulopordefecto} 
ventana=window.open('','ventana','resizable=no,sc  rollbars=no') 
ventana.document.write('<html><head><title>' + titulo + '</title></head><body style="overflow:hidden" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0"><img src="' + cual + '" onLoad="opener.redimensionar(this.width, this.height)">')
ventana.document.writeln('<iframe width="0" height="0" src="afoto.php?id=' + id + '"></iframe>') 
ventana.document.close() 
cont++ 
} 
function redimensionar(ancho,alto) 
{ 
ventana.resizeTo(ancho+12,alto+28) 
ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2) //centra la ventana. Eliminar si no se quiere centrar el popup 
} 
</script>
Creo que eso debiera resultar. Deberás modificar también la llamada a la función para cada imagen agregando ese tercer parámetro id

Yá nos contarás

un saludo