muchas gracias por la respuesta jpcw.
la verdad es que si que se hacer validaciones a traves del php y comprobar cuando un usuario esta registrado y autorizado para acceder a una zona de la web, incluso formada por varias paginas, eso no es un problema para cualquiera que controle minimamente el mysql y php y tengo mis scripts preparados para validar, comprobar y restringir y las dos versiones de la web, la de administrador dentro de un mismo archivo junto a su homologa en invitado. lo unico que queria era minimizar el coste en clicks para que los administradores pudieran cambiar del modo admin al modo user de una forma rapida y sencilla, automatizando todo lo mas posible, pero ya vere como lo soluciono.
en cuanto a los frames, se pueden usar perfectamente junto a css, no estan para nada reñidos y se complementan estupendamente. si con lo de las CSS te refieres a los elementos float y tal, es una solucion alterativa, si, no digo que no, pero la direferencia es que cada vez que te vas a una pagina nueva, tienes que recargar TODO si usas los float y para clientes que navegan con una conexion lenta, eso puede ser motivo suficiente para dejar de ver la web. usando frames solo se carga una parte de la web, mientras que el resto permanece inalterable y por lo tanto mejorando la velocidad. en cuanto a lo de no reescribir codigo, se como utilizar los archivos *.php, *.inc, etc, que me sirven como librerias (disculpa por la analogia con el C) y asi unicamente llamar a las funciones cada vez que quiera meter el codigo. si uso frames es por la razon que he diho antes, porque asi no tengo que llamar y volver a cargar un codigo que no ha cambiado y ESO es la programacion mas inteligente a mi parecer, en la que optimizas los recursos.
con respecto a lo de validar en distintas pantallas, es por un intento de combiar la modularidad de mis codigos con que en un futuro sean entenibles para mi, porque si hago un archivo insertar.php que pide los datos, otro insert.php que los comprueba y un ins.ph que los introduce, al final, despues de un año sin mirar ese codigo, no recuerdo que hacia cada uno y cualquira que haya hecho una web un poco grande, sabe la cantidad de archivos que se generan y el lio que se monta...asi que y prefiro reducirlo un poco para mi y hacer en un mismo archivo la peticion, comprobacion e insercion de los datos y asi se que ese archivo es el que se encarga de una cosa determinada. quizas sea un codigo mas largo y que cueste un poco mas entederlo para alguien que no este acosumbrado, pero a mi me soluciona temas de claridad y esquemas mentales de la web, asi que una afirmacion como la de "es un error" me resulta bastante categorica.
por ultimo y como conclusion, eso de que los frames son malos y feos para hacer aplicaciones decentes... tiene muchisimos peros, pero yo me quedare con el de que hay que ser suficientemente inteligente como para discernir cuando debes emplear una herramienta de programacion y cuando otra, en ello consiste tambien el saber programar, en utilizar el recurso mas adecuado de tooodos los que conocemos en cada caso.
AQUI OS PONGO UN EJEMPLO DE USO DE FRAMES PARA UNA GALERIA EN PHP Y HTML.
esta galeria es llamada desde una zona donde se muestran los proyectos de una empresa y clickeando sobre uno de ellos pasa aqui. fijaos que poco codigo y que sencillo de entender: son tres archivos
frames.php
Código :
<html>
<head>
</head>
<?php
$var=$_GET['id_img'];
echo '
<frameset cols="158,*" frameborder="0" framespacing="0" border="0">
<frame name="" src="visualizador.php?id_img='.$var.'" marginwidth="0" marginheight="0" scrolling="no">
<frame name="main" src="img_grande.html" marginwidth="0" marginheight="0" scrolling="auto">
</frameset><noframes></noframes>
';
?>
</html>
visualizador.php
Código :
<html>
<head>
</head>
<body bgcolor="#F3FDE5">
<?php
include "conecta.php";
$c=conexion();
$cons="select * from lfaimagen where id_proy=".$_GET['id_img'];
$res=mysql_query($cons,$c);
echo '<br><br><table border="0" align="center">';
while ($aux=mysql_fetch_row($res))
{
echo '<tr><td><a href="img_grande.php?id='.$aux[0].'" target="main"><img src="'.$aux[2].'" height="100" width="125"></a></td></tr>';
}
echo '</table>';
//
?>
</body>
</html>
img_grande.php
Código :
<html>
<head>
</head>
<body bgcolor="#F4FDE5">
<?php
include "conecta.php";
$c=conexion();
$cons="select url from lfaimagen where id=".$_GET["id"];
$res=mysql_query($cons,$c);
$aux=mysql_fetch_row($res);
echo '<table align="center"><tr><td><img src="'.$aux[0].'"></td></tr></table>';
?>
</body>
</html>
me parece que este codigo nos ahorra tener que cargar cada vez las miniaturas de la izquierda y no veo que problemas puede dar, funciona genial y muy rapido, es compatible en cualquier navegador y ahorrara al usuario un tiempo de espera de carga de miniaturas cada vez que clickee sobre una. quiero recordar que esto tambien se puede hacer con JS, XML, flash y con mil aplicaciones mas, pero tambien se puede hacer con frames y MUY poco codigo. del flash dijeron lo mismo, lo demonizaron y lo calumniaron y a dia de hoy muchos desarolladores todavia se resisten a aprenderlo, parece una rabieta de niños pequeños. cada cosa tiene sus ventajas y sus inconvenientes y NO debemos dejar de usar una cosa por sus inconvenientes y emplear solo una herramienta por sus ventajas, debemos darnos cuenta de que NO existe la herramienta universal. es MUY posible que este confundido, todos no equivocamos y yo quiero aprender cada dia, pero ninguno de vosotros todavia me ha dado una razon autentica para demostrarme mi error. decidme cuado fallan y ademas os dire que en esos casos no se deben usar, estan para lo que estan y
no son una solucion universal.
PD: no argumenteis con esto es malo o no debes usar esto, porque esos no son argumentos, son opiniones que DEBEN ser argumentadas. tampoco me gusta que la gente de por supuesto que no se programar o que no conozco las sintaxis de html,css, php, mysql, AS2, XML, JS, etc, solo porque decido emplear frames. la condescendencia es humillante para quien la padece. cautela
por mi parte doy por cerrado el post
si alguien tiene una opinion que dar, sera bienvenida, escuchada y debatida y si encima aprendemos algo, mejor que mejor
un saludo a todos