Foros del Web » Programando para Internet » PHP »

pasar variable para llamar iframe

Estas en el tema de pasar variable para llamar iframe en el foro de PHP en Foros del Web. Hola tengo una web que tiene un iframe cuyos contenidos se ven en éste, bueno lo que intento es que al querer escribir la url ...
  #1 (permalink)  
Antiguo 05/08/2009, 14:20
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
pasar variable para llamar iframe

Hola tengo una web que tiene un iframe cuyos contenidos se ven en éste, bueno lo que intento es que al querer escribir la url www.perros.com/galeria.php esta me redireccione a www.perros.com y que el iframe llame a galeria.php, espero dejarme entender...

pues en las paginas hijas pregunto si son ejecutadas desde un iframe o directamente, bajo esa condicion mando un parametro por la url

Código PHP:
<?php
$p
='galeries';
?>
<script type="text/javascript">
if(top.location==self.location){
location.href='./?go=<?php echo $p;?>';
}
</script>
y en la pagina padre recojo esa variable con GET le paso una funcion y la concateno con el src del iframe:

Código PHP:
<?php
include('funciones/functions.php');
$pagina=$_GET['go'];
?>

....

<iframe id="contenedor" src="<?php return_iframesite($pagina); ?>" name="contenedor" ></iframe>
Y aqui esta mi funcion que reemplaza el parametro que recibo y lo convierte en la pagina:

Código PHP:
<?php 
function return_iframesite($site){
    switch (
$site) {
    case 
'main':
        
$location 'index_frame.php';
        break;
    case 
'galeries':
        
$location 'galeria.php';
        break;
    case 
'products':
        
$location 'productos.php';
        break;
    case 
'sistems':
        
$location 'sistemas.php';
        break;
    }
    return 
$location;
}
?>
Mi porblema no se si es mi funcion o es que el $_GET no recibe el parametro 'go' ... porque cuando digito www.perros.com/galeria.php la url se transforma en www.perros.com/?go=galeries pero siempre me muestra en el iframe una pagina por defecto que seria el index_frame.php (no se muestra la galerias.php)

probe imprimiendo el $_GET['go']; y no me sale nada.... porque no pasa? no es posible que este dentro de un codigo js?
__________________
Quitenme la vida pero no la bebida.

Última edición por cesarpunk; 05/08/2009 a las 14:51
  #2 (permalink)  
Antiguo 05/08/2009, 14:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar variable para llamar iframe

mmm...

tu función solo devuelve la URL ... pero tu jamas la imprimes !!

Código PHP:
<?php echo return_iframesite($pagina); ?>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/08/2009, 14:39
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Bueno le puse el echo a la funcion .... pero ese no es el problema.... tambien he imprimido el $_GET['go'] y no me devuelve nada ... no se si estoy haciendo algo mal en esa condicion js

ademas... sino imprime nada en la funcion... porque me salia la pagina por defecto? (la primera opcion del switch)

ya vi el problema....

Código PHP:
location.href='./?go=<?php echo $p;?>';
cuando puse asi funciona:

Código PHP:
location.href='./index.php?go=<?php echo $p;?>';
pero no vendria a ser lo mismo? se supone que la primera pagina va a ser siempre index.... es necesario especificarla?
__________________
Quitenme la vida pero no la bebida.

Última edición por GatorV; 05/08/2009 a las 22:19
  #4 (permalink)  
Antiguo 05/08/2009, 22:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: pasar variable para llamar iframe

Si, ya que ./ estas hablando del directorio actual, y no se redireciona correctamente, si quieres ir a la raiz del sitio usa / solamente sin el .

Saludos.
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 22:32.