Foros del Web » Programando para Internet » PHP »

Rediseñar funcionalidad de js con php

Estas en el tema de Rediseñar funcionalidad de js con php en el foro de PHP en Foros del Web. Saludos. Tengo la siguiente situación: principal.php contiene frame1.php, frame2.php y frame3.php frame1.php muestra una colección de fotos de un evento en particular, a seleccionar previamente. ...
  #1 (permalink)  
Antiguo 01/11/2005, 07:51
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Rediseñar funcionalidad de js con php

Saludos. Tengo la siguiente situación:

principal.php contiene frame1.php, frame2.php y frame3.php

frame1.php muestra una colección de fotos de un evento en particular, a seleccionar previamente.
frame2.php muestra in formación del evento, y el número de la foto en detalle (frame3.php), así mismo, muestra dos enlaces que abren una ventana emergente cada uno (mientras los diseñadores hacen los botones.gif o .jpg), uno para iniciar la sesión como usuario registrado (sesion.php) y otro para registrarse (registro.php). Una vez iniciada la sesión, se recarga principal.php, así como también, estos dos enlaces cambian por otros enlaces de manipulación del album personal (compuesto por fotos del sitio) tales como agregar, eliminar, finalizar sessión, entre otros.
frame3.php muestra una foto en detalle del evento que se está visualizando en ese momento, acompañada por flechas de "paginación" derecha - izquierda.

Me han pedido que agregue un enlace para agregar una foto, aún sin estar logeado. Lo que pensé fue, enlace de 'agregar foto' que despliegue una ventana emergente (temporal.php), muestre información del sitio, y dos los mismos dos enlaces de frame2.php, sesion.php y registro.php

Lo implementé de la siguiente forma,
sí agregar_foto viene de temporal.php debe abrir sesion.php, permitir el inicio de sesión, el refresco de principal.php y la inserción en la BD de la foto respectiva,
si agregar_foto viene de frame2.php, se mantiene igual.

La diferencia viene por la relación de padre-hijo-nieto en las ventanas emergentes, y el método para recargar, los valores de las páginas. Lo hice con js, pero me da problemas de compatibilidad entre navegadores y SOs. Muestro lo que hice,

en frame3.php, y en caso de no estar logeado,
Código HTML:
<A href="temporal.php?guardar=t" target="popup" onclick='window.open("", "popup","")';> 
en temporal.php,
Código PHP:
<?php
session_start
();
$_SESSION['cadena']=$_SERVER['PHP_SELF'];
$_SESSION['guardar']=$_REQUEST[guardar];
?>
Asumiendo que el usuario existe, y elige el enlace para iniciar sesión, en 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']===t)
echo 
"window.open(\"privado.php\", \"privado\", \"\")";
echo 
"</script>";

Esto está diseñado en Debian Linux, con Quanta Plus, y probado en Firefox. Funciona perfectamente, pero al revisar en otros navegadores, y en otros SOs, funciona mal o no funciona. Entendiendo que el problema es por la mala estandarización del javascript, quisiera buscar otro diseño que incluya la menor cantidad de js posible, y fortalecer el PHP, pero no me viene nada a la mente.

Cualquier idea será bienvenida.
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 02/11/2005, 05:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si trabajas con frames .. la sólución es Javascript .. PHP no interviene para nada en el proceso, recuerda que se ejecuta en el lado del servidor.

Lo que podrías hacer es NO usar frames para nada con las consiguientes recargas de página al cargar contenido en alguna de las partes de tu página destinada a ello (tal cual se hace con las técnicas de "web modulares").

Por otro lado, lo que podrías hacer es consultar en los foros de javacript por el código que usas ahora para hacerlo más compatible con otros navegadores. En Javascript se estila mucho "identificar" al navegador para "tirarle" la sentena/objeto idoneo .. Como ya sabes no todos los navegadores interpretan de la misma forma el mismo código javascript.

Un saludo,

PD: si preguntas en el foro de javascript .. toma el código HTML/javacript generado de tus páginas PHP .. no les pongas el "PHP" tal cual aquí lo pusistes, recuerda que ellos no han de saber nada de PHP o hacerse una idea de como quedaría .. lo mismo que gente que domine PHP ha de saber de problemas de javascript.
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 10:12.