Ejecutar PHP sin abrir explorador

Iniciado por luigidor, 20 Abril 2009, 16:17 PM

0 Miembros y 1 Visitante están viendo este tema.

luigidor

Buenas a todos,

El programa que estoy generando envía un e-mail personalizado a un cliente (en formato HTML).

Dentro del HTML existe un enlace para que el cliente pueda cambiar de idioma, el cual lanza un PHP remoto:

<a href="http://www.midominio.com/language.php?id=1&id_idioma=2">

El primer parámetro (id) me dice quién es el receptor (cliente) del e-mail y el segundo (id_idioma) en que idioma quiere recibir a partir de entonces sus e-mails

El php "language.php" recoge los 2 parámetros e interactúa con una base de datos cambiándole de idioma al cliente.

Todo funciona perfectamente, PERO...

Cuando el cliente pincha el enlace en su e-mail para cambiar el idioma SE ABRE AUTOMATICAMENTE SU EXPLORADOR DE INTERNET PREDETERMINADO y ejecuta el código de cambio de idioma perfectamente.

Lo que ocurre es que no quiero que se abra ningún explorador, tan sólo que se ejecute el código del PHP que hace el cambio de idioma...

¿Es esto posible?

Me he creado asimismo un servidor de imágenes PHP que viene a hacer lo mismo y no abre explorador alguno. Lo pongo a continuación (image_launch.php), resumido:

<?php

// ** Indica al navegador que la respuesta será una imagen GIF
header("Content-type: image/gif");

// ** Código para entregar imagen al navegador / correo
$gestor = fopen("images/mi_imagen.gif", "r");
$contenido = fread($gestor, filesize("images/mi_imagen.gif"));
print $contenido;
fclose($gestor);
flush();

?>

Funciona perfectamente y no carga el explorador de internet...

¿Cómo hago para el PHP language.php?

¿Hay que poner algún tipo de cabecera como en el de imágenes (header("Content-type: image/gif")) para que no devuelva dato ninguno, ni abra el explorador? ¿Cual sería?

Gracias por vuestra ayuda...

Makiz0rz

Que sistema operativo utilizas?
Eso lo puedes hacer ejecutando el script con el binario intérprete de PHP.

s E t H

si el lector de emails permite html podes poner
<img src="http://tuhosting.com/lenguaje.php" style="dislpay: none">
y en ese archivo haces todo normalmente, sin la cabecera de imagen y sin mostrar nada


luigidor

MakizOrz, el sistema operativo de los PHP es bajo Linux y, lo siento, no entiendo a que te refieres...

Gracias s E t H, pero en todo caso sería (supongo...):

<a href="http://tuhosting.com/lenguaje.php" style="display: none">

y esto me oculta el enlace cuando envío el e-mail, luego no se puede pinchar...

Otra idea?

s E t H

por eso te dije como imagen :D

si el lector de emails permite html va a pedire a tu servidor el archivo php para mostrarlo en la imagen
el php hace lo que tenga que hacer
el lector no encuentra la imagen, pero igual no mestra nada por el display:none