Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Pirat3net en 15 Abril 2013, 11:45 am



Título: paginas dinamicas
Publicado por: Pirat3net en 15 Abril 2013, 11:45 am
supongamos un menu tipico html

<div id="menulista2">
  <ul>
  <li><a href=index.php>Home</a></li><li><a href=noticias.php>Noticias</a></li><li><a href=tutoriales.php>Tutoriales</a></li><li><a href=nuevaNoticia.php>Publicar Noticia/tutorial</a></li><li><a href=contactanos.php>Contactanos</a></li><li><a href=funciones.php>funciones</a></li></ul>

</div>
ahora bien supongamos que en vez de usarlo directamente hago lo meto en el fichero

menu.php
echo "todo el codigo de arriba";

ahora en todos mis ficheros html hago

<html>
<head>
....

include('menu.php');

ahora bien, supongamos que varias de mis paginas estan dentro de una carpeta llamada 'cositas'
y tambien utilizo en ellas
include('menu.php');

el problema vendra con que las referencias de menu.php no serviran para nada
pues tendre que bajar un subdirectorio de la siguiente manera
en vez de <a href=index.php>
sera
<a href=../index.php>
como puedo arreglar menu.php para que parta siempre desde mi directorio raiz, y asi no tener que modificar las rutas segun el directorio en que me encuentre

dato1: no me vale la manera absoluta tipo www.perros.com/index.php pues no conozco cual sera el nombre de dominio de la web


Título: Re: paginas dinamicas
Publicado por: el-brujo en 16 Abril 2013, 18:29 pm
¿Y has probado de usar $_SERVER['SCRIPT_FILENAME'] o $_SERVER['SCRIPT_NAME']?

Así te saldrá siempre la ruta correcta.


Título: Re: paginas dinamicas
Publicado por: дٳŦ٭ en 16 Abril 2013, 18:39 pm
Crea una matriz con todos tus links a manera que mediante un foreach lo recorras, usa una variable con la ruta absoluta de tu sitio.

Código
  1. <?php
  2. $miweb="http://".$_SERVER['SERVER_NAME']."/";
  3. $links=array("pagina1.php"=>"primera","pagina2.php"=>"segunda","pagina1.php"=>"tercera");
  4.  
  5.  
  6. foreach($links as $link => $pagina){
  7.  echo $miweb.$link."<br>";
  8.  
  9. }
  10. ?>

Saludos