<p dir="ltr">Hola profe! Mañana por la tarde le mando la tesis terminada, con todo funcionando, sin errores!! ☺<br>
Saludos!</p>
<div class="gmail_quote">El jul 6, 2016 9:35 PM, "Leonardo Tadei - Pegasus Tech Supply" <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>> escribió:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola Martín,<br>
<br>
te respondo intercalado y al final te agrego "una animalada" que no<br>
había visto y comentaste en un mail pasado:<br>
<br>
<br>
El mar, 05-07-2016 a las 22:06 -0300, Martin Urciuoli escribió:<br>
> Profe esta version tiene lo de sesiones y la abm tiene los erroes de<br>
> la version 5 que le dije no mirara.<br>
<br>
Pero si yo no los miro! Es PHP el que me los pone en naranja fluo<br>
adelante de los ojos!<br>
<br>
> Osea los errores que le detalle antes.<br>
> Errores que se me presantoron :<br>
> 1.- Categoría : una vez creada no puedo refrescar la pagina para que<br>
> se actualize el menu.<br>
> Usé header("Location:menuCategorias.php"); pero me tira<br>
> errores.<br>
<br>
Para que header() funcione, no tiene que haber ninguna salida previa.<br>
Recordá (o releé el apunte) que el protocolo HTTP distingue las<br>
cabeceras del contenido por una línea en blanco, así que si después de<br>
cualquier contenido emitido hacés header(), no tiene que funcionar<br>
porque la cabecera del documento ya terminó.<br>
En resumen, header() y por ende session_*() funcionan solo antes de que<br>
se genere cualquier salida.<br>
<br>
> 2.- Cuando quiero cerrar sesion tengo que apretar dos veces "salir"<br>
> para cerrar sesion.<br>
<br>
Esto lo tengo que debugeear para ver por qué es... posiblemente esté<br>
relacionado con lo anterior: estás haciendo las cosas después de<br>
mostrarlas por pantalla en vez de antes, así que el final del script<br>
cierra la sesión pero para el principio todavía no está cerrada.<br>
<br>
> 3.- La sesion del administrador (osea la contraseña la pongo en la bd<br>
> o en alguna otra parte).<br>
<br>
Bueno, la sesión NO ES la contraseña, pero se entiende.<br>
Por lo que preguntás no definiste de ninguna manera a los usuarios que<br>
gestionan el contenido... como el admin/ está en un directorio aparte,<br>
la forma más simple es crear un htaccess y ponerle un usuario y<br>
contraseña para que Apache se encargue (como en PHP Inicial)<br>
Lo mejor sería tener guardados administradores a los que se les pueda<br>
hacer un ABM, pero no creo que tengas tiempo de implementar esto :-(<br>
<br>
> 4.- como evito que se pueda entrar a area de administracion si no se<br>
> esta logueado como admin.<br>
<br>
Respondido arriba!<br>
<br>
> Puse este codigo que lo tengo en sesiones.php<br>
><br>
><br>
> <?php<br>
> if(session_start() != NULL){<br>
> if(isset($_POST['salir'])){<br>
> session_destroy();<br>
> }<br>
> if (isset($_SESSION["nick"])) {<br>
> if ($_SESSION["nick"]!="admin" ) {<br>
> header("Location:../../index.php") ;<br>
> exit();<br>
> }<br>
> }<br>
> }else{<br>
> header("Location:../../index.php");<br>
> exit();<br>
> }<br>
> ?><br>
<br>
Bueno... empezamos con que siempre se entra al IF, porque<br>
session_start() nunca es NULL.<br>
Después, antes del session_destroy(), poné en vacío el nombre de<br>
usuario y la clave en la sesión, o haceles un unset(), porque la página<br>
siguiente cuando haga un session_start() va a encontrar de nuevo los<br>
datos porque la cookie con la sesión ya fue enviada. Luego la próxima<br>
carga de la página la borra, porque al cargar dejó de transmitir la<br>
cookie con la sesión anterior que todavía era válida.<br>
(y yo que me maté haciendo un ejemplo simple de AAA con sesiones al que<br>
solo hay que llamarlo al principio de cada archivo... sniff)<br>
<br>
Ahora, la animalada: tenés que generar el menú con las categorías<br>
leyendo de los datos en la tabla! No creando un archivo estático con los<br>
URLs!<br>
Me refiero al contenido de menugral.php. No lo vi antes porque ni se me<br>
cruzó por la imaginación que podrías estar creando un menú generando un<br>
archivo estático en vez de generarlo con una query... con el agravante<br>
de que generás el archivo haciendo una query!<br>
Hacé que menugral.php haga una query a las categorías y en un foreach<br>
generá los <LI> para que el menú exista.<br>
<br>
> Saludos!<br>
<br>
=mente<br>
<br>
--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
Web: <a href="http://leonardo.tadei.com.ar" rel="noreferrer" target="_blank">http://leonardo.tadei.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" rel="noreferrer" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Lista de correo: Php-avanzado<br>
Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
Administración Web: <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
Desubscripción: <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br>
</blockquote></div>