Foros del Web » Programando para Internet » PHP »

Funcion include

Estas en el tema de Funcion include en el foro de PHP en Foros del Web. Hola. Lo que quiero hacer es que al dar en un link de una página se me abra otra index.php en la que meto la ...
  #1 (permalink)  
Antiguo 20/07/2002, 06:05
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 9 meses
Puntos: 55
Funcion include

Hola.
Lo que quiero hacer es que al dar en un link de una página se me abra otra index.php en la que meto la función include para que dentro de ella misma se abra otra http://www.pagina.com
Me dijeron que en la primera se ponia en el enlace index.php?enlace=http://www.pagina.com
y en index.php include('$enlace'); pero no me funciona.
¿Cómo lo hago?

<hr>
Saludos de Ferny.
"En teoría no hay diferencia entre teoría y práctica, pero en la práctica sí la hay"
Pásate por mi página de DivX <a href="http://www.solodivx.host.sk" title="SOLODIVX">http://www.solodivx.host.sk</a>
  #2 (permalink)  
Antiguo 20/07/2002, 12:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Funcion include

Una recomendacion ...

NO y digo NO uses ese metodo para incluir paginas .. osease .. poniendo el URL como parametro y haciendo directo el &quot;include&quot; a la pagina ...

Imagina q yo te edito la linea del URL .. y pongo index.php?pagina=http://miservidor.tal/micodigoPHPmalicioso.php ...
Al llamar a tus paginas con el &quot;include&quot; .. tu servidor ejecutara mi codigo de mi pagina .. y te puedes imaginar que podria estar ejecutando cosas que no deberia ...

Lo normal (y seguro) es usar referencias para tus &quot;links&quot; .. bien sean nombres o numeros ... y hacer un &quot;swish case&quot; o simples &quot;if&quot; (condiciones) ..

// recomendable:
$pagina=$_GET['pagina'];

