Plantillas

Ejercicio

Hacer dos páginas web cuyas secciones cabecera y botonera sean cargadas con dos includes respectivamente.

Ejercicio: Plantilla con Index

Ahora los links de la botonera enlazarán con la propia página, pasándole un parámetro que será recogido y usado en un include para que cargue el contenido correspondiente.

Para realizar este ejercicio necesitaremos 3 páginas:

  • contenido1.php
  • contenido2.php
  • index.php

Nota:
Si quisiera evaluar si un fichero existe antes de cargarlo podría usar el método file_exists()

Idiomas

Perdiendo la página en la que estoy al pulsar en el botón de idioma

<?php 
	$lang = "es";
	if(isset($_REQUEST["lang"])){
		$lang = $_REQUEST["lang"];
	}
	include "langs/".$lang.".php";

	$p = "contenido1";
	if(isset($_REQUEST['p'])){
		$p = $_REQUEST['p'];
	}
?>
...
<?php include $p.".php"; ?>
…

<a href="index.php?p=contenido1">Contenido 1</a><br>
<a href="index.php?p=contenido2">Contenido 2</a>
…
<a href="index.php?lang=es">ES</a> | <a href="index.php?lang=en">EN</a>

Manteniendo la página en la que estoy

<a href="index.php?p=<?=$p ?>&lang=es">ES</a> | 
<a href="index.php?p=<?=$p ?>&lang=en">EN</a>

Recordando el idioma seleccionado en la sesión

<?php
	session_start();
	if(isset($_REQUEST["lang"])){
		$_SESSION["lang"] = $_REQUEST["lang"];
	}else if(!isset($_SESSION["lang"])){
		$_SESSION["lang"] = "es";	
	}
	include "langs/".$_SESSION["lang"].".php";

Detección del idioma del navegador

<?php
	session_start();
	if(isset($_REQUEST["lang"])){
		$_SESSION["lang"] = $_REQUEST["lang"];
	}else if(!isset($_SESSION["lang"])){
		$_SESSION['lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
	}
	if(!in_array($_SESSION['lang'], array("es", "en"))){
		$_SESSION['lang']="en";
	}
	include "langs/".$_SESSION["lang"].".php";

icono de mandar un mailPreguntame lo que quieras!
Pablo Monteserín
contacta conmigoPablo Monteserín

El servicio de resolución de dudas técnicas es sólo para los usuarios premium. Si tienes cualquier otra duda, usa el formulario de contacto. ¡Gracias!