Foros del Web » Programando para Internet » PHP »

Frames y variables

Estas en el tema de Frames y variables en el foro de PHP en Foros del Web. Se puede obtener una variable del padre desde un frame? Todo en php, of course ^^...
  #1 (permalink)  
Antiguo 30/04/2008, 09:40
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Frames y variables

Se puede obtener una variable del padre desde un frame?

Todo en php, of course ^^

Última edición por Eleazan; 30/04/2008 a las 10:32
  #2 (permalink)  
Antiguo 30/04/2008, 22:53
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Frames y variables

Y no, no podrás porque en el momento que PHP se ejecuta, los marcos todavía no existen.

Tendrás que usar Javascript o pensar en otra manera de hacer lo mismo.


Saludos.
  #3 (permalink)  
Antiguo 30/04/2008, 23:16
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Re: Frames y variables

Cita:
Iniciado por Eleazan Ver Mensaje
Se puede obtener una variable del padre desde un frame?

Todo en php, of course ^^
que es exactamente lo que deseas realizar
??
saludos
__________________
gerardo
  #4 (permalink)  
Antiguo 01/05/2008, 06:48
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Frames y variables

la cosa es que estuve haciendo pruebas con mzk (msn class para php).

Y nada, listo los contactos, veo los mensajes que me mandan, pero no sé como hacer para yo `mandar` un mensaje a un usuario concreto. Me explico mal, sé como mandarlo, es una funcion simple, pero no sé como encontrar una forma para poder escribir dicho mensaje yo.

El script principal se ejecuta continuamente, pudiendo leer siempre que llegue un mensaje dicho mensaje, y diciendome de quien es. La idea del frame era mandar un form y obtenerlo en el frame, y así, mandar ese texto. ¿Problema? La variable de la clase ($t) no sé como pasarla, puesto que es un objeto (clase) y no un string o un número

Quizás sea problema por mezclar POO con programacion normal
  #5 (permalink)  
Antiguo 01/05/2008, 07:00
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Frames y variables

No comprendo bien, pero me remito al problema inicial. Si vos, desde el padre haces:

Código PHP:
<? $var 'nico'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
</head>
<body>
<iframe src="hijo.php?var=<?=$var;?>" width="400" height="500"></iframe>
</body>
</html>
Luego, desde el hijo podrás hacer:
Código PHP:
<? echo 'hola '. (empty($_GET['var'])? ', Quién eres?' $_GET['var']); ?>
A su vez podes usar cookies, sessiones o cualquier global. También podrías usar javascript para llamar a una función u objeto o variable del padre usando document.parent.xxxxx


Saludos, espero que te sea de ayuda,
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 01/05/2008, 07:14
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Frames y variables

No me sirve :S

no van por ahí los tiros. A ver si me explico mejor

Tengo un hijo, y un padre. Hasta aquí, bien.
El padre siempre se está ejecutando, y el hijo tiene un `textarea`.

El problema, es, ¿como paso el contenido del textarea al padre? Evidentemente, get no puedo usar (ya que volveria a empezar todo, obligandome a `logear`de nuevo.

Asiq, ante esto, pensé, que otro iframe, en php, que recibiera el mensaje por GET o POST, podria solucionarlo, razonamiento que no sé si es acertado.

Hasta aqui, todo bien, sin problemas

Ahora, mi proble es, en el 2º hijo, tengo el mensaje, pero no tengo la variable ($t, que es un objeto) mediante el cual puedo llamar a la funcion del padre de SendText. Me pregunto, no existirá un "global" pero en vez de en funcion, que sirva para pillar variables del padre? :O
  #7 (permalink)  
Antiguo 01/05/2008, 08:55
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Frames y variables

Desde del hijo llamas a una función javascript que esta en el padre y que tome dicho valor...simple, aunque nada tiene que ver con php ya que sería todo JavaScript; desde el hijo:

HIJO: (hijo.html)
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript" type="text/javascript">
function enviar(){
    var f = document.formulario;
    var valor = f.texto.value;
    window.parent.mostrarValorHijo( valor );
}
</script>
</head>

<body>

<form name="formulario" id="formulario">
<textarea name="texto" id="texto"></textarea>
<a href="javascript:enviar()">Enviar</a>
</form>
</body>
</html>
PADRE: (padre.html)
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script language="javascript" type="text/javascript">
function mostrarValorHijo( valor ){
    alert( "valor: "+valor )
}
</script>
</head>
<body>
<iframe src="hijo.html" width="400" height="500"></iframe>
</body>
</html>
Se puede simplificar, por ejemplo entrando directamente por DOM desde el padre al hijo (pero por ahí no lo comprendes), y hasta se podría hacer vía ajax...en fin, espero sirva. Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 15:07.