Foros del Web » Programando para Internet » PHP »

Obtener Titulo de Paginas

Estas en el tema de Obtener Titulo de Paginas en el foro de PHP en Foros del Web. Hola a todos. Tengo una pequeña base de datos donde almaceno las visitas del web, se almacena la hora, fecha y archivo visitado, es decir, ...
  #1 (permalink)  
Antiguo 10/07/2006, 11:08
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 204
Antigüedad: 12 años, 8 meses
Puntos: 1
Pregunta Obtener Titulo de Paginas

Hola a todos.

Tengo una pequeña base de datos donde almaceno las visitas del web, se almacena la hora, fecha y archivo visitado, es decir, si visitan la pagina principal en la bdd me muestra que visitaron: "/index.php" y asi con cada archivo y lo obtengo con algo asi como: $_SERVER["PHP_SELF"], pero ¿es posible con php en lugar de obtener el archivo o la dirección mejor obtener el titulo de la página que se visitó? ¿como se puede hacer?

Bueno, pues gracias de antemano.
__________________
www.eris.com.mx
  #2 (permalink)  
Antiguo 10/07/2006, 11:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Concreta mejor si quieres obtener la página que se "visitó" (pasado) o la que generas con PHP (la actual: presente).

Con $_SERVER['HTTP_REFERER'] puedes obtener el URL de la página de la que llegas a tu script (la que "visitó" antes) .. pero sólo de la que llegá .. no la que realmente "visitó" si no fué "referenciada" por un link desde la página que visitó a la tuya actual. Tampoco es un dato muy seguro (de que sea cierto) y no todo navegador lo entrega .. (por ejemplo cuando abres ventanas ahí no se suele entregar esa información).

Eso sería para obtener el "URL" no el "título de la página" (eso sería otra cosa, lo necesitas? ...)


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 10/07/2006, 11:38
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 204
Antigüedad: 12 años, 8 meses
Puntos: 1
Bueno, pues si no me explique ofrezco una disculpa a todos, pero cito y planteo de nuevo mi pregunta:

es decir, si visitan la pagina principal en la bdd me muestra que visitaron: "/index.php" y asi con cada archivo

Digamos que la pagina principal se titula (en la barra de titulo del explorador) "PAGINA INICIAL". Lo que quiero es que en lugar de que en la bdd me muestre "/index.php" me muestre el titulo de ESA pagina que se visitó, es decir "PAGINA INICIAL".

¿es posible con php en lugar de obtener el archivo o la dirección mejor obtener el titulo de la página que se visitó?, ¿como se puede hacer?

Bueno, la informacion que me has dado me ha servido de mucho, aunque para otros proyectos diferentes.

Pues gracias por todo y Saludos!!
__________________
www.eris.com.mx
  #4 (permalink)  
Antiguo 10/07/2006, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Digamos que la pagina principal se titula (en la barra de titulo del explorador) "PAGINA INICIAL". Lo que quiero es que en lugar de que en la bdd me muestre "/index.php" me muestre el titulo de ESA pagina que se visitó, es decir "PAGINA INICIAL".
Ok .. Con PHP se pude hacer dinámicamente lo que pretendes .. ahora .. no lo encuentro óptimo .. un sobre-consumo de recursos para una taréa que conociendo que PHP "genera" la página que al final entregas a tu navegador .. ese dato lo podrías tener en una variable y hacer el proceso de:

0) registrar el nombre en tus BBDD.
1) darle nombre a tu página.

Me refiero a:

Código PHP:
<?
$titulo_pagina
="blablabla";
// registraas el dato en tu BBDD.
?>
<html>
<head>
<title><? echo $titulo_pagina ?></title>
</head>
<etc página HTML ...>
O incluso una BBDD donde relaciones tu URL de tu página (la que obtienees de $_SERVER['PHP_SELF'] con ruta .. ) con el "nombre" del título de la página .. Eso lo harías a la hora de generar tus informes/estadísticas .. mientras tanto seguirías registrando el URL como ahora lo haces.

Así es como trataría el tema por mi parte. De hecho el tener la BBDD con la relación "título página -> URL" se presta para generar menús por ejemplo dinámicamente .. establecer incluso permisos de acceso a usuarios por "aplicación" .. etc. (registrando algunos datos más en esa misma BBDD tabla ..)

-----------------------------------------------------

Sobre lo que tu pedías en concreto .. Como te he comentado PHP se "procesa" en el servidor antes de que el "HTML" generado sea interpretado por el navegador .. así que para obtener un dato del "HTML" que generas con PHP, habría que "capturarlo" del buffer de salida que PHP genera al procesar. (Es ese "trabajo" extra de PHP el que se puede evitar con las soluciones antes planteadas).

Para capturar el buffer tienes que usar las funciones del grupo "ob_start()" y afines ..

al principio de tu código:
Código PHP:
<?
// inicias la captura del buffer
ob_start();
?>

tu actual página HTML/PHP ...

<?
// al final de tu código actual ...
// caputras el buffer de salida hacia una variable (ahí estará tu página generada HTML/CSS etc ..)
$html_generado=ob_get_contents();

// Procesas el HTML generado para actar y quedarte con lo que esté entre la etiqueta <title> y </title> (con expresiones regulares).

 
if (eregi("<title>(.*)</title>"$html_generado$salida)) { 
         
$titulo_pagina $salida[1]; 
 } else {
         
$titulo_pagina "Sin título";
 }

// haces tu proceso con la variable obtenida (hazlo en este punto .. antes no existirá tu dato ...)

// entregas el buffer a la salida y continuas al proceso normal ...
ob_end_flush();
?>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 10/07/2006, 12:06
Avatar de Ciberdanny  
Fecha de Ingreso: marzo-2005
Ubicación: Distrito Federal
Mensajes: 204
Antigüedad: 12 años, 8 meses
Puntos: 1
De acuerdo Ok. te agradezco

OK, comprendo el punto ya que ha sido explicado perfectamente.

Te agradezco la atención ya que me has sacado de la duda, ahora solo me queda digamos... limar azperezas en el proposito para evitar problemas.

Gracias por todo Cluster.
__________________
www.eris.com.mx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:49.