En la clase de hoy vamos a ver puntualmente un administrador de categorÃas para nuestro sitio. Vamos a necesitar las mismas para que las diferentes publicaciones de nuestro blog se puedan ubicar en diferentes categorÃas como pueden ser: editorial, talleres, noticias, etc.
Para ello primero vamos a ver como hacer que el administrador del sitio sea únicamente para los usuarios con el tipo "admin" y luego veremos cómo hacer un ABM de categorÃas, es decir, Altas, Bajas Modificaciones de las mismas.
Panel de admin exclusivo para admines
Dentro de la carpeta admin ahora vamos a agregar un archivo "index.php" al que sólo podrán acceder los administradores del sitio, y el cual contendrá el menú para actualizar nuestro sitio.
admin/index.php
-
// iniciamos session
-
-
// archivos necesarios
-
require_once 'config.php';
-
require_once 'conexion.php';
-
require_once 'esUsuario.php';
-
-
// obtengo puntero de conexion con la db
-
$dbConn = conectar();
-
-
// verificamos que no este conectado el usuario
-
$arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );
-
}
-
-
// verificamos que sea un admin
-
die;
-
}
-
-
?>
-
<h1>Blog Personal</h1>
-
Bienvenido - <a href="../index.php?salir=true">Salir</a>
-
<ul>
-
<li><a href="categorias.php">Administrar CategorÃas</a></li>
-
</ul>
Al igual que en el index del home de nuestro blog, tenemos el inicio de session, el llamado a los archivos necesarios y el puntero a la conexión de base de datos (última vez que comento esto, ya que va a estar en todos nuestros archivos lo doy por sentado a partir de ahora).
Luego si tenemos session completamos un array con los datos del usuario logueado y finalmente abajo preguntamos si el array esta vacÃo o no es un administrador, en caso de que esta condición se cumpla, quiere decir que, o no estoy logueado o soy un usuario común, por lo que no deberÃa tener acceso a esta sección, entonces en ese caso, redireccionamos al home de nuestro sitio.
Eso es todo lo que vamos a tener de php en nuestro index del panel de control, más abajo, en el html tenemos la bienvenida al usuario y el enlace con la opción de salir que apunta directamente al home del blog, que es donde tenemos el condicional que pregunta si tenemos la variable get salir. Siempre debe apuntar a ese archivo. Por ahora como opciones en nuestro menú agregamos el administrador que categorÃas que es lo que vamos a empezar a ver hoy.
Por el momento nuestro archivo de categorÃas va a tener lo siguiente:
admin/categorias.php
-
// iniciamos session
-
-
// archivos necesarios
-
require_once 'config.php';
-
require_once 'conexion.php';
-
require_once 'esUsuario.php';
-
-
// obtengo puntero de conexion con la db
-
$dbConn = conectar();
-
-
// verificamos que no este conectado el usuario
-
$arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );
-
}
-
-
// verificamos que sea un admin
-
die;
-
}
-
-
// agregamos una categoria en la db
-
// si se envio el formulario
-
-
// definimos las variables
-
-
// completamos la variable error si es necesario
-
-
// si no hay errores registramos al usuario
-
-
// inserto los datos de registro en la db
-
$query = "INSERT INTO `categorias` (valor) VALUES ('$nombre')";
-
-
die;
-
-
}
-
-
}
-
-
// traemos listado de categorias
-
$query = "SELECT idCategoria, valor FROM `categorias` ORDER BY valor ASC";
-
}
-
-
?>
-
<h1>Blog Personal</h1>
-
Bienvenido - <a href="index.php">Panel de control</a> - <a href="../index.php?salir=true">Salir</a>
-
<h2>CategorÃas</h2>
-
<div style="border: 1px solid #ff8800; padding: 5px; background-color: #fdfdfd; width: 90%;">La categorÃa se agregó con éxito.</div>
-
<div>
-
<h3>Listado de CategorÃas</h3>
-
<table style="border: 1px solid #cccccc; padding: 5px; width: 90%;" border="0">
-
<tbody>
-
<tr>
-
<th style="background-color:#cccccc;padding:5px;">id</th>
-
<th style="padding: 5px; width: 90%; background-color: #cccccc;">categorÃa</th>
-
<th style="padding: 5px; background-color: #cccccc; width: 10%;"></th>
-
</tr>
-
<tr>
-
<td style="padding:5px;"></td>
-
<td style="padding:5px;"></td>
-
<td style="padding:5px;"><a href="categorias.php?id=<? echo $categoria['idCategoria']; ?>">Editar</a> - <a href="categorias.php?del=<?= $categoria['idCategoria'] ?>">Borrar</a></td>
-
</tr>
-
</tbody></table>
-
</div>
-
<div>
-
<h3 id="add">Agregar nueva categorÃa</h3>
-
<form action="categorias.php" method="post"><label for="nombre">Nombre de la categorÃa</label>
-
-
<input name="nombre" type="text" /> <input name="submit" type="submit" value="Agregar" /> </form></div>
Al igual que como vimos en el index del panel de admin, en este caso tambien verificamos que sea un administrador el usuario logueado, o si no redireccionamos al home del blog. Esta verificación la vamos a tener a lo largo de todos nuestros archivos dentro del panel de admin.
Luego tenemos la comprobación de si se envió el formulario para agregar nuevas categorÃas a nuestro sitio. Las comprobaciones son muy similares a las que usamos en la registración del usuario.
Finalmente tenemos una consulta a la base de datos para mostrar todas las categorÃas existentes hasta el momento. Con array_push, que se encuentra dentro del while que va trayendo todos los resultados, vamos agregando los datos de la db en el array que se llama $arrCategorias.
El mismo es recorrido dentro de la tabla que se encuentra en la parte del html para mostrar los resultados.
Bueno, eso es todo por hoy, la semana que viene vemos como editar y borrar las categorÃas y les paso el adjunto de los archivos incluyendo el abm de categorÃas. Saludos.
| << CLASE ANTERIOR |