if ($pagina==&quot;1&quot;){
include(&quot;http://www.talstio.tal/etc.tal&quot;);
}
if ($pagina==&quot;2&quot;){
include(&quot;http://www.talstio.tal/etc2.tal&quot;);
}

// etc ..

O mejor .. con sentencias &quot;swish case&quot;.

A todo esto .. q error tienes?
has comprobado que $pagina llege a tu pagina .. (echo $pagina; .. por ejemplo)?

Un saludo,
  #3 (permalink)  
Antiguo 21/07/2002, 05:40
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 9 meses
Puntos: 55
Re: Funcion include

Gracias Cluster por las respuestas.
Lo que no entiendo es que hace la primera linea: $pagina=$_GET[&quot;pagina&quot;];
Así que hice una prueba sin poner esta línea y me va más o menos. ¿Me puedes explicar qué hace eso y como se usa (que pongo en el enlace)? Ten en cuenta que soy novato...

Bueno, hasta aquí perfecto, pero al cargar la página del include sólo me sale la página, ni imágenes, ni estilos, ni nada más.
Subí la página al servidor, mirala con tus propios ojos: <a href='ir.asp?http://www.solodivx.host.sk/1.php...' target='_blank'>http://www.solodivx.host.sk/1.php......</a>
La página 1.php llama a enlace.php que es donde está el include. En 1.php puse en los enlaces enlace.php?id=1 y el código fuente de enlace.php es:
Código:
 &lt;html&gt;
&lt;head&gt;
&lt;title&gt;Pagina.PHP&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;/head&gt;
&lt;body leftmargin=&quot;0&quot; topmargin=&quot;0&quot; rightmargin=&quot;0&quot; bottommargin=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot;&gt;
&lt;table border=&quot;0&quot; width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
&lt;tr&gt;
    &lt;td background=&quot;http://www.solodivx.host.sk/fondo.jpg&quot;&gt;Aqu&amp;iacute; es donde ir&amp;iacute;a ese &amp;quot;frame&amp;quot; 
      explicativo. Est&amp;aacute; hecho con tablas.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;
&lt;?
if ($id==&quot;1&quot;){
include(&quot;http://www.forosdelweb.com&quot;);
}
if ($id==&quot;2&quot;){
include(&quot;http://www.hotmail.com&quot;);
}
?&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;
Gracias


<hr>
Saludos de Ferny.
"En teoría no hay diferencia entre teoría y práctica, pero en la práctica sí la hay"
Pásate por mi página de DivX <a href="http://www.solodivx.host.sk" title="SOLODIVX">http://www.solodivx.host.sk</a>
  #4 (permalink)  
Antiguo 21/07/2002, 05:43
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 9 meses
Puntos: 55
Re: Funcion include

Perdona la torpeza del Cut&amp;Paste, el enlace es: <a href='ir.asp?http://www.solodivx.host.sk/1.php' target='_blank'>http://www.solodivx.host.sk/1.php...</a>

Creo que las imágenes y todo eso sí las carga pero no las muestra (mira la barra de abajo). ¡Ahhhhhhh, como las muestrooooooo!

<hr>
Saludos de Ferny.
"En teoría no hay diferencia entre teoría y práctica, pero en la práctica sí la hay"
Pásate por mi página de DivX <a href="http://www.solodivx.host.sk" title="SOLODIVX">http://www.solodivx.host.sk</a>
  #5 (permalink)  
Antiguo 21/07/2002, 12:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Funcion include

El array $_GET[] ... o $_POST[] contiene los indices y valores (variables con su valor) que envias a una pagina PHP .. bien sean por el URL (metodo GET) o por un formulario (POST y/o GET) ...

Si tocas con un servidor que tenga la directiva registre_globals=off .. no te ira tu scrip tal cual lees las variables $id ..

Cuando envias variables de una pagina a otra .. por seguridad tendrias que saber por que metodo entrar (GET o POST) y leer solo las que entren por ese metodo ...

Te recomiendo que leas el manual de PHP y busques en los mensajes del foro por &quot;registre_globals&quot; .. pues esta explicacion se ha dado ya muchas veces mas detallada.

Otra recomendacion:
Cuando haces llamadas a paginas externas a tu sitio .. lo ideal no es &quot;incluirla&quot; como parte de tu codigo .. sino &quot;redireccionarla&quot; con la tipica funcion de caberas: header(&quot;location: www.lapaginaquesea.tal&quot;); ..


Un saludo,
  #6 (permalink)  
Antiguo 21/07/2002, 15:05
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 9 meses
Puntos: 55
Re: Funcion include

Bien, creo que lo he entendido.
Funciona bien, pero el problema sigue estando en que me carga solo la página y no las imágenes, estilos, etc. como puedes ver en el enlace dos mensajes más arriba.

<hr>
Saludos de Ferny.
"En teoría no hay diferencia entre teoría y práctica, pero en la práctica sí la hay"
Pásate por mi página de DivX <a href="http://www.solodivx.host.sk" title="SOLODIVX">http://www.solodivx.host.sk</a>
  #7 (permalink)  
Antiguo 21/07/2002, 16:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Funcion include

El enlace de forosdelweb que haces ... no muestra las imagenes .. pero el de hotmali si ...

No se ha que es debido ?¿

Un saludo,
  #8 (permalink)  
Antiguo 22/07/2002, 15:17
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 9 meses
Puntos: 55
Re: Funcion include

Gracias, ya lo solucioné.

Era tan sencillo como poner al principio un &quot;if&quot; que transforme el numero en la dirección de la página correspondiente:

if ($id==&quot;1&quot;){$id=&quot;http://www.forosdelweb.com&quot;;}

Y luego en head bastaba poner

&lt;? echo &quot;&lt;base href='&quot;,$id,&quot;'&gt;&quot;;?&gt;

Con lo cual ya tiene la ruta de los archivos.
Gracias. :)

<hr>
Saludos de Ferny.
"En teoría no hay diferencia entre teoría y práctica, pero en la práctica sí la hay"
Pásate por mi página de DivX <a href="http://www.solodivx.host.sk" title="SOLODIVX">http://www.solodivx.host.sk</a>
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 13:02.