Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: luigidor en 20 Abril 2009, 16:17 pm



Título: Ejecutar PHP sin abrir explorador
Publicado por: luigidor en 20 Abril 2009, 16:17 pm
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...


Título: Re: Ejecutar PHP sin abrir explorador
Publicado por: Makiz0rz en 20 Abril 2009, 23:28 pm
Que sistema operativo utilizas?
Eso lo puedes hacer ejecutando el script con el binario intérprete de PHP.


Título: Re: Ejecutar PHP sin abrir explorador
Publicado por: s E t H en 21 Abril 2009, 05:01 am
si el lector de emails permite html podes poner
Código:
<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



Título: Re: Ejecutar PHP sin abrir explorador
Publicado por: luigidor en 21 Abril 2009, 13:08 pm
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?


Título: Re: Ejecutar PHP sin abrir explorador
Publicado por: s E t H en 22 Abril 2009, 00:30 am
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