Martes, 7 de Octubre de 2008 a las 14.00
Agrego un datito para que no les falle la carga de las paginas que aqui detalla Justi.
Agreguen una linea al principio de cada uno de estos archivos y pongan lo siguiente:
<?
Esa linea lo que hace es abrir el codigo PHP.
Muy buen tuto Justi, Felicitaciones.
Martes, 7 de Octubre de 2008 a las 23.43
Hola amisgos de elwebmaster.com... en especial al profe justi jeje
Creo que deberian hacer una reforma del pensum academico de mi universidad... bueno pero eso esta fuera del tema...
Bueno mi pregunta es que IDE o programa usan para editar, compilar y ejecutar el codigo php aqui expuesto, ya que e bajado el xammp, pero no viene con lo que les escribi anteriormente, me gustaria que me ayudaran sino es mucha molestia... Ah y felicitaciones por su taller, aunque recien voy por las primeras clases ya que aunque paresca de Ripley soy egresado de ingenieria de sistemas y nunca me dieron php un lenguage muy versatil, potente y lo mejor de todo gratis..
esperando su pronta respuesta, un saludo a la distancia y muchos exitospara todos ustedes.
Att. edi
Miércoles, 8 de Octubre de 2008 a las 10.12
Hola Edison H. Te comento que podes usar cualquier editor de texto plano y luego guardar tus archivos con la extension .php. Para usar el xampp existe en este mismo blog un articulo, te recomiendo que lo leas, ya que los scripts no se ejecutan asi nomas...http://www.elwebmaster.com/articulos/xampp-servidor-web-facil-de-instalar
Viernes, 10 de Octubre de 2008 a las 14.37
Hola Edison, lo que respondio kp esta perfecto, no se necesita ninguna ide especial para trabajar con PHP, con un notepad alcanza, de todas formas hay algunas muy potentes, una de ellas es Zend Studio para Eclipse (es paga) y sino gratuita se puede utilizar Eclipse con extensiones para PHP.
Viernes, 10 de Octubre de 2008 a las 15.25
hola estoy recien empezando a ver tus clases y me parecen muy buenas pero tengo un pequeño problema ya intale xampp y el sqlyog tb lo tengo wamp.
el problema es cuando quiero vizualizar en explorer al ponerle localhost no puedo vizualizar lo q hize en el php dreamweaver por favor si me pudieras ayudar exactamente donde es lo q se tiene q guardar porfa...
Viernes, 10 de Octubre de 2008 a las 15.37
si alguien tuviera el intalador de sqlyog
Martes, 28 de Abril de 2009 a las 05.43
Super-Duper sitio! Me encanta! Volveré de nuevo - que lo alimenta también, Gracias.
Viernes, 4 de Septiembre de 2009 a las 05.04
Como estan? Solo quisiera saber de que manera acceder al panel de control (backend) ya que intento acceder tecleando en el navegador /admin/index.php pero me redirecciona al home del frontend. No se de que manera agregar un administrador. Les ruego sacarme de dudas. Muchas gracias!
Lunes, 7 de Septiembre de 2009 a las 13.30
@alejandro seguramente en la base de datos no te marcaste como "admin" por eso te redirecciona.
Martes, 8 de Septiembre de 2009 a las 15.59
Gracias por tu respuesta Justi! Problema solusionado. Quisiera saber si puedes orientarme sobre como hacer un sistemita (frontend-backend) o adaptar este, para que los clientes al entrar con login y pass, puedan acceder a su perfil individual y encontrar info sobre su proxima cita, precio, etc. Desde ya muchas gracias!
Miércoles, 22 de Septiembre de 2010 a las 20.31
Gracias por este taller, me esta siendo de gran utilidad.
Mi primer problema es que no se agrega la categorÃa cuando aprieto en el botón "Agregar" a pesar de que aparece el texto "La categorÃa se agregó con éxito." No aparece listada ninguna categorÃa y en phpMyadmin he podido comprobar que tampoco se ha agregado.
¿Alguien sabe porque sucede esto?
Miércoles, 3 de Noviembre de 2010 a las 17.44
Hola, Ya se que esto se publico hace mucho, agradezco mucho este taller, llevo como unh año buscando algo asi, perooooooooo... me di de alta como administrador y no me redirecciona a la pagina de administrador, es mas me dice que la contraseña o el usuario no coinciden, pero ya cheque y si los puse bien
Viernes, 12 de Noviembre de 2010 a las 08.37
Muy buenas y felicitaciones por tu web antes de nada. Me ha surgido un pequeño problema y es que en tu lÃnea 13 de los dos archivos /admin/index.php y /admin/categorias.php el navegador me indica que da un error de sintaxis ';' . Por mas que lo miro no consigo ver que es lo que falla.. He releido el codigo, he vuelto a copiar el tuyo por si hubiese borrado algo sin querer, pero sigue siendo esta misma lÃnea en los dos:
if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
Si me ayudases.. Gracias por adelantado y felicitaciones de nuevo!
Viernes, 12 de Noviembre de 2010 a las 08.44
Te reescribo de nuevo para confirmarte la solución... escribiendo tu archivo tal cual a esa lÃnea lo que habÃa que hacerle era quitarle el código de los "&" y poner los dos directamente, de todas formas gracias ^^
Martes, 15 de Marzo de 2011 a las 17.11
Hola tengo un duda y espero que me la resolváis, esta lÃnea
es para identificar al usuario como administrador yo quiero saber si es posible hacer que se pueda identificar a varios tipos de admin para que cada uno vea una cosa diferente en el panel de administración, como lo hago?
Gracias.
Martes, 15 de Marzo de 2011 a las 17.12
Hola tengo un duda y espero que me la resolváis, esta lÃnea
""
es para identificar al usuario como administrador yo quiero saber si es posible hacer que se pueda identificar a varios tipos de admin para que cada uno vea una cosa diferente en el panel de administración, como lo hago?
Gracias.
Martes, 15 de Marzo de 2011 a las 17.13
Hola tengo un duda y espero que me la resolváis, esta lÃnea
if ( $arrUsuario['tipo'] == 'admin' ) {
es para identificar al usuario como administrador yo quiero saber si es posible hacer que se pueda identificar a varios tipos de admin para que cada uno vea una cosa diferente en el panel de administración, como lo hago?
Gracias.
Lunes, 12 de Septiembre de 2011 a las 02.41
diskulpen la molestias peor kual es el archivo sql o de que manera quedaria la base de datos ??
Viernes, 16 de Diciembre de 2011 a las 13.43
hola justi tengo el mismo problema que javi, pero implemente su solucion pero no me funciona.. si podrias darme una mano. por si te sirve de algo uso php 5.3.8
Gracias de ante mano..