Buenos días:
Estoy desarrollando la parte de administración de una web y me han surgido una serie de dudas, que espero podías resolverme, puesto que aún se me escapan muchas cosillas de PHP, ya que no llevo mucho tiempo con ello.
Os pongo en antecedentes y os comento la idea 'global'. La web es para una empresa familiar, en la que tenemos una serie de clientes, a los que queremos darle la posibilidad de acceder a una zona privada, donde puedan descargarse documentación y modificar su ficha de cliente. Por otra parte, nosotros poder 'administrar', tanto la documentación subida al servidor, como la BB.DD. de clientes.
Una vez comentada la 'foto' de lo que sería el proyecto, entro en los pormenores, que separo en 'Dudas de maquetación', por decirlo de una manera, y en 'Dudas de código'.
1.- Dudas de maquetación:
1.1 La web está ya diseñada y la intención es que la 'parte privada' no sea diferente a la pública, simplemente muestre un menú nuevo e incluya la capa de seguridad, así como todo lo referente a las sesiones. Para ello, lo que he hecho, ha sigo crear un 'index.php', que muestra la web sin estar conectado y a partir de éste, he creado un 'index2.php', en el que se diferencia únicamente en que carga la capa de seguridad. La duda es si esta sería la forma más correcta de hacerlo.
1.2 Por otra parte, cuando carga el 'index2.php', en la capa donde se muestran los contenidos hace un 'include' de un fichero llamado 'switch2.php', que es igual que el del 'index1.php', pero con los nuevos enlaces.
2.- Dudas de código:
2.1 La BB.DD. de clientes, va a estar previamente cargada en la web, con lo que no necesitan registrarse como tal, aunque sí he creado un campo 'estado', con valores '0' y '1', que define si el cliente está activo o no. Para activar el usuario y evitar problemas con la protección de datos, la idea es que cuando accedan la 1ª vez, deben aceptar un contrato y demás rollos. La duda es que no estoy seguro de cómo hacerlo, ya que el usuario está registrado y con clave en BB.DD. En principio he pensado crear una clave genérica para cada usuario, de manera que se accede con su login y pass y si el campo estado está a '0', le obliga a leer el acuerdo o contrato de acceso, para el tema de la LOPD y en el momento en que acepta, ya le cambia el estado a '1' y no le volvería a salir. Mientras el cliente no active su cuenta, no debería pasar al 'index2.php', al no estar logado. Vale, pues esta es la idea y no estoy seguro de si se puede hacer o no, que compruebe el campo 'estado', si es '== 0', entonces, muestra el acuerdo y no hace el login, mientras que si '== 1', va directamente a 'login.php' o como finalmente se llame ¿Esto se podría hacer así?
2.2 Por más que leo en foros, no me queda muy claro el tema de cómo mostrar ciertos elementos a usuarios según perfil. Esto enlaza con el tema del archivo 'switch2.php' que comentaba anteriormente, en el que habilito ciertos enlaces. Creo que no es la mejor forma de hacerlo, el que al cargar el 'index2.php', cargue un nuevo switch, pero no estoy seguro de cómo hacerlo.
Bueno, pues después de este super-rollo, espero que podáis al menos orientarme un poco.
Muchas gracias.