Cita:
Iniciado por living Estaría bien que al final de este post pusieras cual es el código que te ha funcionado porque menudo lio
Vale... veamos... reordenando las ideas y recreando la situación, tenemos...
principal.php que contiene 3 frames
frame2.php permite, entre otras cosas, abrir la ventana desplegable sesion.php para iniciar una sesión en el portal...
frame3.php permite, muestra una foto y tiene 2 enlaces para agregar la foto a mi album personal o agregar el album completo (el album se visualiza en el frame1) a mi album personal, respectivamente...
En el caso de no estar logeado aún, se presenta una ventana emergente temp.php que da una presentación e invita o a registrarse en el sitio (registrarse.php) o a iniciar la sesión (sesion.php, nótese que es la misma ventana que salta desde el frame2, y que en este momento es "nieta" de principal)
Pues, en código, lo resolví en temp.php así:
1.- almaceno en una variable el nombre de archivo del script ejecutándose actualmente.
2.- almaceno en una variable, sí voy a guardar la foto o el album
Código PHP:
$_SESSION['cadena']=$_SERVER['PHP_SELF'];
$_SESSION['guardar']=$_REQUEST[guardar];
En sesion.php:
1.- averigu de dónde viene la llamada a sesion.php
2.- una vez iniciada la sesión, refresco principal.php, cierro temp.php y cierro sesion.php
3.- el gran problemon:
3.1- si viene de frame3, averiguo qué es lo que voy a guardar, foto o album
3.2.- si viene de frame2, refresco principal.php y cierro sesion.php
Código PHP:
$cadena=$_SESSION['cadena'];
$cadena2="sesion2";
$pos=strpos($cadena, $cadena2);
if ( !empty($pos) ) {
echo "<script language=\"JavaScript\" type=\"text/javascript\">";
echo "window.opener.opener.parent.top.location.reload();";
echo "window.opener.close();";
echo "window.close();";
if ($_SESSION['guardar']===f)
echo "window.open(\"privado.php\", \"privado\", \"width=350, height=150, left=350, top=300\")";
elseif ($_SESSION['guardar']===a)
echo "window.open(\"aprivado.php\", \"privado\", \"width=350, height=150, left=350, top=300\")";
echo "</script>";
} else {
echo "<script language=\"JavaScript\" type=\"text/javascript\">";
echo "window.opener.parent.top.location.reload();";
echo "window.close();";
echo "</script>";
}
y bueno, obviamente hay cosas no descritas de las acciones del script, pero no vienen al caso...
Gracias a todos, y pendientes...