Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marlysson

[Resolvido] Mudar título de página com PHP

Recommended Posts

Olá pessoal, sou novato em php e gostaria de mudar o título das páginas do meu site, pois uso include. Segue abaixo o código:

 

Página Index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="style.css" media="screen" />

<title>:: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::</title>
</head>

<body>
<div>
<?php

		if (isset($_GET['page'])) {
			include	"pages/".$_GET['page'].".php";
		} else {
			include	"pages/home.php";
		}


	?>
</div>
</body>

Código da página home.php 

<div id="conteudo">


</div>
</div>

 

Como faço para o título de todas as páginas serem diferentes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colocar o <title> no meio do <body> funciona em alguns navegadores, mas no IE por exemplo não funciona. Acho que a única solução seria usar Javascript. Coloque isso dentro do head da página:

 

<script type="text/javascript" language="javascript">

function mudarTitulo(novotitulo) {

document.getElementsByTagName('title').item(0).innerHTML = novotitulo;

}

</script>

 

E no início de cada página escreva essa linha e onde está escrito "Novo título" mude para o titulo desejado:

 

echo "<script>mudarTitulo('Novo título');</script>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço que mude seu código para este, está mais seguro.

 

<?php
// Se existir o $_GET['page'], $page = $_GET['page'], se não existir, $page = home.php
$page = (isset($_GET['page'])) ? $page = $_GET['page'] : $page = "home.php";

switch ($page) {
	case "home": $title = ":: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	case "contato": $title = "Contato :: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	case "empresa": $title = "Empresa :: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	default: $title = ":: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title><?php echo $title;?></title>
   <link type="text/css" rel="stylesheet" href="style.css" media="screen" />
</head>

<body>
<div>
   <?php
	if (file_exists("pages/".$page.".php")) {
		require("pages/".$page.".php");
	} else {
		require("pages/home.php");
	}
?>
   </div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você estiver usando includes, faça da seguinte forma que vai funcionar:

 

<html>
<head>
<title><?php echo $titulo; ?></title>

....

 

Defina uma variável chamada titulo em cada página e atribua um valor à ela. Isso fará com que cada página tenha um titulo diferente, ou seja, o valor da variável '$titulo'.

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço que mude seu código para este, está mais seguro.

 

<?php
// Se existir o $_GET['page'], $page = $_GET['page'], se não existir, $page = home.php
$page = (isset($_GET['page'])) ? $page = $_GET['page'] : $page = "home.php";

switch ($page) {
	case "home": $title = ":: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	case "contato": $title = "Contato :: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	case "empresa": $title = "Empresa :: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
	default: $title = ":: Clube de Aventureiros de Alagoas - Sejam Bem vindos! ::"; break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title><?php echo $title;?></title>
   <link type="text/css" rel="stylesheet" href="style.css" media="screen" />
</head>

<body>
<div>
   <?php
	if (file_exists("pages/".$page.".php")) {
		require("pages/".$page.".php");
	} else {
		require("pages/home.php");
	}
?>
   </div>
</body>
</html>

 

 

Funcionou legal! Só não gostei pq se forem 20 páginas vou ter que usar "case" 20 vezes! Ou seja serão 20 linhas! Mas deu certo! Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente, não podemos fazer nada referente ao usar o switch várias vezes, pois você está usando query_string, e só poderia diminuir se fosse uma página para cada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para funcionar dessa forma você precisa trabalhar com includes. Dessa forma você tem um mesmo topo e rodapé para todas as páginas sem ter que repetir as mesmas linhas de código em todas as páginas. Entendeu? :)

 

Exemplo:

 

header.php (topo das páginas)

<html>
<head>
<title><?php echo $titulo; ?></title>
...
</head>

<body>

 

index.php

<?php 

$titulo = 'Bem vindo a página inicial do meu site';
include_once 'header.php'; 

?>

<div id="conteudo">Aqui o conteúdo da sua index</div><!-- End conteudo -->

<?php include_once 'footer.php'; ?>

 

footer.php (rodapé das páginas)


<div>Aqui o conteúdo do seu rodapé</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.