Foros del Web » Programando para Internet » PHP »

titulo de la pagina

Estas en el tema de titulo de la pagina en el foro de PHP en Foros del Web. buenas,los molesto por la siguiente consulta: me arme un blog desde cero, anda demasiado bien para ser mi primer proyecto modular, si bien le falta ...
  #1 (permalink)  
Antiguo 04/10/2007, 18:26
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
titulo de la pagina

buenas,los molesto por la siguiente consulta:
me arme un blog desde cero, anda demasiado bien para ser mi primer proyecto modular, si bien le falta mucho de a poco lo voy mejorando.
Lo que quiero hacer ahora es que cuando entren al blog salga el titulo de la pagina que obtengo de la base de datos, eso lo hace de 10, pero ahora quiero hacer que cuando entren en un post salga el titulo de la pagina junto al titulo del post.

lo que hice fue esto:

en el link para ver el post lo puse asi:
Código PHP:
<h2><? echo'<a href="?mod=ver_post&amp;id='.$row['id_post'].'&amp;titulo='.$row['titulo'].'">'.$row['titulo'].'</a>';?></h2>
en el archivo head.php hice lo siguiente:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title><? if ($_GET['titulo']==""){
            echo 
$result['titulo'];
            }
            else{
            echo 
$result['titulo']." - ".$_GET['titulo']; 
            }
            
?>
    </title>
    <link rel="shortcut icon" href="http://www.sastrevalls.com.ar/images/favicon.ico" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="es-es" />
    <meta name="MSSmartTagsPreventParsing" content="true" />
    <meta name="description" content="<? echo $result['descripcion']; ?>" />
el problema surge cuando entro por primera vez al blog me salen errores en el titulo:
"notice: undefined index: titulo head.php line 25 que es donde empieza el if.
Pero cuando hago click en algún post todo funciona bien.

Como puedo hacer para que no suceda esto.

desde ya muchas gracias
  #2 (permalink)  
Antiguo 04/10/2007, 20:17
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: titulo de la pagina

cero que con un isset se quita el error

Código PHP:
<? if (isset($_GET['titulo']==""){
__________________
¨
  #3 (permalink)  
Antiguo 05/10/2007, 02:42
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: titulo de la pagina

Lo que te dice toforo es correcto (en realidad es if(isset($_GET['titulo'])) ), sin embargo no es muy bueno que hagas un echo en tu página de una variable que un usuario cualquiera pueda manipular.
De esta forma te estás exponiendo a lo que le llaman ataques XSS. Si bien en este caso quizá no resulte de lo más peligroso creeme que es posible encontrarle la vuelta.
Lo mejor sería que escapes correctamente la variable antes de mostrarla o bien captures el título del POST de tu BD.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #4 (permalink)  
Antiguo 05/10/2007, 09:41
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: titulo de la pagina

O por lo menos pasarle el htmlentities() a la variable $_GET['titulo']

ya que si yo por GET metiera en la variable titulo algo como:
&titulo=hola </titulo><script>alert("hola");</script>

quizás te pueda sllevar una sorpresa, sobre todo si en vez de alert("hola") se ponen otros comandos.

Un saludo
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 07:25.