Foros del Web » Programando para Internet » PHP »

Como hago para que siempre salgan los frames?

Estas en el tema de Como hago para que siempre salgan los frames? en el foro de PHP en Foros del Web. Tengo una web con un frame superior en el que está el menú principal. El problema que tengo es que cuando busco la web en ...
  #1 (permalink)  
Antiguo 08/03/2002, 04:21
 
Fecha de Ingreso: enero-2002
Mensajes: 75
Antigüedad: 22 años, 3 meses
Puntos: 0
Como hago para que siempre salgan los frames?

Tengo una web con un frame superior en el que está el menú principal. El problema que tengo es que cuando busco la web en el google, por ejemplo, te da links que no son de la página principal.

Lo que yo quiero es que si se accede a un link que no sea el index pues salga tambien el frame de arriba.

Podría implementar alguna solución para esto utilizando PHP??

.-aissen
  #2 (permalink)  
Antiguo 08/03/2002, 05:31
 
Fecha de Ingreso: febrero-2002
Mensajes: 7
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Como hago para que siempre salgan los frames?

No he entendido bien tu mensaje, pero vere si puedo serte de ayuda.
Una página con frames está compuesta por varias páginas (las páginas que lo componen las defines en la etiqueta <frameset>).
Si tu tienes un link en una de esas páginas y no le indicas en que zona debe abrirse, el link se abrirá o en el total de la ventana o en la zona que tenga limitada. No se si me explico muy bien.
Si quieres que un link se abra en una zona especifica tienes que añadir el parámetro TARGET="el_nombre_de_la_zona_de_la_ventana&qu ot; dentro de la etiqueta <a href="">.
Espero que te haya solucionado el problema.

Un saludo ;)
  #3 (permalink)  
Antiguo 08/03/2002, 05:55
 
Fecha de Ingreso: enero-2002
Mensajes: 75
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Como hago para que siempre salgan los frames?

bien bien no es ese mi problema.

Lo que yo quiero es que por ejemplo que si accedo directamente a http://www.telecomsoft.net/productos/productos.php me monte el frame de arriba que es donde tengo el menu. Esto solo pasa si he accedido a la web a través del index.htm (que es donde se montan los frames).

O sea lo que quiero hacer es detectar si accedo a una página desde una url fuera del dominio o por lo contrario accedo a través de un link del mismo dominio. Había pensado de pasar un parametro por get que me marcase si estoy dentro del dominio pero me resulta muy complicado hacerlo así.

no se si me he acabado de explicar ...

.-aissen
  #4 (permalink)  
Antiguo 08/03/2002, 07:17
 
Fecha de Ingreso: febrero-2002
Mensajes: 27
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Como hago para que siempre salgan los frames?

Creo q yo te he entiendio y tengo el mismo problema, es decir, si el resultado de una busqueda en el Google (por ejemplo) es un link a un frame de tu pagina, como se puede hacer q habra la pagina completa y no solo el frame?

¿alguien tiene alguna sugerencia?
  #5 (permalink)  
Antiguo 08/03/2002, 07:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: Como hago para que siempre salgan los frames?

1ª solucion:
No usar frames :P

2ª solucion:
Se me ocurre algo asi como ...
en cada pagina añadir el frame set (<frame>...</frame>), pero realizando un chequeo de donde viene la pagina.
Para ello, podriamos usar alguna variable q enviariamos en los links de nuestro menu hacia las subpaginas del sitio

ejemplo:
el link para llamar a las paginas seria algo asi como:
echo "<a href='unapagina.php?frames=si'>ira a una pagina</a>";

y el codigo que habria q insertar en todas las paginas (unapagina.php en este unico caso)

<?
if ($frames==""){
echo <<< HTML
<!-- aqui ponemos el frame set <frame>.. </frame> -->
HTML;
} else {

# aqui el resto de la pagina

} #cerramos if

De esta manera .. las entradas directas al "unapagina.php" al no contener la variable "frames" .. complira la condicion (if) y armara el frame set ..


Un saludo, espero q les resulte ..
si les va .. avisen
  #6 (permalink)  
Antiguo 08/03/2002, 07:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: Como hago para que siempre salgan los frames?

Ah, otro metodo q se me ocurre.. este tal vez sea mejor q el anterior:

Usar las variables de PHP $HTTP_HOST y $HTTP_REFERER

Ejemplo:
if (!eregi($HTTP_HOST,$HTTP_REFERER)) {
#montas el frame set ...
} else {
#resto de la pagina (la pagina)
}

Un saludo,
a ver si alguno sirver ..
  #7 (permalink)  
Antiguo 08/03/2002, 15:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Re: Como hago para que siempre salgan los frames?

AQUI TIENES UNO QUE A MI ME FUNCIONA MUY BIEN (YO LO HICE)

<?php

/*Este script es para agregar el JS que evita
que una pagina interior sea cargada fuera del
frameset inicial, la variable se llama $mismo
y debe asignarsele el nombre de la pagina en
la que se incluira el java

La variable debe definirse en la pagina destino

Ejemplo:

Si la pagina a crear se llamara "contacto.php"
entonces la variable $mismo debera tener el
valor "contacto.php"

Es decir, $mismo="contacto.php"

o cualquier script que resulte en esto mismo
*/

function no_solo($mismo)
{
$seguro="<script language='JavaScript'>
if (parent.location.href == self.location.href) {
window.location.href = 'index.php?inicio=$mismo';
}
</script>";
echo $seguro;
}
?>

Esta funcion la llamas desde cualquier pagina que NO quieres que se cargue SOLA (sin sus frames)

En el index.php debes incluir la variable $mismo en donde deba cargarse la pagina, y puedes decirle a index que si $mismo no esta definido, que te ponga en su lugar la pagina main.php o la que tu quieras por default...
  #8 (permalink)  
Antiguo 11/03/2002, 05:08
 
Fecha de Ingreso: enero-2002
Mensajes: 75
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Como hago para que siempre salgan los frames?

Muy buena ManoloWeb.
Buena la idea y además realmente sencilla. Me funciona perfectamente.

.-aissen
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 19:10.